tiny_skia

Struct Paint

source
pub struct Paint<'a> {
    pub shader: Shader<'a>,
    pub blend_mode: BlendMode,
    pub anti_alias: bool,
    pub force_hq_pipeline: bool,
}
Expand description

Controls how a shape should be painted.

Fields§

§shader: Shader<'a>

A paint shader.

Default: black color

§blend_mode: BlendMode

Paint blending mode.

Default: SourceOver

§anti_alias: bool

Enables anti-aliased painting.

Default: true

§force_hq_pipeline: bool

Forces the high quality/precision rendering pipeline.

tiny-skia, just like Skia, has two rendering pipelines: one uses f32 and another one uses u16. u16 one is usually way faster, but less precise. Which can lead to slight differences.

By default, tiny-skia will choose the pipeline automatically, depending on a blending mode and other parameters. But you can force the high quality one using this flag.

This feature is especially useful during testing.

Unlike high quality pipeline, the low quality one doesn’t support all rendering stages, therefore we cannot force it like hq one.

Default: false

Implementations§

source§

impl<'a> Paint<'a>

source

pub fn set_color(&mut self, color: Color)

Sets a paint source to a solid color.

source

pub fn set_color_rgba8(&mut self, r: u8, g: u8, b: u8, a: u8)

Sets a paint source to a solid color.

self.shader = Shader::SolidColor(Color::from_rgba8(50, 127, 150, 200)); shorthand.

source

pub fn is_solid_color(&self) -> bool

Checks that the paint source is a solid color.

Trait Implementations§

source§

impl<'a> Clone for Paint<'a>

source§

fn clone(&self) -> Paint<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for Paint<'a>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Paint<'_>

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'a> PartialEq for Paint<'a>

source§

fn eq(&self, other: &Paint<'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a> StructuralPartialEq for Paint<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Paint<'a>

§

impl<'a> RefUnwindSafe for Paint<'a>

§

impl<'a> Send for Paint<'a>

§

impl<'a> Sync for Paint<'a>

§

impl<'a> Unpin for Paint<'a>

§

impl<'a> UnwindSafe for Paint<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

source§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.