mirror of
https://github.com/swaywm/zig-wlroots
synced 2024-09-29 05:36:47 +02:00
tearing-control-v1: add bindings
This commit is contained in:
parent
3c2d29d17f
commit
e486223799
3 changed files with 51 additions and 0 deletions
|
@ -25,6 +25,7 @@ pub fn build(b: *std.Build) void {
|
|||
scanner.addSystemProtocol("staging/ext-session-lock/ext-session-lock-v1.xml");
|
||||
scanner.addSystemProtocol("unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml");
|
||||
scanner.addSystemProtocol("staging/cursor-shape/cursor-shape-v1.xml");
|
||||
scanner.addSystemProtocol("staging/tearing-control/tearing-control-v1.xml");
|
||||
|
||||
scanner.addCustomProtocol("protocol/wlr-layer-shell-unstable-v1.xml");
|
||||
scanner.addCustomProtocol("protocol/wlr-output-power-management-unstable-v1.xml");
|
||||
|
@ -48,6 +49,7 @@ pub fn build(b: *std.Build) void {
|
|||
scanner.generate("zwp_tablet_manager_v2", 1);
|
||||
scanner.generate("zwp_linux_dmabuf_v1", 4);
|
||||
scanner.generate("wp_cursor_shape_manager_v1", 1);
|
||||
scanner.generate("wp_tearing_control_manager_v1", 1);
|
||||
|
||||
scanner.generate("zwlr_layer_shell_v1", 4);
|
||||
scanner.generate("zwlr_output_power_manager_v1", 1);
|
||||
|
|
46
src/types/tearing_control_v1.zig
Normal file
46
src/types/tearing_control_v1.zig
Normal file
|
@ -0,0 +1,46 @@
|
|||
const wlr = @import("../wlroots.zig");
|
||||
|
||||
const wayland = @import("wayland");
|
||||
const wl = wayland.server.wl;
|
||||
const wp = wayland.server.wp;
|
||||
|
||||
pub const TearingControlV1 = extern struct {
|
||||
client: *wl.Client,
|
||||
link: wl.list.Link,
|
||||
resource: *wl.Resource,
|
||||
|
||||
current: wp.TearingControlV1.PresentationHint,
|
||||
pending: wp.TearingControlV1.PresentationHint,
|
||||
|
||||
events: extern struct {
|
||||
set_hint: wl.Signal(void),
|
||||
destroy: wl.Signal(void),
|
||||
},
|
||||
|
||||
surface: *wlr.Surface,
|
||||
};
|
||||
|
||||
pub const TearingControlManagerV1 = extern struct {
|
||||
global: *wl.Global,
|
||||
surface_hints: wl.list.Head(TearingControlV1, .link),
|
||||
|
||||
server_destroy: wl.Listener(*wl.Server),
|
||||
|
||||
events: extern struct {
|
||||
new_object: wl.Signal(*TearingControlV1),
|
||||
destroy: wl.Signal(void),
|
||||
},
|
||||
|
||||
data: ?*anyopaque,
|
||||
|
||||
extern fn wlr_tearing_control_manager_v1_create(server: *wl.Server, version: u32) ?*TearingControlManagerV1;
|
||||
pub fn create(server: *wl.Server, version: u32) !*TearingControlManagerV1 {
|
||||
return wlr_tearing_control_manager_v1_create(server, version) orelse error.OutOfMemory;
|
||||
}
|
||||
|
||||
extern fn wlr_tearing_control_manager_v1_surface_hint_from_surface(
|
||||
manager: *TearingControlManagerV1,
|
||||
surface: *wlr.Surface,
|
||||
) wp.TearingControlV1.PresentationHint;
|
||||
pub const hintFromSurface = wlr_tearing_control_manager_v1_surface_hint_from_surface;
|
||||
};
|
|
@ -153,6 +153,9 @@ pub const ScreencopyFrameV1 = @import("types/screencopy_v1.zig").ScreencopyFrame
|
|||
pub const GammaControlManagerV1 = @import("types/gamma_control_v1.zig").GammaControlManagerV1;
|
||||
pub const GammaControlV1 = @import("types/gamma_control_v1.zig").GammaControlV1;
|
||||
|
||||
pub const TearingControlManagerV1 = @import("types/tearing_control_v1.zig").TearingControlManagerV1;
|
||||
pub const TearingControlV1 = @import("types/tearing_control_v1.zig").TearingControlV1;
|
||||
|
||||
pub const XcursorImage = @import("xcursor.zig").XcursorImage;
|
||||
pub const Xcursor = @import("xcursor.zig").Xcursor;
|
||||
pub const XcursorTheme = @import("xcursor.zig").XcursorTheme;
|
||||
|
|
Loading…
Reference in a new issue