Skip to content

Releases: rafern/lazy-widgets

0.10.9: Added Root.tabFocusable, stretch layers

23 Oct 15:01
4e523e9
Compare
Choose a tag to compare

Changes

  • Added Root.tabFocusable
    • true by default, to keep backwards-compatible behaviour
    • when false, KeyboardDriver will not dispatch any TabSelectEvent to the Root
  • LayeredContainer now stretches all layers to fit the final container dimensions
  • LayeredContainer now avoids the helper iterators internally. This should not cause any changes to the end-user
  • Added insertValueIntoOrderedSubsetList helper function (moved from KeyboardDriver)

0.10.8: Hotfix

01 Oct 16:26
d9bd753
Compare
Choose a tag to compare

Fixes

  • Fixed missing repaint when changing Slider#minValue/maxValue

0.10.7: Bug fixes and more exposed Slider properties

01 Oct 15:57
4fecd84
Compare
Choose a tag to compare

Changes

  • Slider minValue, maxValue and snapIncrement are now read-write instead of read-only

Fixes

  • Removed optimisation that caused bad BaseLabel width
  • Fixed bad TextInput cursor position after layout change

0.10.6: Single-pass layout resolution and bug fixes

26 Sep 17:08
25943f8
Compare
Choose a tag to compare

Changes

  • The layout resolution algorithm was changed again
    • Instead of doing 1-2 passes (depending on Root layout constraints), it now only does 1 pass
    • The flexbox layout resolution is now also more generic, instead of having 4 big special cases
  • Due to the aforementioned change, Widget.resolveDimensionsAsTop is now deprecated
  • Some minor refactoring

Fixes

  • Fixed text measuring edge-case
    • Measuring anywhere except the start or end of a width-overriding TextRenderGroup would lead to incorrect measurements
    • This was mostly seen when typing multiple spaces in a TextInput and moving the cursor around
  • Fixed flexbox cross-axis stretching (affects FlexAlignment.Stretch and FlexAlignment.SoftStretch)

0.10.5: EffectImageBitmap and broader image support

23 Sep 16:56
e861750
Compare
Choose a tag to compare

Changes

  • Support CanvasImageSource in Icon widget (in theory, not properly tested; please let me know if there are issues)
  • Added AsyncImageBitmap
  • Added EffectImageBitmap; lets you tint images

0.10.4: Alignment.SoftStretch

03 Sep 15:30
d5e8bac
Compare
Choose a tag to compare

Changes

  • Added Alignment.SoftStretch; like Alignment.Stretch, but avoids using the container maximum axis length

0.10.3: Hotfix

23 Aug 13:45
a4283bc
Compare
Choose a tag to compare

Fixes

  • Fixed vertical slider widgets

0.10.2: Hotfix

23 Aug 08:27
3d9eb1f
Compare
Choose a tag to compare

Fixes

  • Use anonymous crossOrigin on images and videos to prevent tainted canvas

0.10.1: Hotfix

22 Aug 16:17
c36594e
Compare
Choose a tag to compare

Fixes

  • Fixed bad interaction between flexBasis and text widgets
    • Cross-length of multi-containers was not being re-measured after widgets were grown or shrunk, causing cross-lengths to grow unnecessarily

0.10.0: More layout system improvements

22 Aug 15:54
1f7472b
Compare
Choose a tag to compare

Changes

  • Improved flexbox system
    • Flexbox growing now applies to a target length instead of a maximum length. This means that it's going to be based on the minimum length most of the time, except for when the maximum length is exceeded (which will cause shrinking)
    • Added flexShrink; if > 0, then the widget will be shrunk to fit the constraints of the container, and the shrunk amount will be relative to sibling widgets' flexShrink, just like the flex property
    • Added flexBasis; if not null, then overrides the widget's initial main axis length, independent of whether or not this would violate the layout constraints of the widget. Useful for, for example, distributing space exactly 50/50 between two growing widgets, by setting the flexBasis to 0 and flex to 1 on each widget
  • Removed ArtificialConstraint widget; Widget class now has built-in constraints
    • You can now specify a minWidth, minHeight, maxWidth and maxHeight via the properties object, or by setting it in the widget directly
  • Added ChildToParent axis coupling for ViewportWidget:
    • Uni-directional coupling from the child to the parent. The child's resolved axis length will be used as the ViewportWidget's minimum axis length.
    • You probably want to use this for scrollable viewports affecting layouts with unknown sizes
  • Renamed Uni axis coupling to ParentToChild, but kept Uni as an alias. The alias is deprecated and will be removed in the future
  • Removed a bunch of convenience widgets that were unnecessarily bloating the library:
    • BaseLabelledTextInput
    • LabelledCheckbox
    • LabelledRadioButton
    • LabelledTextInput
    • LiveLabelledCheckbox
    • LiveLabelledRadioButton
    • LiveLabelledTextInput
  • All virtual keyboard widgets no longer have minWidth and minHeight arguments, due to the aforementioned changes
  • All virtual keyboard widgets no longer use ArtificialConstraint, so you no longer access its button via child; just access this instead
  • Default container alignment was changed to Stretch on both axes
  • Deprecated Center and Margin widgets; prefer using the Container widget directly