From aaf160f38b2b99090103a5c7f5408d7fe956bcd1 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 4 May 2022 11:16:30 -0700 Subject: [PATCH] set refresh callback for redraw --- src/Window.zig | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Window.zig b/src/Window.zig index a4b79fe54..b242898db 100644 --- a/src/Window.zig +++ b/src/Window.zig @@ -197,6 +197,7 @@ pub fn create(alloc: Allocator, loop: libuv.Loop) !*Window { window.setCharCallback(charCallback); window.setKeyCallback(keyCallback); window.setFocusCallback(focusCallback); + window.setRefreshCallback(refreshCallback); return self; } @@ -377,6 +378,16 @@ fn focusCallback(window: glfw.Window, focused: bool) void { } } +fn refreshCallback(window: glfw.Window) void { + const tracy = trace(@src()); + defer tracy.end(); + + const win = window.getUserPointer(Window) orelse return; + + // The point of this callback is to schedule a render, so do that. + win.render_timer.schedule() catch unreachable; +} + fn cursorTimerCallback(t: *libuv.Timer) void { const tracy = trace(@src()); defer tracy.end();