github nacular/doodle v0.4.0
0.4.0

latest releases: v0.11.5, v0.11.4, v0.11.3...
4 years ago

Updated Kotlin to 1.4.21!

This release only supports the legacy backend though. Support for the IR backend will come in a future release as dependencies enable it.

  • Update to Measured 0.3.0
  • Update to Mockk 1.10.4
  • Updated to Dokka 0.10.1

API Changes

Improved Font support with the ability to load fonts from file urls.

  • Replaced FontDetector with FontLoader. This new interface includes the ability to load a Font via a source like a url.
  • Updated Font definition to better reflect how font-style works
  • Added basic support for oblique font styles

Added new delegates to View to improve handling of properties that should re-render or notify of a style change.

class MyView: View {
    var name by renderProperty("") // will cause the View to rerender when it changes
    var age  by styleProperty (56) // will cause trigger styleChanged event when changed
}
  • Reduced Positionable API so that View now implements it
  • New itemsChanged event for DynamicList and DynamicTree
  • Added clicked event to PointerListener
  • Renamed events in KeyListener
  • Pointer, PointerMotion, and Key listener DSLs for more compact consumption of a single event type
view.poinerChanged += pressed  { event -> }
view.keyChanged    += released { event -> }
view.pointerMotionChanged += dragged { event -> }
  • DSLs to simplify usage of ListEditor, Layouts that only position, and CommonButtonBehavior that just render
  • TextField now supports font/color for placeholder
  • Added itemsChanged event to DynamicList and DynamicTree
  • Added support for text decorations to StyledText
  • Reduced visibility of constructors for InputEvent and PointerEvent

Other Improvements

  • Improved child -> row handling in List and Tree
  • MutableList now cancels existing editing when startEditing is called
  • TextMetricsImpl now uses LRUs instead of simple maps to track sizes
  • BasicTab now consumes mouse presses
  • TableHeaderCell now consumes mouse presses
  • Centralized internal ID generation used to manage DOM elements
  • Minor tweak to cursor handling to avoid setting default on root when Display has no cursor
  • Improved native HyperLink styling
  • Simplified unit tests to avoid compiler bug

Don't miss a new doodle release

NewReleases is sending notifications on new releases.