Struct zng::color::gradient::TiledLinearGradient
source · pub struct TiledLinearGradient<S, A, E, O, T, TS> { /* private fields */ }
Expand description
Tiled linear gradient.
Can be used as a node that fills the available space with the gradient tiles, or can continue building a tiled linear gradient.
Use LinearGradient::tile
to build.
Implementations§
source§impl<S, A, E, O, T, TS> TiledLinearGradient<S, A, E, O, T, TS>where
S: Var<GradientStops>,
A: Var<LinearGradientAxis>,
E: Var<ExtendMode>,
O: Var<Point>,
T: Var<Size>,
TS: Var<Size>,
impl<S, A, E, O, T, TS> TiledLinearGradient<S, A, E, O, T, TS>where
S: Var<GradientStops>,
A: Var<LinearGradientAxis>,
E: Var<ExtendMode>,
O: Var<Point>,
T: Var<Size>,
TS: Var<Size>,
sourcepub fn tile_spacing<TS2>(
self,
spacing: TS2,
) -> TiledLinearGradient<S, A, E, O, T, <TS2 as IntoVar<Size>>::Var>
pub fn tile_spacing<TS2>( self, spacing: TS2, ) -> TiledLinearGradient<S, A, E, O, T, <TS2 as IntoVar<Size>>::Var>
Set the space between tiles.
Relative values are resolved on the tile size, so setting this to 100.pct()
will
skip a tile.
Leftover values are resolved on the space taken by tiles that do not
fully fit in the available space, so setting this to 1.lft()
will cause the border tiles
to always touch the full bounds and the middle filled with the maximum full tiles that fit or
empty space.
sourcepub fn tile_origin<O2>(
self,
origin: O2,
) -> TiledLinearGradient<S, A, E, <O2 as IntoVar<Point>>::Var, T, TS>
pub fn tile_origin<O2>( self, origin: O2, ) -> TiledLinearGradient<S, A, E, <O2 as IntoVar<Point>>::Var, T, TS>
Sets the tile offset.
Relative values are resolved on the tile size, so setting this to 100.pct()
will
offset a full turn.
Trait Implementations§
source§impl<S, A, E, O, T, TS> UiNode for TiledLinearGradient<S, A, E, O, T, TS>where
S: Var<GradientStops>,
A: Var<LinearGradientAxis>,
E: Var<ExtendMode>,
O: Var<Point>,
T: Var<Size>,
TS: Var<Size>,
impl<S, A, E, O, T, TS> UiNode for TiledLinearGradient<S, A, E, O, T, TS>where
S: Var<GradientStops>,
A: Var<LinearGradientAxis>,
E: Var<ExtendMode>,
O: Var<Point>,
T: Var<Size>,
TS: Var<Size>,
source§fn update(&mut self, _: &WidgetUpdates)
fn update(&mut self, _: &WidgetUpdates)
Receives variable and other non-event updates. Read more
source§fn measure(&mut self, _: &mut WidgetMeasure) -> Size2D<Px, Px>
fn measure(&mut self, _: &mut WidgetMeasure) -> Size2D<Px, Px>
Computes the widget size given the contextual layout metrics without actually updating the widget layout. Read more
source§fn layout(&mut self, _: &mut WidgetLayout) -> Size2D<Px, Px>
fn layout(&mut self, _: &mut WidgetLayout) -> Size2D<Px, Px>
Computes the widget layout given the contextual layout metrics. Read more
source§fn render(&mut self, frame: &mut FrameBuilder)
fn render(&mut self, frame: &mut FrameBuilder)
Generates render instructions and updates transforms and hit-test areas. Read more
source§fn info(&mut self, info: &mut WidgetInfoBuilder)
fn info(&mut self, info: &mut WidgetInfoBuilder)
Builds widget info. Read more
source§fn event(&mut self, update: &EventUpdate)
fn event(&mut self, update: &EventUpdate)
Receives an event. Read more
source§fn render_update(&mut self, update: &mut FrameUpdate)
fn render_update(&mut self, update: &mut FrameUpdate)
Updates values in the last generated frame. Read more
source§fn boxed(self) -> Box<dyn UiNodeBoxed>where
Self: Sized,
fn boxed(self) -> Box<dyn UiNodeBoxed>where
Self: Sized,
Box this node or just returns
self
if it is already a BoxedUiNode
.source§fn cfg_boxed(self) -> Box<dyn UiNodeBoxed>where
Self: Sized,
fn cfg_boxed(self) -> Box<dyn UiNodeBoxed>where
Self: Sized,
Helper for complying with the
"dyn_node"
feature, boxes the node or just returns it depending of the
compile time feature.source§fn is_widget(&self) -> bool
fn is_widget(&self) -> bool
Gets if this node represents a full widget, that is, it is the outer-most widget node and defines a widget context. Read more
source§fn with_context<R, F>(
&mut self,
update_mode: WidgetUpdateMode,
f: F,
) -> Option<R>where
F: FnOnce() -> R,
fn with_context<R, F>(
&mut self,
update_mode: WidgetUpdateMode,
f: F,
) -> Option<R>where
F: FnOnce() -> R,
source§fn into_widget(self) -> Box<dyn UiNodeBoxed>where
Self: Sized,
fn into_widget(self) -> Box<dyn UiNodeBoxed>where
Self: Sized,
Gets a
BoxedUiNode
that is a full widget. Read moresource§fn init_widget(
self,
) -> (Box<dyn UiNodeBoxed>, ReadOnlyVar<Response<WidgetId>, ArcVar<Response<WidgetId>>>)where
Self: Sized,
fn init_widget(
self,
) -> (Box<dyn UiNodeBoxed>, ReadOnlyVar<Response<WidgetId>, ArcVar<Response<WidgetId>>>)where
Self: Sized,
Gets a
BoxedUiNode
that already is a full widget or will be after init and a response var that
already is the widget ID or will update once after init with the ID. Read moresource§fn downcast_unbox<T>(self) -> Result<T, Box<dyn UiNodeBoxed>>
fn downcast_unbox<T>(self) -> Result<T, Box<dyn UiNodeBoxed>>
source§fn actual_type_id(&self) -> TypeId
fn actual_type_id(&self) -> TypeId
Returns the
type_id
of the unboxed node.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)where
Self: Sized,
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)where
Self: Sized,
Access to mut
dyn Any
methods.Auto Trait Implementations§
impl<S, A, E, O, T, TS> Freeze for TiledLinearGradient<S, A, E, O, T, TS>
impl<S, A, E, O, T, TS> RefUnwindSafe for TiledLinearGradient<S, A, E, O, T, TS>where
S: RefUnwindSafe,
A: RefUnwindSafe,
E: RefUnwindSafe,
O: RefUnwindSafe,
T: RefUnwindSafe,
TS: RefUnwindSafe,
impl<S, A, E, O, T, TS> Send for TiledLinearGradient<S, A, E, O, T, TS>
impl<S, A, E, O, T, TS> Sync for TiledLinearGradient<S, A, E, O, T, TS>
impl<S, A, E, O, T, TS> Unpin for TiledLinearGradient<S, A, E, O, T, TS>
impl<S, A, E, O, T, TS> UnwindSafe for TiledLinearGradient<S, A, E, O, T, TS>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more