Struct sdl2::surface::Surface [] [src]

pub struct Surface<'a> {
    // some fields omitted
}

Methods

impl<'a> Surface<'a>
[src]

unsafe fn from_ll<'b>(raw: *mut SDL_Surface) -> Surface<'b>

fn new(width: u32, height: u32, format: PixelFormatEnum) -> Result<Surface<'static>, String>

Creates a new surface using a pixel format.

Example

use sdl2::pixels::PixelFormatEnum;
use sdl2::surface::Surface;

let surface = Surface::new(512, 512, PixelFormatEnum::RGB24).unwrap();

fn from_pixelmasks(width: u32, height: u32, masks: PixelMasks) -> Result<Surface<'static>, String>

Creates a new surface using pixel masks.

Example

use sdl2::pixels::PixelFormatEnum;
use sdl2::surface::Surface;

let masks = PixelFormatEnum::RGB24.into_masks().unwrap();
let surface = Surface::from_pixelmasks(512, 512, masks).unwrap();

fn from_data(data: &'a mut [u8], width: u32, height: u32, pitch: u32, format: PixelFormatEnum) -> Result<Surface<'a>, String>

Creates a new surface from an existing buffer, using a pixel format.

fn from_data_pixelmasks(data: &'a mut [u8], width: u32, height: u32, pitch: u32, masks: PixelMasks) -> Result<Surface<'a>, String>

Creates a new surface from an existing buffer, using pixel masks.

fn load_bmp_rw(rwops: &mut RWops) -> Result<Surface<'static>, String>

fn load_bmp<P: AsRef<Path>>(path: P) -> Result<Surface<'static>, String>

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 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.

Trait Implementations

impl<'a> Drop for Surface<'a>
[src]

fn drop(&mut self)

A method called when the value goes out of scope. Read more

impl<'a> Deref for Surface<'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 Surface<'a>
[src]

fn deref_mut(&mut self) -> &mut SurfaceRef

The method called to mutably dereference a value

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

fn as_ref(&self) -> &SurfaceRef

Performs the conversion.

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

fn as_mut(&mut self) -> &mut SurfaceRef

Performs the conversion.