pub trait Surface {
    fn as_ptr(&self) -> NonNull<RawSurface>;

    fn cloned(&self) -> Cloned { ... }
    fn clipped(self, area: Rect) -> Clipped<Self>
    where
        Self: Sized
, { ... } fn blend(self, mode: BlendMode) -> Blended<Self>
    where
        Self: Sized
, { ... } fn alpha_mod(self, alpha: u8) -> AlphaMod<Self>
    where
        Self: Sized
, { ... } fn color_mod(self, color: Rgb) -> ColorMod<Self>
    where
        Self: Sized
, { ... } fn fill_rect(&self, area: Option<Rect>, color: Pixel) { ... } fn fill_rects(&self, areas: impl IntoIterator<Item = Rect>, color: Pixel) { ... } fn set_palette(&self, palette: &Palette) { ... } fn copy_to<S: Surface>(&self, src_area: Rect, dst: &S, dst_pos: Point) { ... } fn rle(&mut self) -> Rle<'_, Self>
    where
        Self: Sized
, { ... } }
Expand description

A trait that provides flexible modification methods.

Required Methods§

Returns the raw non-null pointer.

Provided Methods§

Clones the surface.

Clips the surface by area.

Changes blend mode of the surface.

Modifies the alpha of the surface.

Modifies the color of the surface.

Fills in the area with the color, or whole if area is None.

Fills in the areas with the color.

Overwrites the palette of the surface.

Copies src_area area in the surface into dst_pos on another surface.

Run-length encodes the surface.

Implementors§