[][src]Struct footile::RasterB

pub struct RasterB<F: PixFmt> { /* fields omitted */ }

A raster image with borrowed pixel data. This is more tricky to use than Raster, so it should only be used when pixel data must be owned elsewhere.


use footile::{PathBuilder,PixFmt,Plotter,RasterB,Rgba8};
let path = PathBuilder::new().pen_width(5.0)
                       .move_to(16.0, 48.0)
                       .line_to(32.0, 0.0)
                       .line_to(-16.0, -32.0)
let mut p = Plotter::new(100, 100);
let mut r = RasterB::new(p.width(), p.height());
let len = (p.width() * p.height()) as usize;
// NOTE: typically the pixels would be borrowed from some other source
let mut pixels = vec!(0; len * std::mem::size_of::<Rgba8>());
let mut pix = Rgba8::as_slice_mut(&mut pixels);
r.over(p.stroke(&path), Rgba8::rgb(208, 255, 208), pix);


impl<F: PixFmt> RasterB<F>[src]

pub fn new(width: u32, height: u32) -> RasterB<F>[src]

Create a new raster image for borrowed pixel data.

  • F Pixel format.
  • width Width in pixels.
  • height Height in pixels.

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

Get raster width.

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

Get raster height.

pub fn clear(&self, pixels: &mut [F])[src]

Clear all pixels.

pub fn over(&self, mask: &mut Mask, clr: F, pixels: &mut [F])[src]

Blend pixels with an alpha mask.

  • mask Alpha mask for compositing. It is cleared before returning.
  • clr Color to composite.
  • pixels Borrowed pixel data.

Auto Trait Implementations

impl<F> Send for RasterB<F> where
    F: Send

impl<F> Sync for RasterB<F> where
    F: Sync

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized

impl<T> BorrowMut for T where
    T: ?Sized

impl<T, U> TryInto for T where
    U: TryFrom<T>, 

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

The type returned in the event of a conversion error.

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