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.
- New renderProperty and styleProperty delegates to define properties that should trigger render and styleChanged events when changed.
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