const std = @import("std"); const wayland = @import("../root.zig"); const wl = wayland.wl; pub fn Buffer(fmt: wl.Shm.Format) type { return struct { const Self = @This(); pub const Request = union(enum) { destroy: void, }; pub const Events = wayland.EventSet(Self, .{}); handle: wayland.Object.Ref = .null, init: wayland.Object.interface.Init(Self) = .{}, data: []wl.Shm.Format.Pixel(fmt), width: usize, height: usize, pub fn format( self: *const Self, comptime f: []const u8, options: std.fmt.FormatOptions, writer: anytype, ) !void { _ = f; _ = options; try writer.print("wl.buffer<{s}> {{ {}x{} }}", .{ @tagName(fmt), self.width, self.height }); } }; }