Releases: rafern/lazy-widgets
Releases · rafern/lazy-widgets
0.23.2: Bugfix
Fixes
- Fixed SystemTextInputHandler on iPhone (#11)
- Fixed excessive listener calls in ConcurrentCollection
0.23.1: Hotfix
Fixes
- Fixed keyboard focus-stealing caused by TextInputHandler
0.23.0: Easier and wider media support
Changes
- Added Notifier class (base class for notification-dispatching classes)
- Improved and renamed AsyncImageBitmap to AsyncMedia, as well as derivates
- TextImageBitmap is now named TextMedia
- EffectImageBitmap is now named EffectMedia
- AsyncMedia now dispatches load, resize and dirty events, although presentation hashes are still available (and necessary for some edge-cases)
- AsyncMedia.bitmap was renamed to AsyncMedia.currentFrame, and now uses the FastCanvasImageSource type (which includes types which are fast to paint, such as ImageBitmap and VideoFrame)
- Added BackingMediaWrapper
- A helper class that wraps any BackingMediaSource and processes it in an easy-to-use way similar to AsyncMedia
- This should make it easy for widgets to accept any media type, including video, as there is a single implementation for all media types
- Added BackingMediaSourceType.ImageBitmap (ImageBitmap is no longer resolved to the BackingMediaSourceType.Immediate type)
Fixes
- Fixed theoretical issues caused by very long-running animations in AsyncMedia, where presentation hashes would not wrap around to 0 on large values; presentation hashes are now 31-bit unsigned integers that wrap around to 0 via the
incrementUint31helper function
0.22.3: Hotfix
Fixes
- Fixed ClickProxy not resetting click state on deactivate
- Fixed CompoundClickHelper not updating click state on first reference
0.22.2: Hotfix
Fixes
- Fixed ClickProxy not getting focused, causing clicks when dragging the pointer
- Fixed ClickProxy not being exported in concrete-widgets.ts, causing auto-XML registration to fail
0.22.1: Hotfix
Fixes
- Fixed enums not being exported properly
0.22.0: Improved ClickHelper system
Changes
- Turn ClickHelper-related classes into an event-based system, instead of the old flag-based system
- Removed BaseClickHelper.lastClickState, clickStateChanged, wasClick, and doneProcessing
- BaseClickHelper is now a base class instead of an interface, due to the new common event listener methods
- ButtonClickHelper.handleEvent now returns just a boolean (captured)
- CompoundClickHelper and derivate classes are now reference-counted (CompoundClickHelper.ref and unref need to be called now)
- Added ComplementaryClickHelper and ClickProxy
- This allows you to implement clickable widgets that act as a proxy for another clickable widget (e.g. checkbox labels)
- Added ConcurrentCollection
- This is a collection class which can be modified while being iterated
- Useful for implementing event listener lists
0.21.1: Letter spacing
Changes
- Added TextHelper.letterSpacing
- For widgets, this is controllable via the
bodyTextLetterSpacingandinputTextLetterSpacingtheme properties
- For widgets, this is controllable via the
- Refactored measureTextDims' CacheEntry
0.21.0: Remove ObservableTransformer.destroy
Changes
- Removed
ObservableTransformer.destroy- Now you just have to watch the transformer for it to start watching the inputs. When nothing is watching the transformer anymore, the inputs will be unwatched
- Note that this is technically backwards incompatible, since you might be using transformers without watching them. That use-case is no longer supported, as it necessitates manually cleaning up the transformer
0.20.0: BackingCanvas
Changes
- All canvas-based rendering is now backed by a BackingCanvas
- A BackingCanvas is an OffscreenCanvas (or an HTMLCanvasElement if OffscreenCanvas is not available)
- You can create it via the
createBackingCanvasmethod
Fixes
- Fixed
validateImageSourcenot accepting OffscreenCanvas or HTMLCanvasElement