Trait framing::Image [] [src]

pub trait Image {
    type Pixel;
    fn width(&self) -> usize;
fn height(&self) -> usize;
unsafe fn pixel(&self, x: usize, y: usize) -> Self::Pixel; }

A Image is just a still image.

Frames are made up of a number of pixels arranged in a dense and finite 2D grid. The pixels can be any type, but are usually RGBA or YUV values. A frame is usually backed by either a (potentially foreign) buffer or by another frame, which it transforms in some way, such as by rotating or inverting the pixels.

Associated Types

The kind of pixel that the frame is made of.

Required Methods

The width of the frame in pixels.

The height of the frame in pixels.

Gets the pixel at the specified zero-indexed coordinates.

Undefined Behavior

The caller must ensure that 0 <= x < width and that 0 <= y < height. If these invariants are not upheld, the callee is allowed to do whatever it wants to, including eat your laundry, panic, or return a result that makes no sense whatsoever.

Implementors