Trait RotozoomSurface

pub trait RotozoomSurface {
    // Required methods
    fn rotozoom(
        &self,
        angle: f64,
        zoom: f64,
        smooth: bool,
    ) -> Result<Surface<'_>, String> ;
    fn rotozoom_xy(
        &self,
        angle: f64,
        zoomx: f64,
        zoomy: f64,
        smooth: bool,
    ) -> Result<Surface<'_>, String> ;
    fn zoom(
        &self,
        zoomx: f64,
        zoomy: f64,
        smooth: bool,
    ) -> Result<Surface<'_>, String> ;
    fn shrink(&self, factorx: i32, factory: i32) -> Result<Surface<'_>, String> ;
    fn rotate_90deg(&self, turns: i32) -> Result<Surface<'_>, String> ;
}
Available on crate feature dep_sdl2 only.
Expand description

RotozoomSurface for work with rust-sdl2 Surface type

Required Methods§

fn rotozoom( &self, angle: f64, zoom: f64, smooth: bool, ) -> Result<Surface<'_>, String>

Rotates and zooms a surface and optional anti-aliasing.

fn rotozoom_xy( &self, angle: f64, zoomx: f64, zoomy: f64, smooth: bool, ) -> Result<Surface<'_>, String>

Rotates and zooms a surface with different horizontal and vertical scaling factors and optional anti-aliasing.

fn zoom( &self, zoomx: f64, zoomy: f64, smooth: bool, ) -> Result<Surface<'_>, String>

Zoom a surface by independent horizontal and vertical factors with optional smoothing.

fn shrink(&self, factorx: i32, factory: i32) -> Result<Surface<'_>, String>

Shrink a surface by an integer ratio using averaging.

fn rotate_90deg(&self, turns: i32) -> Result<Surface<'_>, String>

Rotates a 8/16/24/32 bit surface in increments of 90 degrees.

Implementors§

§

impl<'a> RotozoomSurface for Surface<'a>