geometry_kit_widgets 0.1.1
geometry_kit_widgets: ^0.1.1 copied to clipboard
Flutter widgets for geometry_kit shapes — CustomPainter-backed, styled, themable, and composable. Includes circle, ellipse, rectangle, triangle, polygon, line, and a multi-shape canvas.
0.1.1 #
- update git info
0.1.0 #
Initial release. Phase 1 of the widget library.
Widgets #
GeoCircle,GeoEllipse,GeoRectangle,GeoTriangle,GeoQuadrilateral,GeoPolygon,GeoLine— declarativeCustomPainter-backed widgets, each with flat and.fromGeometryconstructors.GeometryCanvas+StyledShape— multi-shape rendering on a single canvas with type-switch dispatch.
Styling #
ShapeStyle— fill, stroke, opacity, dash pattern, cap, join (value equality,copyWith).ShapeStyle.filled/ShapeStyle.strokedconvenience constructors.ShapeStyleTheme—InheritedWidgetfor default style inheritance viaShapeStyle.of(context)/ShapeStyleTheme.resolve.DashPattern— sharedPathMetrics-based dash drawing across all painters.- Color opacity uses
withValues(alpha:)(Flutter 3.27+).
Coordinates #
CoordinateMapper—identity(default, Y-down),yUp(size),centered(size, {yUp}).- Locked into v0.1 so painter signatures stay stable.
Composition #
- Every widget exposes
clipBehavior(defaultClip.hardEdge) — shapes never bleed past widget bounds unless explicitly opted in withClip.none. GeometryCanvas.backgroundColordefaults tonull— transparent canvas layers cleanly over other widgets.- Internal
GeoShapeContainerkeepsClipRect+RepaintBoundary+Semanticsconsistent across every widget.
Other #
- Dartdoc on every public class, constructor, and parameter.
Semantics(label: ...)on every widget for accessibility.RepaintBoundarywraps everyCustomPaint.- Eight passing widget + unit tests.