mirror of
https://github.com/swaywm/zig-wlroots
synced 2024-09-29 05:36:47 +02:00
Finish binding wlr_data_device.h, clean up
This commit is contained in:
parent
efa8647a9f
commit
819136c893
4 changed files with 183 additions and 14 deletions
|
@ -1,2 +1,2 @@
|
|||
// TODO: fill in this definition
|
||||
const Egl = opaque {};
|
||||
pub const Egl = opaque {};
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
const wlr = @import("../wlroots.zig");
|
||||
|
||||
const wayland = @import("wayland");
|
||||
const wl = wayland.server.wl;
|
||||
|
||||
|
@ -16,3 +18,142 @@ pub const DataDeviceManager = extern struct {
|
|||
extern fn wlr_data_device_manager_create(server: *wl.Server) ?*DataDeviceManager;
|
||||
pub const create = wlr_data_device_manager_create;
|
||||
};
|
||||
|
||||
pub const DataOffer = extern struct {
|
||||
pub const Type = extern enum {
|
||||
selection,
|
||||
drag,
|
||||
};
|
||||
|
||||
resource: *wl.DataOffer,
|
||||
source: ?*DataSource,
|
||||
kind: Type,
|
||||
/// wlr.Seat.selection_offers, wlr.Seat.drag_offers
|
||||
link: wl.List,
|
||||
|
||||
actions: u32,
|
||||
preferred_action: wl.DataDeviceManager.DndAction,
|
||||
in_ask: bool,
|
||||
|
||||
source_destroy: wl.Listener,
|
||||
};
|
||||
|
||||
pub const DataSource = extern struct {
|
||||
pub const Impl = extern struct {
|
||||
send: fn (source: *DataSource, mime_type: [*:0]const u8, fd: i32) callconv(.C) void,
|
||||
accept: ?fn (source: *DataSource, serial: u32, mime_type: ?[*:0]const u8) callconv(.C) void,
|
||||
destroy: ?fn (source: *DataSource) callconv(.C) void,
|
||||
dnd_drop: ?fn (source: *DataSource) callconv(.C) void,
|
||||
dnd_finish: ?fn (source: *DataSource) callconv(.C) void,
|
||||
dnd_action: ?fn (source: *DataSource, wl.DataDeviceManager.DndAction) callconv(.C) void,
|
||||
};
|
||||
|
||||
impl: *const Impl,
|
||||
|
||||
mime_types: wl.Array,
|
||||
actions: i32,
|
||||
|
||||
accepted: bool,
|
||||
|
||||
current_dnd_action: wl.DataDeviceManager.DndAction,
|
||||
compositor_action: u32,
|
||||
|
||||
events: extern struct {
|
||||
destroy: wl.Signal,
|
||||
},
|
||||
|
||||
extern fn wlr_data_source_init(source: *DataSource, impl: *const Impl) void;
|
||||
pub const init = wlr_data_source_init;
|
||||
|
||||
extern fn wlr_data_source_send(source: *DataSource, mime_type: [*:0]const u8, fd: i32) void;
|
||||
pub const send = wlr_data_source_send;
|
||||
|
||||
extern fn wlr_data_source_accept(source: *DataSource, serial: u32, mime_type: ?[*:0]const u8) void;
|
||||
pub const accept = wlr_data_source_accept;
|
||||
|
||||
extern fn wlr_data_source_destroy(source: *DataSource) void;
|
||||
pub const destroy = wlr_data_source_destroy;
|
||||
|
||||
extern fn wlr_data_source_dnd_drop(source: *DataSource) void;
|
||||
pub const dndDrop = wlr_data_source_dnd_drop;
|
||||
|
||||
extern fn wlr_data_source_dnd_finish(source: *DataSource) void;
|
||||
pub const dndFinish = wlr_data_source_dnd_finish;
|
||||
|
||||
extern fn wlr_data_source_dnd_action(source: *DataSource, action: wl.DataDeviceManager.DndAction) void;
|
||||
pub const dndAction = wlr_data_source_dnd_action;
|
||||
};
|
||||
|
||||
pub const Drag = extern struct {
|
||||
pub const Icon = extern struct {
|
||||
drag: *Drag,
|
||||
surface: *wlr.Surface,
|
||||
mapped: bool,
|
||||
|
||||
events: extern struct {
|
||||
map: wl.Signal,
|
||||
unmap: wl.Signal,
|
||||
destroy: wl.Signal,
|
||||
},
|
||||
|
||||
surface_destroy: wl.Listener,
|
||||
|
||||
data: ?*c_void,
|
||||
};
|
||||
|
||||
pub const GrabType = extern enum {
|
||||
keyboard,
|
||||
keyboard_pointer,
|
||||
keyboard_touch,
|
||||
};
|
||||
|
||||
pub const event = struct {
|
||||
pub const Motion = extern struct {
|
||||
drag: *Drag,
|
||||
time: u32,
|
||||
sx: f64,
|
||||
sy: f64,
|
||||
};
|
||||
|
||||
pub const Drop = extern struct {
|
||||
drag: *Drag,
|
||||
time: u32,
|
||||
};
|
||||
};
|
||||
|
||||
grab_type: GrabType,
|
||||
keyboard_grab: wlr.Seat.KeyboardGrab,
|
||||
pointer_grab: wlr.Seat.PointerGrab,
|
||||
touch_grab: wlr.Seat.TouchGrab,
|
||||
|
||||
seat: *wlr.Seat,
|
||||
seat_client: *wlr.Seat.Client,
|
||||
focus_client: ?*wlr.Seat.Client,
|
||||
|
||||
icon: ?*Icon,
|
||||
focus: ?*wlr.Surface,
|
||||
source: ?*DataSource,
|
||||
|
||||
started: bool,
|
||||
dropped: bool,
|
||||
cancelling: bool,
|
||||
grab_touch_id: i32,
|
||||
touch_id: i32,
|
||||
|
||||
events: extern struct {
|
||||
focus: wl.Signal,
|
||||
motion: wl.Signal, // event.Motion
|
||||
drop: wl.Signal, // event.Drop
|
||||
destroy: wl.Signal,
|
||||
},
|
||||
|
||||
point_destroy: wl.Listener,
|
||||
source_destroy: wl.Listener,
|
||||
seat_client_destroy: wl.Listener,
|
||||
icon_destroy: wl.Listener,
|
||||
|
||||
data: ?*c_void,
|
||||
|
||||
extern fn wlr_drag_create(seat_client: *wlr.Seat.Client, source: ?*DataSource, icon_surface: ?*wlr.Surface) ?*Drag;
|
||||
pub const create = wlr_drag_create;
|
||||
};
|
||||
|
|
|
@ -444,4 +444,22 @@ pub const Seat = extern struct {
|
|||
|
||||
extern fn wlr_seat_validate_touch_grab_serial(seat: *Seat, origin: ?*wlr.Surface, serial: u32, point_ptr: *?*TouchPoint) bool;
|
||||
pub const validateTouchGrabSerial = wlr_seat_validate_touch_grab_serial;
|
||||
|
||||
extern fn wlr_seat_request_set_selection(seat: *Seat, client: ?*Seat.Client, source: ?*wlr.DataSource, serial: u32) void;
|
||||
pub const requestSetSelection = wlr_seat_request_set_selection;
|
||||
|
||||
extern fn wlr_seat_set_selection(seat: *Seat, source: ?*wlr.DataSource, serial: u32) void;
|
||||
pub const setSelection = wlr_seat_set_selection;
|
||||
|
||||
extern fn wlr_seat_request_start_drag(seat: *Seat, drag: *wlr.Drag, origin: *wlr.Surface, serial: u32) void;
|
||||
pub const requestStartDrag = wlr_seat_request_start_drag;
|
||||
|
||||
extern fn wlr_seat_start_drag(seat: *Seat, drag: *wlr.Drag, serial: u32) void;
|
||||
pub const startDrag = wlr_seat_start_drag;
|
||||
|
||||
extern fn wlr_seat_start_pointer_drag(seat: *Seat, drag: *wlr.Drag, serial: u32) void;
|
||||
pub const startPointerDrag = wlr_seat_start_pointer_drag;
|
||||
|
||||
extern fn wlr_seat_start_touch_drag(seat: *Seat, drag: *wlr.Drag, serial: u32, point: *TouchPoint) void;
|
||||
pub const startTouchDrag = wlr_seat_start_touch_drag;
|
||||
};
|
||||
|
|
|
@ -5,22 +5,32 @@ pub const Egl = @import("render/egl.zig").Egl;
|
|||
pub const Renderer = @import("render/renderer.zig").Renderer;
|
||||
pub const Texture = @import("render/texture.zig").Texture;
|
||||
|
||||
pub const AxisOrientation = @import("types/pointer.zig").AxisOrientation;
|
||||
pub const AxisSource = @import("types/pointer.zig").AxisSource;
|
||||
pub const Box = @import("types/box.zig").Box;
|
||||
pub const ButtonState = @import("types/input_device.zig").ButtonState;
|
||||
pub const matrix = @import("types/matrix.zig");
|
||||
|
||||
pub const Compositor = @import("types/compositor.zig").Compositor;
|
||||
pub const Cursor = @import("types/cursor.zig").Cursor;
|
||||
pub const DataDeviceManager = @import("types/data_device.zig").DataDeviceManager;
|
||||
pub const InputDevice = @import("types/input_device.zig").InputDevice;
|
||||
pub const Output = @import("types/output.zig").Output;
|
||||
pub const OutputLayout = @import("types/output_layout.zig").OutputLayout;
|
||||
pub const Pointer = @import("types/pointer.zig").Pointer;
|
||||
pub const Subcompositor = @import("types/compositor.zig").Subcompositor;
|
||||
|
||||
pub const Surface = @import("types/surface.zig").Surface;
|
||||
pub const Subsurface = @import("types/surface.zig").Subsurface;
|
||||
|
||||
pub const Seat = @import("types/seat.zig").Seat;
|
||||
pub const SerialRange = @import("types/seat.zig").SerialRange;
|
||||
pub const SerialRingset = @import("types/seat.zig").SerialRingset;
|
||||
pub const Subcompositor = @import("types/compositor.zig").Subcompositor;
|
||||
pub const Subsurface = @import("types/surface.zig").Subsurface;
|
||||
pub const Surface = @import("types/surface.zig").Surface;
|
||||
pub const TouchPoint = @import("types/seat.zig").TouchPoint;
|
||||
pub const matrix = @import("types/matrix.zig");
|
||||
|
||||
pub const InputDevice = @import("types/input_device.zig").InputDevice;
|
||||
pub const ButtonState = @import("types/input_device.zig").ButtonState;
|
||||
pub const Cursor = @import("types/cursor.zig").Cursor;
|
||||
|
||||
pub const Pointer = @import("types/pointer.zig").Pointer;
|
||||
pub const AxisOrientation = @import("types/pointer.zig").AxisOrientation;
|
||||
pub const AxisSource = @import("types/pointer.zig").AxisSource;
|
||||
|
||||
pub const DataDeviceManager = @import("types/data_device.zig").DataDeviceManager;
|
||||
pub const DataOffer = @import("types/data_device.zig").DataOffer;
|
||||
pub const DataSource = @import("types/data_device.zig").DataSource;
|
||||
pub const Drag = @import("types/data_device.zig").Drag;
|
||||
|
||||
pub const Output = @import("types/output.zig").Output;
|
||||
pub const OutputLayout = @import("types/output_layout.zig").OutputLayout;
|
||||
|
|
Loading…
Reference in a new issue