aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/window.rs17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/window.rs b/src/window.rs
index ac52ed7..655c54f 100644
--- a/src/window.rs
+++ b/src/window.rs
@@ -301,10 +301,25 @@ impl Window {
///
/// Returns `None` if the window no longer exists.
#[inline]
- pub fn get_inner_size(&self) -> Option<(u32, u32)> {
+ pub fn get_inner_size_points(&self) -> Option<(u32, u32)> {
self.window.get_inner_size()
}
+ /// Returns the size in pixels of the client area of the window.
+ ///
+ /// The client area is the content of the window, excluding the title bar and borders.
+ /// These are the dimensions of the frame buffer, and the dimensions that you should use
+ /// when you call `glViewport`.
+ ///
+ /// Returns `None` if the window no longer exists.
+ #[inline]
+ pub fn get_inner_size_pixels(&self) -> Option<(u32, u32)> {
+ self.window.get_inner_size().map(|(x, y)| {
+ let hidpi = self.hidpi_factor();
+ ((x as f32 * hidpi) as u32, (y as f32 * hidpi) as u32)
+ })
+ }
+
/// Returns the size in pixels of the window.
///
/// These dimensions include title bar and borders. If you don't want these, you should use