[−][src]Struct sdl2::video::Window
Represents the "shell" of a Window
.
You can set get and set many of the SDL_Window
properties (i.e., border, size, PixelFormat
, etc)
However, you cannot directly access the pixels of the Window
.
It needs to be converted to a Canvas
to access the rendering functions.
Note: If a Window
goes out of scope but it cloned its context,
then the SDL_Window
will not be destroyed until there are no more references to the WindowContext
.
This may happen when a TextureCreator<Window>
outlives the Canvas<Window>
Methods
impl Window
[src][−]
pub fn raw(&self) -> *mut SDL_Window
[src]
pub unsafe fn from_ll(subsystem: VideoSubsystem, raw: *mut SDL_Window) -> Window
[src]
pub const unsafe fn from_ref(context: Rc<WindowContext>) -> Window
[src][−]
Create a new Window
without taking ownership of the WindowContext
pub fn subsystem(&self) -> &VideoSubsystem
[src]
pub fn into_canvas(self) -> CanvasBuilder
[src][−]
Initializes a new CanvasBuilder
; a convenience method that calls CanvasBuilder::new()
.
pub fn context(&self) -> Rc<WindowContext>
[src]
pub fn id(&self) -> u32
[src]
pub fn gl_create_context(&self) -> Result<GLContext, String>
[src]
pub fn gl_set_context_to_current(&self) -> Result<(), String>
[src][−]
Set the window's OpenGL context to the current context on the thread.
pub fn gl_make_current(&self, context: &GLContext) -> Result<(), String>
[src]
pub fn gl_swap_window(&self)
[src]
pub fn vulkan_instance_extensions(&self) -> Result<Vec<&'static str>, String>
[src][−]
Get the names of the Vulkan instance extensions needed to create a surface with vulkan_create_surface
.
pub fn vulkan_create_surface(
&self,
instance: VkInstance
) -> Result<VkSurfaceKHR, String>
[src][−]
&self,
instance: VkInstance
) -> Result<VkSurfaceKHR, String>
Create a Vulkan rendering surface for a window.
The VkInstance
must be created using a prior call to the
vkCreateInstance
function in the Vulkan library.
pub fn display_index(&self) -> Result<i32, String>
[src]
pub fn set_display_mode<D>(&mut self, display_mode: D) -> Result<(), String> where
D: Into<Option<DisplayMode>>,
[src]
D: Into<Option<DisplayMode>>,
pub fn display_mode(&self) -> Result<DisplayMode, String>
[src]
pub fn window_pixel_format(&self) -> PixelFormatEnum
[src]
pub fn window_flags(&self) -> u32
[src]
pub fn set_title(&mut self, title: &str) -> Result<(), NulError>
[src]
pub fn title(&self) -> &str
[src]
pub fn set_icon<S: AsRef<SurfaceRef>>(&mut self, icon: S)
[src][−]
Use this function to set the icon for a window.
Example:
// requires "--features 'image'" use sdl2::surface::Surface; let window_icon = Surface::from_file("/path/to/icon.png")?; window.set_icon(window_icon);
pub fn set_position(&mut self, x: WindowPos, y: WindowPos)
[src]
pub fn position(&self) -> (i32, i32)
[src]
pub fn border_size(&self) -> Result<(u16, u16, u16, u16), String>
[src][−]
Use this function to get the size of a window's borders (decorations) around the client area.
Remarks
This function is only supported on X11, otherwise an error is returned.
pub fn set_size(
&mut self,
width: u32,
height: u32
) -> Result<(), IntegerOrSdlError>
[src]
&mut self,
width: u32,
height: u32
) -> Result<(), IntegerOrSdlError>
pub fn size(&self) -> (u32, u32)
[src]
pub fn drawable_size(&self) -> (u32, u32)
[src]
pub fn vulkan_drawable_size(&self) -> (u32, u32)
[src]
pub fn set_minimum_size(
&mut self,
width: u32,
height: u32
) -> Result<(), IntegerOrSdlError>
[src]
&mut self,
width: u32,
height: u32
) -> Result<(), IntegerOrSdlError>
pub fn minimum_size(&self) -> (u32, u32)
[src]
pub fn set_maximum_size(
&mut self,
width: u32,
height: u32
) -> Result<(), IntegerOrSdlError>
[src]
&mut self,
width: u32,
height: u32
) -> Result<(), IntegerOrSdlError>
pub fn maximum_size(&self) -> (u32, u32)
[src]
pub fn set_bordered(&mut self, bordered: bool)
[src]
pub fn show(&mut self)
[src]
pub fn hide(&mut self)
[src]
pub fn raise(&mut self)
[src]
pub fn maximize(&mut self)
[src]
pub fn minimize(&mut self)
[src]
pub fn restore(&mut self)
[src]
pub fn fullscreen_state(&self) -> FullscreenType
[src]
pub fn set_fullscreen(
&mut self,
fullscreen_type: FullscreenType
) -> Result<(), String>
[src]
&mut self,
fullscreen_type: FullscreenType
) -> Result<(), String>
pub fn surface<'a>(
&'a self,
_e: &'a EventPump
) -> Result<WindowSurfaceRef<'a>, String>
[src][−]
&'a self,
_e: &'a EventPump
) -> Result<WindowSurfaceRef<'a>, String>
Returns a WindowSurfaceRef, which can be used like a regular Surface. This is an alternative way to the Renderer (Canvas) way to modify pixels directly in the Window.
For this to happen, simply create a WindowSurfaceRef
via this method, use the underlying
Surface however you like, and when the changes of the Surface must be applied to the
screen, call update_window
if you intend to keep using the WindowSurfaceRef afterwards,
or finish
if you don't intend to use it afterwards.
The Renderer way is of course much more flexible and recommended; even though you only want to support Software Rendering (which is what using Surface is), you can still create a Renderer which renders in a Software-based manner, so try to rely on a Renderer as much as possible !
pub fn set_grab(&mut self, grabbed: bool)
[src]
pub fn grab(&self) -> bool
[src]
pub fn set_brightness(&mut self, brightness: f64) -> Result<(), String>
[src]
pub fn brightness(&self) -> f64
[src]
pub fn set_gamma_ramp<'a, 'b, 'c, R, G, B>(
&mut self,
red: R,
green: G,
blue: B
) -> Result<(), String> where
R: Into<Option<&'a [u16; 256]>>,
G: Into<Option<&'b [u16; 256]>>,
B: Into<Option<&'c [u16; 256]>>,
[src]
&mut self,
red: R,
green: G,
blue: B
) -> Result<(), String> where
R: Into<Option<&'a [u16; 256]>>,
G: Into<Option<&'b [u16; 256]>>,
B: Into<Option<&'c [u16; 256]>>,
pub fn gamma_ramp(&self) -> Result<(Vec<u16>, Vec<u16>, Vec<u16>), String>
[src]
pub fn set_opacity(&mut self, opacity: f32) -> Result<(), String>
[src][−]
Set the transparency of the window. The given value will be clamped internally between
0.0
(fully transparent), and 1.0
(fully opaque).
This method returns an error if opacity isn't supported by the current platform.
pub fn opacity(&self) -> Result<f32, String>
[src][−]
Returns the transparency of the window, as a value between 0.0
(fully transparent), and
1.0
(fully opaque).
If opacity isn't supported by the current platform, this method returns Ok(1.0)
instead
of an error.
Trait Implementations
impl From<Window> for CanvasBuilder
[src][+]
impl From<WindowContext> for Window
[src][+]
impl RenderTarget for Window
[src]
type Context = WindowContext
Auto Trait Implementations
impl !RefUnwindSafe for Window
impl !Send for Window
impl !Sync for Window
impl Unpin for Window
impl !UnwindSafe for Window
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,