linked_layouts 0.5.0 copy "linked_layouts: ^0.5.0" to clipboard
linked_layouts: ^0.5.0 copied to clipboard

Create custom layout systems based on the multi-leader-multi-follower pattern.

0.5.0 #

  • Fixed internal update order of RenderObjectWithOptionalLayoutLinkMixin.layoutLink, RenderObjectWithRequiredLayoutLinkMixin.layoutLink, RenderSlottedLayoutLeader.slot.
  • Exposed public API LeaderLayoutLinkHandle to enforce encapsulation of didLeaderDoPaint and didLeaderDoLayout of LayoutLink. Access to those methods is now provided via LeaderLayoutLinkHandle instance methods.
  • Exposed public API FollowerLayoutLinkHandle to encapsulate follower redepthing logic. Added a tryRedepthClient method.
  • Introduced a shared RenderObjectWithLayoutLinkBaseMixin interface to make RenderObjectWithRequiredLayoutLinkMixin independant of RenderObjectWithOptionalLayoutLinkMixin.
  • Declared LayoutLinkHandle final, and LayoutLink - base to prevent incorrect implementations.
  • Added more documentation comments.
  • Improved internal file structure.

0.4.0+1 #

  • Added a proper package description to pubspec.yaml.
  • Added placeholder package example.

0.4.0 #

  • Extracted client registration logic from RenderLayout*Mixin into RenderObjectWith*LinkMixins.
  • Added RenderObjectWithOptionalLayoutLinkMixin and renamed RenderObjectWithLayoutLinkMixin to RenderObjectWithRequiredLayoutLinkMixin.
  • Added optional named schedulerBinding parameter to FrameCallbackScheduler for mocking purposes.
  • Organized source file structure.

0.3.0 #

  • Fixed RenderObject mutation error when attempting to schedule layout run during SchedulerPhase.persistentCallbacks.
  • Optimized leader transforms and size checking.
  • Added more user-friendly error messages across the library.
  • Added registered leaders validation to LayoutLink.
  • Internal code cleanup and refactoring.

0.2.0 #

  • Fixed leader size not persisting across reattachments.
  • Introduced RenderObjectWithLayoutLinkMixin.createLayoutClientInternal method to handle internal state. Implementers are expected to replace createLayoutClient with the new method.
  • Refactored LayoutLeader into AbstractLayoutLeader and introduced SingleLayoutLeader and CustomLayoutLeader as replacements.
  • Renamed LayoutLink.leaderOffsetIn to LayoutLink.getOffsetIn and made the method static.
  • Fixed LayoutLeaderClient.scale wasn't DPI-aware. Now it looks for the nearest RenderView ancestor.
  • Fixed LayoutLink transient frame callback was empty by mistake.
  • Removed unnecessary assertions in LayoutLinkHandle.

0.1.0 #

  • Initial version.
0
likes
160
points
108
downloads

Documentation

API reference

Publisher

verified publisherdeminearchiver.qzz.io

Weekly Downloads

Create custom layout systems based on the multi-leader-multi-follower pattern.

Homepage
Repository (GitHub)
View/report issues

Topics

#layout #leader #follower #link

License

MIT (license)

Dependencies

flutter

More

Packages that depend on linked_layouts