Doodle is a pure Kotlin UI framework for the Web, that lets you create rich applications without relying on Javascript, HTML or CSS. Check out the documentation and tutorials to learn more.
Features
- New helpers for creating paths for circles, rings, and ring-sections
val ring : Path = ring (center, innerRadius, outerRadius)
val section: Path = ringSection(center, innerRadius, outerRadius, startAngle, endAngle)
- New PathProgressIndicatorBehavior that lets you create progress indicators by outlining a path
object: ProgressIndicator() {
init {
size = Size(200, 100)
progress = 0.25
behavior = PathProgressIndicatorBehavior(
pathMetrics, // injected
path = path("M10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80")!!,
foreground = LinearGradientPaint(Black, Blue, Origin, Point(width, 0.0)),
foregroundThickness = 5.0,
background = Lightgray.paint,
backgroundThickness = 5.0
)
}
}
- New BasicCircularProgressBehavior to replace the old with more flexibility/configurability
- Updated BasicCircularSliderBehavior so it can have Fills instead of just Colors and exposed thickness
- BasicProgressBarBehavior now takes an optional background Fill, configurable outline thickness, foreground and background corner radii
-
Stroke can now be filled with any supported Paint, instead of just
Color
, and now support dash offset
canvas.rect(rectangle = bounds.atOrigin.inset(10.0),
radius = 10.0,
stroke = Stroke(fill = LinearGradientPaint(Red, Green, Origin, Point(width, height)), thickness = 20.0))
APIs
- Deprecated CircularProgressBehavior (replaced by BasicCircularProgressBehavior)
- Stroke dashes changed to DoubleArray
- PathMetrics can now measure the bounds of a Path (in addition to size)
- Fill renamed to Paint and old usages deprecated
Bug Fixes / Improvements
- ProgressIndicator now delegates render/hit-detection to its behavior
Docs
- Added examples of Circular and Path ProgressIndicator behaviors to docs
See the full release notes for more details.
Top comments (0)