From c11a82c2118843d2ef45060850e2304e598096ee Mon Sep 17 00:00:00 2001 From: Stephen Gutekanst Date: Sun, 25 Jul 2021 19:38:06 -0700 Subject: [PATCH] glfw: add Window.setOpacity Signed-off-by: Stephen Gutekanst --- glfw/src/Window.zig | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/glfw/src/Window.zig b/glfw/src/Window.zig index c1559acf..17290ee4 100644 --- a/glfw/src/Window.zig +++ b/glfw/src/Window.zig @@ -593,6 +593,28 @@ pub inline fn getOpacity(self: Window) Error!f32 { return opacity; } +/// Sets the opacity of the whole window. +/// +/// This function sets the opacity of the window, including any decorations. +/// +/// The opacity (or alpha) value is a positive finite number between zero and one, where zero is +/// fully transparent and one is fully opaque. +/// +/// The initial opacity value for newly created windows is one. +/// +/// A window created with framebuffer transparency may not use whole window transparency. The +/// results of doing this are undefined. +/// +/// Possible errors include glfw.Error.NotInitialized and glfw.Error.PlatformError. +/// +/// @thread_safety This function must only be called from the main thread. +/// +/// see also: window_transparency, glfw.Window.getOpacity +pub inline fn setOpacity(self: Window, opacity: f32) Error!void { + c.glfwSetWindowOpacity(self.handle, opacity); + try getError(); +} + test "defaultHints" { const glfw = @import("main.zig"); try glfw.init();