Banner

Box Transform

[Box Transform][github] provides packages that allow you to programmatically handle box resizing and dragging. It provides highly flexible, programmatically resizable and draggable boxes that can be used in any Dart or Flutter project.

Package

PackagePubDescription
box_transform
Pub Version
A pure Dart implementation for box transformation operations that does not rely on Flutter.
flutter_box_transform
Pub Version
A Flutter implementation that provides a flexible, customizable and easy to use interface tailored for Flutter projects.

Features

  • ๐Ÿ“ Dimension Constraining: Set maximum and minimum constraints to keep boxes within specific boundaries while resizing.
  • ๐Ÿ” Flipping Mechanics: Advanced positional-flipping when resizing hits extreme values with hard constraints.
  • ๐Ÿ”’ Drag Clamping: Specify clamping boxes to keep your transformable boxes within a specific region.
  • ๐ŸŽจ Flexible Resizing Modes: Choose from four different resizing modes for more flexibility in how boxes are resized.
  • ๐Ÿ“ Customizable Anchor Points: Define resizing corner-handles to anchor different parts of the box when resizing.
  • ๐ŸŽจ Customizable Handles: Use default resizing handles or define your own custom handles.
  • ๐ŸŒ€ Rotation Support: Rotate boxes around their center. Move, resize, scale, symmetric, side-handle, and force-flip stay rotation-aware. Pick BindingStrategy.originalBox (logical rect inside the clamp) or BindingStrategy.boundingBox (rendered AABB inside the clamp). Rotation gestures slide-then-freeze; force-flip falls back to the natural direction when the flipped state can't fit, so the rect never snaps back to gesture-start mid-drag.
  • ๐Ÿš€ Easy Integration: Integrate Box Transform into your Dart or Flutter project with ease.
Moving/DraggingResizingRotation
โœ…โœ…โœ…

Getting Started

See Getting Started guide for more details.

Live Demo: [Box-transformer Playground][demo]

Contributing

See [CONTRIBUTING.md][contributing] for details.

See [DEVELOPMENT.md][development] for development setup.

Authors

Feel free to join our Discord server for any inquiries or support.

discord