Struct glutin::Window

source ·
pub struct Window { /* private fields */ }
Expand description

Represents a window.

Example

use winit::{Event, EventsLoop, Window, WindowEvent, ControlFlow};

let mut events_loop = EventsLoop::new();
let window = Window::new(&events_loop).unwrap();

events_loop.run_forever(|event| {
    match event {
        Event::WindowEvent { event: WindowEvent::Closed, .. } => {
            ControlFlow::Break
        },
        _ => ControlFlow::Continue,
    }
});

Implementations§

source§

impl Window

source

pub fn new(events_loop: &EventsLoop) -> Result<Window, CreationError>

Creates a new Window for platforms where this is appropriate.

This function is equivalent to WindowBuilder::new().build(events_loop).

Error should be very rare and only occur in case of permission denied, incompatible system, out of memory, etc.

source

pub fn set_title(&self, title: &str)

Modifies the title of the window.

This is a no-op if the window has already been closed.

source

pub fn show(&self)

Shows the window if it was hidden.

Platform-specific
  • Has no effect on Android
source

pub fn hide(&self)

Hides the window if it was visible.

Platform-specific
  • Has no effect on Android
source

pub fn get_position(&self) -> Option<(i32, i32)>

Returns the position of the top-left hand corner of the window relative to the top-left hand corner of the desktop.

Note that the top-left hand corner of the desktop is not necessarily the same as the screen. If the user uses a desktop with multiple monitors, the top-left hand corner of the desktop is the top-left hand corner of the monitor at the top-left of the desktop.

The coordinates can be negative if the top-left hand corner of the window is outside of the visible screen region.

Returns None if the window no longer exists.

source

pub fn set_position(&self, x: i32, y: i32)

Modifies the position of the window.

See get_position for more information about the coordinates.

This is a no-op if the window has already been closed.

source

pub fn get_inner_size(&self) -> Option<(u32, u32)>

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 that need to be supplied to glViewport.

Returns None if the window no longer exists.

source

pub fn get_inner_size_points(&self) -> Option<(u32, u32)>

👎Deprecated

Returns the size in points of the client area of the window.

The client area is the content of the window, excluding the title bar and borders. To get the dimensions of the frame buffer when calling glViewport, multiply with hidpi factor.

Returns None if the window no longer exists.

DEPRECATED

source

pub fn get_inner_size_pixels(&self) -> Option<(u32, u32)>

👎Deprecated

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.

DEPRECATED

source

pub fn get_outer_size(&self) -> Option<(u32, 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 use get_inner_size instead.

Returns None if the window no longer exists.

source

pub fn set_inner_size(&self, x: u32, y: u32)

Modifies the inner size of the window.

See get_inner_size for more information about the values.

This is a no-op if the window has already been closed.

source

pub unsafe fn platform_display(&self) -> *mut c_void

👎Deprecated

DEPRECATED. Gets the native platform specific display for this window. This is typically only required when integrating with other libraries that need this information.

source

pub unsafe fn platform_window(&self) -> *mut c_void

👎Deprecated

DEPRECATED. Gets the native platform specific window handle. This is typically only required when integrating with other libraries that need this information.

source

pub fn set_cursor(&self, cursor: MouseCursor)

Modifies the mouse cursor of the window. Has no effect on Android.

source

pub fn hidpi_factor(&self) -> f32

Returns the ratio between the backing framebuffer resolution and the window size in screen pixels. This is typically one for a normal display and two for a retina display.

source

pub fn set_cursor_position(&self, x: i32, y: i32) -> Result<(), ()>

Changes the position of the cursor in window coordinates.

source

pub fn set_cursor_state(&self, state: CursorState) -> Result<(), String>

Sets how winit handles the cursor. See the documentation of CursorState for details.

Has no effect on Android.

source

pub fn set_maximized(&self, maximized: bool)

Sets the window to maximized or back

source

pub fn set_fullscreen(&self, monitor: Option<MonitorId>)

Sets the window to fullscreen or back

source

pub fn get_current_monitor(&self) -> MonitorId

Returns the current monitor the window is on or the primary monitor is nothing matches

source

pub fn id(&self) -> WindowId

Trait Implementations§

source§

impl WindowExt for Window

source§

fn get_xlib_window(&self) -> Option<*mut c_void>

Returns a pointer to the Window object of xlib that is used by this window. Read more
source§

fn get_xlib_display(&self) -> Option<*mut c_void>

Returns a pointer to the Display object of xlib that is used by this window. Read more
source§

fn get_xlib_screen_id(&self) -> Option<*mut c_void>

source§

fn get_xlib_xconnection(&self) -> Option<Arc<XConnection>>

source§

fn get_xcb_connection(&self) -> Option<*mut c_void>

This function returns the underlying xcb_connection_t of an xlib Display. Read more
source§

fn send_xim_spot(&self, x: i16, y: i16)

source§

fn get_wayland_surface(&self) -> Option<*mut c_void>

Returns a pointer to the wl_surface object of wayland that is used by this window. Read more
source§

fn get_wayland_display(&self) -> Option<*mut c_void>

Returns a pointer to the wl_display object of wayland that is used by this window. Read more
source§

fn is_ready(&self) -> bool

👎Deprecated
Check if the window is ready for drawing Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.