aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 096bae4..f1f8d5a 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -37,6 +37,8 @@ extern crate libc;
extern crate cocoa;
#[cfg(target_os = "macos")]
extern crate core_foundation;
+#[cfg(target_os = "macos")]
+extern crate core_graphics;
#[cfg(target_os = "linux")]
extern crate sync;
@@ -74,6 +76,7 @@ pub struct WindowBuilder {
monitor: Option<winimpl::MonitorID>,
gl_version: Option<(uint, uint)>,
vsync: bool,
+ visible: bool,
}
#[cfg(feature = "window")]
@@ -86,6 +89,7 @@ impl WindowBuilder {
monitor: None,
gl_version: None,
vsync: false,
+ visible: true,
}
}
@@ -127,6 +131,12 @@ impl WindowBuilder {
self
}
+ /// Sets whether the window will be initially hidden or visible.
+ pub fn with_visibility(mut self, visible: bool) -> WindowBuilder {
+ self.visible = visible;
+ self
+ }
+
/// Builds the window.
///
/// Error should be very rare and only occur in case of permission denied, incompatible system,
@@ -252,6 +262,28 @@ impl Window {
self.window.set_title(title)
}
+ /// Shows the window if it was hidden.
+ ///
+ /// ## Platform-specific
+ ///
+ /// - Has no effect on Android
+ ///
+ #[inline]
+ pub fn show(&self) {
+ self.window.show()
+ }
+
+ /// Hides the window if it was visible.
+ ///
+ /// ## Platform-specific
+ ///
+ /// - Has no effect on Android
+ ///
+ #[inline]
+ pub fn hide(&self) {
+ self.window.hide()
+ }
+
/// Returns the position of the top-left hand corner of the window relative to the
/// top-left hand corner of the desktop.
///