Struct sdl2::video::WindowSurfaceRef
[−]
[src]
pub struct WindowSurfaceRef<'a>(_, _);
Methods
impl<'a> WindowSurfaceRef<'a>
[src]
fn update_window(&self) -> Result<(), String>
Updates the change made to the inner Surface to the Window it was created from.
This would effectively be the theorical equivalent of present
from a Canvas.
fn update_window_rects(&self, rects: &[Rect]) -> Result<(), String>
Same as update_window
, but only update the parts included in rects
to the Window it was
created from.
fn finish(self) -> Result<(), String>
Gives up this WindowSurfaceRef, allowing to use the window freely again. Before being
destroyed, calls update_window
one last time.
If you don't want to update_window
one last time, simply Drop this struct. However
beware, since the Surface will still be in the state you left it the next time you will
call window.surface()
again.
Methods from Deref<Target = SurfaceRef>
fn raw(&self) -> *mut SDL_Surface
fn width(&self) -> u32
fn height(&self) -> u32
fn pitch(&self) -> u32
fn size(&self) -> (u32, u32)
fn rect(&self) -> Rect
fn pixel_format(&self) -> PixelFormat
fn pixel_format_enum(&self) -> PixelFormatEnum
fn with_lock<R, F: FnOnce(&[u8]) -> R>(&self, f: F) -> R
Locks a surface so that the pixels can be directly accessed safely.
fn with_lock_mut<R, F: FnOnce(&mut [u8]) -> R>(&mut self, f: F) -> R
Locks a surface so that the pixels can be directly accessed safely.
fn without_lock(&self) -> Option<&[u8]>
Returns the Surface's pixel buffer if the Surface doesn't require locking (e.g. it's a software surface).
fn without_lock_mut(&mut self) -> Option<&mut [u8]>
Returns the Surface's pixel buffer if the Surface doesn't require locking (e.g. it's a software surface).
fn must_lock(&self) -> bool
Returns true if the Surface needs to be locked before accessing the Surface pixels.
fn save_bmp_rw(&self, rwops: &mut RWops) -> Result<(), String>
fn save_bmp<P: AsRef<Path>>(&self, path: P) -> Result<(), String>
fn set_palette(&mut self, palette: &Palette) -> Result<(), String>
fn enable_RLE(&mut self)
fn disable_RLE(&mut self)
fn set_color_key(&mut self, enable: bool, color: Color) -> Result<(), String>
fn color_key(&self) -> Result<Color, String>
The function will fail if the surface doesn't have color key enabled.
fn set_color_mod(&mut self, color: Color)
fn color_mod(&self) -> Color
fn fill_rect<R>(&mut self, rect: R, color: Color) -> Result<(), String> where
R: Into<Option<Rect>>,
R: Into<Option<Rect>>,
fn fill_rects(&mut self, rects: &[Rect], color: Color) -> Result<(), String>
fn set_alpha_mod(&mut self, alpha: u8)
fn alpha_mod(&self) -> u8
fn set_blend_mode(&mut self, mode: BlendMode) -> Result<(), String>
The function will fail if the blend mode is not supported by SDL.
fn blend_mode(&self) -> BlendMode
fn set_clip_rect<R>(&mut self, rect: R) -> bool where
R: Into<Option<Rect>>,
R: Into<Option<Rect>>,
Sets the clip rectangle for the surface.
If the rectangle is None
, clipping will be disabled.
fn clip_rect(&self) -> Option<Rect>
Gets the clip rectangle for the surface.
Returns None
if clipping is disabled.
fn convert(&self, format: &PixelFormat) -> Result<Surface<'static>, String>
Copies the surface into a new one that is optimized for blitting to a surface of a specified pixel format.
fn blit<R1, R2>(
&self,
src_rect: R1,
dst: &mut SurfaceRef,
dst_rect: R2
) -> Result<Option<Rect>, String> where
R1: Into<Option<Rect>>,
R2: Into<Option<Rect>>,
&self,
src_rect: R1,
dst: &mut SurfaceRef,
dst_rect: R2
) -> Result<Option<Rect>, String> where
R1: Into<Option<Rect>>,
R2: Into<Option<Rect>>,
Performs surface blitting (surface copying).
Returns the final blit rectangle, if a dst_rect
was provided.
unsafe fn lower_blit<R1, R2>(
&self,
src_rect: R1,
dst: &mut SurfaceRef,
dst_rect: R2
) -> Result<(), String> where
R1: Into<Option<Rect>>,
R2: Into<Option<Rect>>,
&self,
src_rect: R1,
dst: &mut SurfaceRef,
dst_rect: R2
) -> Result<(), String> where
R1: Into<Option<Rect>>,
R2: Into<Option<Rect>>,
Performs low-level surface blitting.
Unless you know what you're doing, use blit()
instead, which will clip the input rectangles.
This function could crash if the rectangles aren't pre-clipped to the surface, and is therefore unsafe.
fn blit_scaled<R1, R2>(
&self,
src_rect: R1,
dst: &mut SurfaceRef,
dst_rect: R2
) -> Result<Option<Rect>, String> where
R1: Into<Option<Rect>>,
R2: Into<Option<Rect>>,
&self,
src_rect: R1,
dst: &mut SurfaceRef,
dst_rect: R2
) -> Result<Option<Rect>, String> where
R1: Into<Option<Rect>>,
R2: Into<Option<Rect>>,
Performs scaled surface bliting (surface copying).
Returns the final blit rectangle, if a dst_rect
was provided.
unsafe fn lower_blit_scaled<R1, R2>(
&self,
src_rect: R1,
dst: &mut SurfaceRef,
dst_rect: R2
) -> Result<(), String> where
R1: Into<Option<Rect>>,
R2: Into<Option<Rect>>,
&self,
src_rect: R1,
dst: &mut SurfaceRef,
dst_rect: R2
) -> Result<(), String> where
R1: Into<Option<Rect>>,
R2: Into<Option<Rect>>,
Performs low-level scaled surface blitting.
Unless you know what you're doing, use blit_scaled()
instead, which will clip the input rectangles.
This function could crash if the rectangles aren't pre-clipped to the surface, and is therefore unsafe.
Trait Implementations
impl<'a> Deref for WindowSurfaceRef<'a>
[src]
type Target = SurfaceRef
The resulting type after dereferencing
fn deref(&self) -> &SurfaceRef
The method called to dereference a value
impl<'a> DerefMut for WindowSurfaceRef<'a>
[src]
fn deref_mut(&mut self) -> &mut SurfaceRef
The method called to mutably dereference a value