pub struct Cursor {Show 14 fields
pub width: f32,
pub height: f32,
pub color: String,
pub blink: f32,
pub radius: f32,
pub click_at: Vec<f64>,
pub auto_path: Vec<CursorWaypoint>,
pub click_duration: f32,
pub cursor_style: CursorStyle,
pub path_easing: CursorPathEasing,
pub timing: TimingConfig,
pub style: CssStyle,
pub timeline: Vec<TimelineStep>,
pub stagger: Option<f32>,
}Expand description
A blinking cursor component (vertical bar) with optional motion path and click events.
Fields§
§width: f32§height: f32§color: String§blink: f32Blink interval in seconds (0 = no blink, always visible).
radius: f32§click_at: Vec<f64>Timestamps (seconds) at which the cursor “clicks” (scale bounce effect). Used when no auto_path waypoints are provided.
auto_path: Vec<CursorWaypoint>Auto-path waypoints: cursor moves between these positions with smooth curves. Each waypoint has a time and position. The cursor clicks at each waypoint.
click_duration: f32Click animation duration in seconds.
cursor_style: CursorStyleVisual cursor style: “default” (arrow) or “pointer” (hand). Currently both render as a bar; this is metadata for future SVG cursors.
path_easing: CursorPathEasingEasing for movement between waypoints: “ease_in_out” (default), “linear”, “ease_out”.
timing: TimingConfig§style: CssStyle§timeline: Vec<TimelineStep>§stagger: Option<f32>Trait Implementations§
Source§impl Animatable for Cursor
impl Animatable for Cursor
fn animation_effects(&self) -> &[AnimationEffect]
Source§fn timeline_steps(&self) -> &[TimelineStep]
fn timeline_steps(&self) -> &[TimelineStep]
Timed animation steps (
timeline field): each step’s animations are
resolved with delay += step.at. Empty by default.Source§impl<'de> Deserialize<'de> for Cursor
impl<'de> Deserialize<'de> for Cursor
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl JsonSchema for Cursor
impl JsonSchema for Cursor
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreSource§impl Painter for Cursor
impl Painter for Cursor
Source§fn paint_content(
&self,
canvas: &Canvas,
_layout: &BoxLayout,
_props: &AnimatedProperties,
ctx: &PaintCtx,
)
fn paint_content( &self, canvas: &Canvas, _layout: &BoxLayout, _props: &AnimatedProperties, ctx: &PaintCtx, )
Paint the component’s content into the canvas. The canvas is
already translated to the content-box origin and clipped if
overflow: hidden was set. Generic decorations (bg, border,
shadow) are already painted by the engine. Read moreSource§fn intrinsic_size(
&self,
_available: AvailableSize,
_ctx: &MeasureCtx,
) -> Option<(f32, f32)>
fn intrinsic_size( &self, _available: AvailableSize, _ctx: &MeasureCtx, ) -> Option<(f32, f32)>
Optional intrinsic measurement for leaves like
text, image,
codeblock. Return None to let taffy compute the size from the
CSS style alone. available mirrors taffy’s AvailableSpace.Auto Trait Implementations§
impl Freeze for Cursor
impl RefUnwindSafe for Cursor
impl Send for Cursor
impl Sync for Cursor
impl Unpin for Cursor
impl UnsafeUnpin for Cursor
impl UnwindSafe for Cursor
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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