Crate scribl_curves

Source

Modules§

save

Structs§

Cursor
A cursor allows for efficiently scanning through a collection of overlapping intervals (which we call “spans”). It is optimized for the case where you need to repeatedly move the current position by a little bit in either direction; in this case, the complexity is O(n), where n is the number of “active” spans that overlap the times you’re interested in.
DrawSnippet
A snippet is a sequence of strokes, possibly modified by a time distortion.
DrawSnippetId
Snippets are identified by unique ids.
DrawSnippets
A collection of DrawSnippets, which can be accessed using their id.
Effects
A collection of effects.
FadeEffect
A fade effect.
Lerp
Specifies interpolations between two sets of times.
Span
StrokeInProgress
While drawing, this stores one continuous poly-line (from pen-down to pen-up). Because we expect lots of fast changes to this, it uses interior mutability to avoid repeated allocations.
StrokeRef
A single continuous stroke in a StrokeSeq, with borrowed data.
StrokeSeq
A StrokeSeq is a sequence of strokes, each of which is a continuous curve. Each stroke can have its own style (thickness, color, effects). The strokes in a StrokeSeq are non-decreasing in time: one stroke ends before another begins.
StrokeStyle
Time
The clock of a scribl.
TimeDiff
The difference between two Times. Unlike std::time::Duration, this can be negative.
TimeSpan
An interval of times.

Enums§

Effect

Type Aliases§

DrawCursor