[][src]Struct sdl2::surface::SurfaceRef

pub struct SurfaceRef { /* fields omitted */ }

An unsized Surface reference.

This type is used whenever Surfaces need to be borrowed from the SDL library, without concern for freeing the Surface.

Implementations

impl SurfaceRef[src]

pub unsafe fn from_ll<'a>(raw: *const SDL_Surface) -> &'a SurfaceRef[src]

pub unsafe fn from_ll_mut<'a>(raw: *mut SDL_Surface) -> &'a mut SurfaceRef[src]

pub fn raw(&self) -> *mut SDL_Surface[src]

pub fn width(&self) -> u32[src]

pub fn height(&self) -> u32[src]

pub fn pitch(&self) -> u32[src]

pub fn size(&self) -> (u32, u32)[src]

pub fn rect(&self) -> Rect[src]

pub fn pixel_format(&self) -> PixelFormat[src]

pub fn pixel_format_enum(&self) -> PixelFormatEnum[src]

pub fn with_lock<R, F: FnOnce(&[u8]) -> R>(&self, f: F) -> R[src]

Locks a surface so that the pixels can be directly accessed safely.

pub fn with_lock_mut<R, F: FnOnce(&mut [u8]) -> R>(&mut self, f: F) -> R[src]

Locks a surface so that the pixels can be directly accessed safely.

pub fn without_lock(&self) -> Option<&[u8]>[src]

Returns the Surface's pixel buffer if the Surface doesn't require locking (e.g. it's a software surface).

pub fn without_lock_mut(&mut self) -> Option<&mut [u8]>[src]

Returns the Surface's pixel buffer if the Surface doesn't require locking (e.g. it's a software surface).

pub fn must_lock(&self) -> bool[src]

Returns true if the Surface needs to be locked before accessing the Surface pixels.

pub fn save_bmp_rw(&self, rwops: &mut RWops) -> Result<(), String>[src]

pub fn save_bmp<P: AsRef<Path>>(&self, path: P) -> Result<(), String>[src]

pub fn set_palette(&mut self, palette: &Palette) -> Result<(), String>[src]

pub fn enable_RLE(&mut self)[src]

pub fn disable_RLE(&mut self)[src]

pub fn set_color_key(
    &mut self,
    enable: bool,
    color: Color
) -> Result<(), String>
[src]

pub fn color_key(&self) -> Result<Color, String>[src]

The function will fail if the surface doesn't have color key enabled.

pub fn set_color_mod(&mut self, color: Color)[src]

pub fn color_mod(&self) -> Color[src]

pub fn fill_rect<R>(&mut self, rect: R, color: Color) -> Result<(), String> where
    R: Into<Option<Rect>>, 
[src]

pub fn fill_rects(&mut self, rects: &[Rect], color: Color) -> Result<(), String>[src]

pub fn set_alpha_mod(&mut self, alpha: u8)[src]

pub fn alpha_mod(&self) -> u8[src]

pub fn set_blend_mode(&mut self, mode: BlendMode) -> Result<(), String>[src]

The function will fail if the blend mode is not supported by SDL.

pub fn blend_mode(&self) -> BlendMode[src]

pub fn set_clip_rect<R>(&mut self, rect: R) -> bool where
    R: Into<Option<Rect>>, 
[src]

Sets the clip rectangle for the surface.

If the rectangle is None, clipping will be disabled.

pub fn clip_rect(&self) -> Option<Rect>[src]

Gets the clip rectangle for the surface.

Returns None if clipping is disabled.

pub fn convert(&self, format: &PixelFormat) -> Result<Surface<'static>, String>[src]

Copies the surface into a new one that is optimized for blitting to a surface of a specified pixel format.

pub fn convert_format(
    &self,
    format: PixelFormatEnum
) -> Result<Surface<'static>, String>
[src]

Copies the surface into a new one of a specified pixel format.

pub 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>>, 
[src]

Performs surface blitting (surface copying).

Returns the final blit rectangle, if a dst_rect was provided.

pub 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>>, 
[src]

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.

pub 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>>, 
[src]

Performs scaled surface bliting (surface copying).

Returns the final blit rectangle, if a dst_rect was provided.

pub 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>>, 
[src]

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> AsMut<SurfaceRef> for Surface<'a>[src]

impl AsRef<SurfaceRef> for SurfaceRef[src]

impl<'a> AsRef<SurfaceRef> for Surface<'a>[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.