Skip to main content

PaintCtx

Struct PaintCtx 

Source
pub struct PaintCtx<'a> {
    pub theme: &'a Theme,
    pub text: &'a mut TextEngine,
    pub bounds: Rect,
    pub state: VisualState,
    pub now_ms: u64,
}
Expand description

What a widget needs in order to draw itself.

Mutable, because PaintCtx::text is: measuring a string is what fills the glyph cache, so a widget that measures and then draws rasterises each glyph once rather than twice. The widget itself is still &self.

Fields§

§theme: &'a Theme

The active theme. Widgets name roles, never colours.

§text: &'a mut TextEngine

Fonts and the glyph cache.

§bounds: Rect

Absolute bounds of this widget, in surface pixels.

§state: VisualState

Hover, press, focus and enabled state, tracked by the tree.

§now_ms: u64

Milliseconds from an arbitrary epoch, as last given to crate::Ui::tick.

Trait Implementations§

Source§

impl<'a> Debug for PaintCtx<'a>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for PaintCtx<'a>

§

impl<'a> !Send for PaintCtx<'a>

§

impl<'a> !Sync for PaintCtx<'a>

§

impl<'a> !UnwindSafe for PaintCtx<'a>

§

impl<'a> Freeze for PaintCtx<'a>

§

impl<'a> Unpin for PaintCtx<'a>

§

impl<'a> UnsafeUnpin for PaintCtx<'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> AsAny for T
where T: Any,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Borrows as dyn Any.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Mutably borrows as dyn Any.
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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.