mirror of
https://github.com/swaywm/zig-wlroots
synced 2024-09-29 05:36:47 +02:00
Bind wlr_cursor
This commit is contained in:
parent
6aa98baca9
commit
58c7890a9f
2 changed files with 85 additions and 0 deletions
84
src/types/cursor.zig
Normal file
84
src/types/cursor.zig
Normal 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;
|
||||
};
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue