From b6f74911579f1a46bfa112032b2efc38aeff1a99 Mon Sep 17 00:00:00 2001 From: Tomaka17 Date: Sat, 1 Nov 2014 09:02:01 +0100 Subject: Add visibility-related functions to window --- src/win32/init.rs | 4 ++-- src/win32/mod.rs | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) (limited to 'src/win32') diff --git a/src/win32/init.rs b/src/win32/init.rs index 5168cc6..bf84973 100644 --- a/src/win32/init.rs +++ b/src/win32/init.rs @@ -17,7 +17,7 @@ local_data_key!(WINDOW: (ffi::HWND, Sender)) pub fn new_window(builder_dimensions: Option<(uint, uint)>, builder_title: String, builder_monitor: Option, builder_gl_version: Option<(uint, uint)>, builder_vsync: bool, - builder_headless: bool) -> Result + builder_hidden: bool) -> Result { use std::mem; use std::os; @@ -237,7 +237,7 @@ pub fn new_window(builder_dimensions: Option<(uint, uint)>, builder_title: Strin (None, None) }; - let style = if builder_headless { + let style = if builder_hidden { style } else { style | ffi::WS_VISIBLE diff --git a/src/win32/mod.rs b/src/win32/mod.rs index 35e7169..facfb6d 100644 --- a/src/win32/mod.rs +++ b/src/win32/mod.rs @@ -68,8 +68,8 @@ pub struct Window { impl Window { /// See the docs in the crate root file. pub fn new(builder: WindowBuilder) -> Result { - let WindowBuilder { dimensions, title, monitor, gl_version, vsync } = builder; - init::new_window(dimensions, title, monitor, gl_version, vsync, false) + let WindowBuilder { dimensions, title, monitor, gl_version, vsync, visible } = builder; + init::new_window(dimensions, title, monitor, gl_version, vsync, !visible) } } @@ -91,6 +91,18 @@ impl Window { } } + pub fn show(&self) { + unsafe { + ffi::ShowWindow(self.window, ffi::SW_SHOW); + } + } + + pub fn hide(&self) { + unsafe { + ffi::ShowWindow(self.window, ffi::SW_HIDE); + } + } + /// See the docs in the crate root file. pub fn get_position(&self) -> Option<(int, int)> { use std::mem; -- cgit v1.2.3