Features
New SweepGradientPaint
The new sweep gradient paint lets you fill regions with gradients that follow a line that sweeps around a center point. This new paint is a GradientPaint, which means it allows you to specify a series of colors and stops to create very flexible fills.
canvas.rect(rect, fill = SweepGradientPaint(Red opacity 0.5f, Blue, centerPoint))
canvas.rect(
rectangle = rect,
fill = SweepGradientPaint(
colors = listOf(
Stop(Red, 0.0f),
Stop(Orange, 0.5f),
Stop(Blue, 1.0f),
),
center = somePoint,
rotation = rotation
)
)APIs
- General
- New
ScrollPanel.scrollChangedevent - New pointer filter events for
Tableheader, body and footer available toTableBehaviors. - New helpers to make creating
MetaRowPositioner,HeaderCellGenerator, andFooterCellGeneratorfor tables. StyledTexthelpers forColorandPaintcan now target textForeground.- New
WhenManuallySetRequiredIndicatorStylethat lets you set its visibility manually. Resizernow lets you control which phase of the event process it uses to trigger. This will make it possible for it to word even for Views with children that consume pointer events.- New
lerphelper forMeasures. - New constructor for
BasicCircularProgressIndicatorBehaviorthat takes lambdas for paint/stroke. StarRaternow allows rounding of its points- New
starmethod variant that takes an innerCircle radius ratio
- New
Fixes | Improvements
-
General
- Built-in Form controls will now scroll into view when focused
View.styleChangedwill now fire when a View is added to a parent that causes itsfontto change.- Focus traversal for popups and some other cases.
- Added API docs to CommonButtonBehavior and CommonTextButtonBehavior
- Removed duplicate model listener in Table family of classes.
- Slight improvement in change event processing within
FilteredList. - Modals no longer throw an error if their completion is invoked multiple times.
- Issue where
ModalManagerImplcould close the wrong modal on completion. - Fixed issue where
DynamicListdid not always remove all the right items when its model changes. Sizeno longer throwsIllegalArgumentExceptionwhen given negative values forwidthorheight. It just maps these to0instead.- Fixed issue with layer ordering when
DisplayImplhas a complexfill - Fixed bug in StyledText.isBlank
- Bug where
ringSectionstartCapandendCapwere flipped StarRaterno longer clips stars when they are rotated- Minor bug in
Resizerrelated to cursor updating on pointer up - Edge cases where View's not repainted or laid out when becoming visible after having bounds change while invisible.
-
Browser
- Focus was not properly being returned to the last focused View when focus left/returned to the window.
- Native TextField behavior now avoids prematurely clearing focus, so it can be regained when the window is selected again.
- Native HyperLink behavior now clicks the underlying link in response to the
firedevent. - Fixed
Viewclipping withinDocumentImpl - Issue with SVG shadows in some cases.
- Fixed issue where shadow filter not cleared correctly on reused element
- Fixed text baseline alignment issue when using svg
- Addressed some inconsistencies in how text is rendered via SVG vs plain HTML.
- Issue where outer shadow could have incorrect offsets
- Outer shadows could be clipped when used withing
PatternPaint.
-
Desktop
- Fixed issue with text shadows. Inner shadows are now supported.
- Fixed issue where native views in popups were not assigned to any Display and therefore Swing peers were not added to the scene. This broke events for these Views.
Versions
- Mockk -> 1.13.9
- Dokka -> 1.9.20