Struct nannou::ui::backend::glium::glium::backend::glutin::glutin::GlWindow [−]
pub struct GlWindow { /* fields omitted */ }
Represents an OpenGL context and a Window with which it is associated.
Example
let mut events_loop = glutin::EventsLoop::new(); let window = glutin::WindowBuilder::new(); let context = glutin::ContextBuilder::new(); let gl_window = glutin::GlWindow::new(window, context, &events_loop).unwrap(); unsafe { gl_window.make_current().unwrap() }; loop { events_loop.poll_events(|event| { match event { // process events here _ => () } }); // draw everything here gl_window.swap_buffers(); std::thread::sleep(std::time::Duration::from_millis(17)); }
Methods
impl GlWindow
impl GlWindow
pub fn new(
window_builder: WindowBuilder,
context_builder: ContextBuilder,
events_loop: &EventsLoop
) -> Result<GlWindow, CreationError>
pub fn new(
window_builder: WindowBuilder,
context_builder: ContextBuilder,
events_loop: &EventsLoop
) -> Result<GlWindow, CreationError>
Builds the given window along with the associated GL context, returning the pair as a
GlWindow
.
Error should be very rare and only occur in case of permission denied, incompatible system, out of memory, etc.
pub fn window(&self) -> &Window
pub fn window(&self) -> &Window
Borrow the inner Window
.
pub fn context(&self) -> &Context
pub fn context(&self) -> &Context
Borrow the inner GL Context
.
Methods from Deref<Target = Window>
pub fn set_title(&self, title: &str)
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.
pub fn show(&self)
pub fn show(&self)
pub fn hide(&self)
pub fn hide(&self)
pub fn get_position(&self) -> Option<(i32, i32)>
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.
pub fn set_position(&self, x: i32, y: i32)
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.
pub fn get_inner_size(&self) -> Option<(u32, u32)>
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.
pub fn get_inner_size_points(&self) -> Option<(u32, u32)>
pub fn get_inner_size_points(&self) -> Option<(u32, u32)>
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
pub fn get_inner_size_pixels(&self) -> Option<(u32, u32)>
pub fn get_inner_size_pixels(&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 of the frame buffer, and the dimensions that you should use
when you call glViewport
.
Returns None
if the window no longer exists.
DEPRECATED
pub fn get_outer_size(&self) -> Option<(u32, u32)>
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.
pub fn set_inner_size(&self, x: u32, y: u32)
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.
pub fn set_min_dimensions(&self, dimensions: Option<(u32, u32)>)
pub fn set_min_dimensions(&self, dimensions: Option<(u32, u32)>)
Sets a minimum dimension size for the window.
Width and height are in pixels.
pub fn set_max_dimensions(&self, dimensions: Option<(u32, u32)>)
pub fn set_max_dimensions(&self, dimensions: Option<(u32, u32)>)
Sets a maximum dimension size for the window.
Width and height are in pixels.
pub unsafe fn platform_display(&self) -> *mut c_void
pub unsafe fn platform_display(&self) -> *mut c_void
DEPRECATED. Gets the native platform specific display for this window. This is typically only required when integrating with other libraries that need this information.
pub unsafe fn platform_window(&self) -> *mut c_void
pub unsafe fn platform_window(&self) -> *mut c_void
DEPRECATED. Gets the native platform specific window handle. This is typically only required when integrating with other libraries that need this information.
pub fn set_cursor(&self, cursor: MouseCursor)
pub fn set_cursor(&self, cursor: MouseCursor)
Modifies the mouse cursor of the window. Has no effect on Android.
pub fn hidpi_factor(&self) -> f32
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.
pub fn set_cursor_position(&self, x: i32, y: i32) -> Result<(), ()>
pub fn set_cursor_position(&self, x: i32, y: i32) -> Result<(), ()>
Changes the position of the cursor in window coordinates.
pub fn set_cursor_state(&self, state: CursorState) -> Result<(), String>
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.
pub fn set_maximized(&self, maximized: bool)
pub fn set_maximized(&self, maximized: bool)
Sets the window to maximized or back
pub fn set_fullscreen(&self, monitor: Option<MonitorId>)
pub fn set_fullscreen(&self, monitor: Option<MonitorId>)
Sets the window to fullscreen or back
pub fn set_decorations(&self, decorations: bool)
pub fn set_decorations(&self, decorations: bool)
Turn window decorations on or off.
pub fn get_current_monitor(&self) -> MonitorId
pub fn get_current_monitor(&self) -> MonitorId
Returns the current monitor the window is on or the primary monitor is nothing matches
pub fn id(&self) -> WindowId
pub fn id(&self) -> WindowId
Trait Implementations
impl GlContext for GlWindow
impl GlContext for GlWindow
unsafe fn make_current(&self) -> Result<(), ContextError>
unsafe fn make_current(&self) -> Result<(), ContextError>
Sets the context as the current context.
fn is_current(&self) -> bool
fn is_current(&self) -> bool
Returns true if this context is the current one in this thread.
fn get_proc_address(&self, addr: &str) -> *const ()
fn get_proc_address(&self, addr: &str) -> *const ()
Returns the address of an OpenGL function.
fn swap_buffers(&self) -> Result<(), ContextError>
fn swap_buffers(&self) -> Result<(), ContextError>
Swaps the buffers in case of double or triple buffering. Read more
fn get_api(&self) -> Api
fn get_api(&self) -> Api
Returns the OpenGL API being used.
fn get_pixel_format(&self) -> PixelFormat
fn get_pixel_format(&self) -> PixelFormat
Returns the pixel format of the main framebuffer of the context.
fn resize(&self, width: u32, height: u32)
fn resize(&self, width: u32, height: u32)
Resize the GL context. Read more
impl Deref for GlWindow
impl Deref for GlWindow