const std = @import("std"); const Card = @import("../card.zig").Card; const Drm = @import("../request.zig").Drm; const Connector = @import("../connector/root.zig").Connector; pub const RawCrtc = extern struct { connectors: ?*Connector, count_connectors: u32, id: u32, buffer_id: u32, x: u32, y: u32, gamma_size: u32, mode_valid: u32, }; pub const Crtc = struct { const Self = @This(); id: u32, buffer_id: u32, x: u32, y: u32, mode_valid: u32, gamma_size: u32, card: *Card, pub fn init(card: *Card, id: u32) !Self { var raw = std.mem.zeroInit(RawCrtc, .{ .id = id }); try Drm.get_crtc.request(card.file.handle, RawCrtc, &raw); return .{ .id = raw.id, .buffer_id = raw.buffer_id, .x = raw.x, .y = raw.y, .mode_valid = raw.mode_valid, .gamma_size = raw.gamma_size, .card = card, }; } pub fn deinit(self: *Self) void { _ = self; } };