diff options
Diffstat (limited to 'src/screen/main.zig')
| -rw-r--r-- | src/screen/main.zig | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/src/screen/main.zig b/src/screen/main.zig index 03ef75a..673be0e 100644 --- a/src/screen/main.zig +++ b/src/screen/main.zig @@ -1,18 +1,17 @@ const std = @import("std"); -const drm = @import("drm/card.zig"); -const Event = @import("drm/event.zig").Event; +const drm = @import("drm/root.zig"); pub fn main() !void { var gpa = std.heap.GeneralPurposeAllocator(.{}){}; const allocator = gpa.allocator(); - var card = try drm.Card.open("card1", allocator); + var card = try drm.Card.open("card0", allocator); defer card.close(); var resources = try card.resources(); defer resources.deinit(); - var connector = try card.connector(resources.connector_ids[1]); + var connector = try card.connector(resources.connector_ids[0]); defer connector.deinit(); std.debug.print("connector = {}\n", .{ connector.id }); @@ -32,13 +31,13 @@ pub fn main() !void { defer double_buffer.deinit(); std.debug.print("buffer = {}, {}x{}, stride = {}\n", .{ - double_buffer.buffer().id, - double_buffer.buffer().width, - double_buffer.buffer().height, - double_buffer.buffer().stride, + double_buffer.current.id, + double_buffer.current.width, + double_buffer.current.height, + double_buffer.current.stride, }); - try crtc.attach(double_buffer.crtc_buffer(), &connector, mode); + try crtc.attach(&double_buffer, &connector, mode); const Pos = struct { x: f32, y: f32 }; @@ -47,13 +46,13 @@ pub fn main() !void { var delta: f32 = 0; const size = 100; - const width: f32 = @floatFromInt(double_buffer.buffer().width); - const height: f32 = @floatFromInt(double_buffer.buffer().height); + const width: f32 = @floatFromInt(double_buffer.current.width); + const height: f32 = @floatFromInt(double_buffer.current.height); while (true) { const start = try std.time.Instant.now(); - double_buffer.buffer().fill(.{ .red = 0x25, .green = 0x25, .blue = 0x25 }); + double_buffer.current.fill(.{ .red = 0x25, .green = 0x25, .blue = 0x25 }); pos.x += vec.x * delta; pos.y += vec.y * delta; @@ -76,7 +75,7 @@ pub fn main() !void { for (0..size) |w| { for (0..size) |h| { - double_buffer.buffer().set( + double_buffer.current.set( @as(u32, @intFromFloat(pos.x)) + @as(u32, @intCast(w)), @as(u32, @intFromFloat(pos.y)) + @as(u32, @intCast(h)), .{ @@ -95,12 +94,12 @@ pub fn main() !void { try crtc.page_flip(&double_buffer); while (true) { - var event: ?Event = null; + var event: ?drm.Event = null; while (event == null) { event = try card.poll_event(5000); } - switch ((event orelse unreachable).type) { + switch ((event orelse unreachable).kind) { .page_flip_complete => break, else => {}, } |