Bind wlr_cursor

This commit is contained in:
Isaac Freund 2020-10-14 18:05:41 +02:00
parent 6aa98baca9
commit 58c7890a9f
No known key found for this signature in database
GPG key ID: 86DED400DDFD7A11
2 changed files with 85 additions and 0 deletions

84
src/types/cursor.zig Normal file
View file

@ -0,0 +1,84 @@
const wlr = @import("../wlroots.zig");
const wayland = @import("wayland");
const wl = wayland.server.wl;
pub const Cursor = extern struct {
pub const State = opaque {};
state: *state,
x: f64,
y: f64,
events: struct {
motion: wl.Signal,
motion_absolute: wl.Signal,
button: wl.Signal,
axis: wl.Signal,
frame: wl.Signal,
swipe_begin: wl.Signal,
swipe_update: wl.Signal,
swipe_end: wl.Signal,
pinch_begin: wl.Signal,
pinch_update: wl.Signal,
pinch_end: wl.Signal,
touch_up: wl.Signal,
touch_down: wl.Signal,
touch_motion: wl.Signal,
touch_cancel: wl.Signal,
tablet_tool_axis: wl.Signal,
tablet_tool_proximity: wl.Signal,
tablet_tool_tip: wl.Signal,
tablet_tool_button: wl.Signal,
},
data: ?*c_void,
extern fn wlr_cursor_create() ?*Cursor;
pub const create = wlr_cursor_create;
extern fn wlr_cursor_destroy(cur: *Cursor) void;
pub const destroy = wlr_cursor_destroy;
extern fn wlr_cursor_warp(cur: *Cursor, dev: ?*wlr.InputDevice, lx: f64, ly: f64) bool;
pub const warp = wlr_cursor_warp;
extern fn wlr_cursor_absolute_to_layout_coords(cur: *Cursor, dev: ?*wlr.InputDevice, x: f64, y: f64, lx: *f64, ly: *f64) void;
pub const absoluteToLayoutCoords = wlr_cursor_absolute_to_layout_coords;
extern fn wlr_cursor_warp_closest(cur: *Cursor, dev: ?*wlr.InputDevice, x: f64, y: f64) void;
pub const warpClosest = wlr_cursor_warp_closest;
extern fn wlr_cursor_warp_absolute(cur: *Cursor, dev: ?*wlr.InputDevice, x: f64, y: f64) void;
pub const warpAbsolute = wlr_cursor_warp_absolute;
extern fn wlr_cursor_move(cur: *Cursor, dev: ?*wlr.InputDevice, delta_x: f64, delta_y: f64) void;
pub const move = wlr_cursor_move;
extern fn wlr_cursor_set_image(cur: *Cursor, pixels: [*c]const u8, stride: i32, width: u32, height: u32, hotspot_x: i32, hotspot_y: i32, scale: f32) void;
pub const setImage = wlr_cursor_set_image;
extern fn wlr_cursor_set_surface(cur: *Cursor, surface: ?*wlr.Surface, hotspot_x: i32, hotspot_y: i32) void;
pub const setSurface = wlr_cursor_set_surface;
extern fn wlr_cursor_attach_input_device(cur: *Cursor, dev: *wlr.InputDevice) void;
pub const attachInputDevice = wlr_cursor_attach_input_device;
extern fn wlr_cursor_detach_input_device(cur: *Cursor, dev: *wlr.InputDevice) void;
pub const detachInputDevice = wlr_cursor_detach_input_device;
extern fn wlr_cursor_attach_output_layout(cur: *Cursor, l: *wlr.OutputLayout) void;
pub const attachOutputLayout = wlr_cursor_attach_output_layout;
extern fn wlr_cursor_map_to_output(cur: *Cursor, output: *wlr.Output) void;
pub const mapToOutput = wlr_cursor_map_to_output;
extern fn wlr_cursor_map_input_to_output(cur: *Cursor, dev: *wlr.InputDevice, output: *wlr.Output) void;
pub const mapInputToOutput = wlr_cursor_map_input_to_output;
extern fn wlr_cursor_map_to_region(cur: *Cursor, box: *wlr.Box) void;
pub const mapToRegion = wlr_cursor_map_to_region;
extern fn wlr_cursor_map_input_to_region(cur: *Cursor, dev: *wlr.InputDevice, box: *wlr.Box) void;
pub const mapInputToRegion = wlr_cursor_map_input_to_region;
};

View file

@ -7,6 +7,7 @@ pub const Texture = @import("render/texture.zig").Texture;
pub const Box = @import("types/box.zig").Box;
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 Output = @import("types/output.zig").Output;
pub const OutputLayout = @import("types/output_layout.zig").OutputLayout;