summaryrefslogtreecommitdiff
path: root/src/screen/main.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/screen/main.zig')
-rw-r--r--src/screen/main.zig29
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 => {},
}