Struct gif::Frame[][src]

pub struct Frame<'a> {
    pub delay: u16,
    pub dispose: DisposalMethod,
    pub transparent: Option<u8>,
    pub needs_user_input: bool,
    pub top: u16,
    pub left: u16,
    pub width: u16,
    pub height: u16,
    pub interlaced: bool,
    pub palette: Option<Vec<u8>>,
    pub buffer: Cow<'a, [u8]>,
}

A GIF frame

Fields

delay: u16

Frame delay in units of 10 ms.

dispose: DisposalMethod

Disposal method.

transparent: Option<u8>

Transparent index (if available).

needs_user_input: bool

True if the frame needs user input to be displayed.

top: u16

Offset from the top border of the canvas.

left: u16

Offset from the left border of the canvas.

width: u16

Width of the frame.

height: u16

Height of the frame.

interlaced: bool

True if the image is interlaced.

palette: Option<Vec<u8>>

Frame local color palette if available.

buffer: Cow<'a, [u8]>

Buffer containing the image data. Only indices unless configured differently.

Implementations

impl Frame<'static>[src]

pub fn from_rgba(width: u16, height: u16, pixels: &mut [u8]) -> Frame<'static>[src]

Creates a frame from pixels in RGBA format. Note: This method is not optimized for speed.

Panics:

  • If the length of pixels does not equal width * height * 4.

pub fn from_rgba_speed(
    width: u16,
    height: u16,
    pixels: &mut [u8],
    speed: i32
) -> Frame<'static>
[src]

Creates a frame from pixels in RGBA format. speed is a value in the range [1, 30]. The higher the value the faster it runs at the cost of image quality. A speed of 10 is a good compromise between speed and quality.

Panics:

  • If the length of pixels does not equal width * height * 4.
  • If speed < 1 or speed > 30

pub fn from_palette_pixels(
    width: u16,
    height: u16,
    pixels: &[u8],
    palette: &[u8],
    transparent: Option<u8>
) -> Frame<'static>
[src]

Creates a frame from a palette and indexed pixels.

Panics:

  • If the length of pixels does not equal width * height.
  • If the length of palette > 256 * 3.

pub fn from_indexed_pixels(
    width: u16,
    height: u16,
    pixels: &[u8],
    transparent: Option<u8>
) -> Frame<'static>
[src]

Creates a frame from indexed pixels in the global palette.

Panics:

  • If the length of pixels does not equal width * height.

pub fn from_rgb(width: u16, height: u16, pixels: &[u8]) -> Frame<'static>[src]

Creates a frame from pixels in RGB format. Note: This method is not optimized for speed.

Panics:

  • If the length of pixels does not equal width * height * 3.

pub fn from_rgb_speed(
    width: u16,
    height: u16,
    pixels: &[u8],
    speed: i32
) -> Frame<'static>
[src]

Creates a frame from pixels in RGB format. speed is a value in the range [1, 30]. The higher the value the faster it runs at the cost of image quality. A speed of 10 is a good compromise between speed and quality.

Panics:

  • If the length of pixels does not equal width * height * 3.
  • If speed < 1 or speed > 30

Trait Implementations

impl<'a> Clone for Frame<'a>[src]

impl<'a> Debug for Frame<'a>[src]

impl<'a> Default for Frame<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for Frame<'a>

impl<'a> Send for Frame<'a>

impl<'a> Sync for Frame<'a>

impl<'a> Unpin for Frame<'a>

impl<'a> UnwindSafe for Frame<'a>

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> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.