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

pub struct SurfaceRef {
    // some 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.

Methods

impl SurfaceRef
[src]

unsafe fn from_ll<'a>(raw: *mut SDL_Surface) -> &'a SurfaceRef

unsafe fn from_ll_mut<'a>(raw: *mut SDL_Surface) -> &'a mut 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 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<ColorString>

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(&mut self, rect: Option<Rect>, color: Color) -> Result<()String>

fn fill_rects(&mut self, rects: &[Option<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(&mut self, rect: Option<Rect>) -> bool

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(&self, src_rect: Option<Rect>, dst: &mut SurfaceRef, dst_rect: Option<Rect>) -> Result<Option<Rect>, String>

Performs surface blitting (surface copying).

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

unsafe fn lower_blit(&self, src_rect: Option<Rect>, dst: &mut SurfaceRef, dst_rect: Option<Rect>) -> Result<()String>

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(&self, src_rect: Option<Rect>, dst: &mut SurfaceRef, dst_rect: Option<Rect>) -> Result<Option<Rect>, String>

Performs scaled surface bliting (surface copying).

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

unsafe fn lower_blit_scaled(&self, src_rect: Option<Rect>, dst: &mut SurfaceRef, dst_rect: Option<Rect>) -> Result<()String>

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.