Skip to main content

Brush

Enum Brush 

Source
pub enum Brush {
    Solid(Color),
    Linear {
        angle_deg: f32,
        stops: Arc<[(f32, Color)]>,
    },
    Radial {
        radius: f32,
        stops: Arc<[(f32, Color)]>,
    },
    Conic {
        from_deg: f32,
        stops: Arc<[(f32, Color)]>,
    },
}
Expand description

Fill brush for an ExtractedRect. Gradient variants store their stops in an Arc<[...]> so cloning the brush bumps the Arc instead of deep-copying.

PartialEq compares appearance so the retained Node-IR damage diff (crate::node_ir) can tell an unchanged fill from a changed one - the producer rebuilds a fresh brush every frame, so identity (Arc::ptr_eq) alone never matches across frames.

Variants§

§

Solid(Color)

Solid fill.

§

Linear

Linear gradient. angle_deg follows the CSS convention (0 = left->right, 90 = bottom->top, 180 = top->bottom); stops are sorted by ascending offset.

Fields

§angle_deg: f32

Direction in degrees.

§stops: Arc<[(f32, Color)]>

(offset, color) pairs with offset in 0..=1.

§

Radial

Radial gradient centred at 50% / 50% of the entity rect.

Fields

§radius: f32

Normalised radius in 0..=1 relative to half the rect’s min dimension.

§stops: Arc<[(f32, Color)]>

(offset, color) pairs with offset in 0..=1.

§

Conic

Conic (sweep) gradient centred at 50% / 50%.

Fields

§from_deg: f32

Starting angle in degrees.

§stops: Arc<[(f32, Color)]>

(offset, color) pairs with offset in 0..=1.

Implementations§

Source§

impl Brush

Source

pub fn with_opacity(self, alpha: Opacity) -> Self

Returns a fresh brush with alpha multiplied into every color/stop. Gradient variants allocate a new stops Arc; the solid variant only updates the inner color.

Trait Implementations§

Source§

impl Clone for Brush

Source§

fn clone(&self) -> Brush

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Brush

Source§

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

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

impl From<&Fill> for Brush

Source§

fn from(f: &Fill) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Brush

Source§

fn eq(&self, other: &Brush) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 StructuralPartialEq for Brush

Auto Trait Implementations§

§

impl Freeze for Brush

§

impl RefUnwindSafe for Brush

§

impl Send for Brush

§

impl Sync for Brush

§

impl Unpin for Brush

§

impl UnsafeUnpin for Brush

§

impl UnwindSafe for Brush

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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.

§

impl<T> IntoResult<T> for T

§

fn into_result(self) -> Result<T, RunSystemError>

Converts this type into the system output type.
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.
§

impl<T> ConditionalSend for T
where T: Send,