1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
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;
}
};
|