From 4c739480687e447f84fa5b3b321b005073a234e9 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Tue, 7 Jan 2025 10:31:17 +0100 Subject: [PATCH] feat(win32 gui): send terminal background updates to gui --- src/renderer/win32/renderer.zig | 7 +------ src/win32/gui.zig | 6 ++++++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/renderer/win32/renderer.zig b/src/renderer/win32/renderer.zig index c82fe73..234c2f4 100644 --- a/src/renderer/win32/renderer.zig +++ b/src/renderer/win32/renderer.zig @@ -331,12 +331,7 @@ fn set_terminal_title_internal(self: *Self) void { pub fn set_terminal_style(self: *Self, style_: Style) void { _ = self; - _ = style_; - std.log.warn("TODO: implement set_terminal_style", .{}); - //if (style_.fg) |color| - //self.vx.setTerminalForegroundColor(self.tty.anyWriter(), vaxis.Cell.Color.rgbFromUint(@intCast(color.color)).rgb) catch {}; - //if (style_.bg) |color| - //self.vx.setTerminalBackgroundColor(self.tty.anyWriter(), vaxis.Cell.Color.rgbFromUint(@intCast(color.color)).rgb) catch {}; + if (style_.bg) |color| gui.set_window_background(@intCast(color.color)); } pub fn set_terminal_cursor_color(self: *Self, color: Color) void { diff --git a/src/win32/gui.zig b/src/win32/gui.zig index 656fbff..3d24c94 100644 --- a/src/win32/gui.zig +++ b/src/win32/gui.zig @@ -17,6 +17,7 @@ const windowmsg = @import("windowmsg.zig"); const HResultError = ddui.HResultError; const WM_APP_EXIT = win32.WM_APP + 1; +const WM_APP_SET_BACKGROUND = win32.WM_APP + 2; pub const DropWriter = struct { pub const WriteError = error{}; @@ -500,6 +501,11 @@ pub fn set_window_title(title: [*:0]const u16) error{ NoWindow, Win32 }!void { } } +pub fn set_window_background(color: u32) void { + const hwnd = global.hwnd orelse return; + _ = win32.SendMessageW(hwnd, WM_APP_SET_BACKGROUND, color, 0); +} + // returns false if there is no hwnd pub fn updateScreen(screen: *const vaxis.Screen) bool { global.mutex.lock();