LineTool class
Spec 05 D6: AutoCAD's LINE. Each click commits one segment, and its end is the next segment's start: the same stored values. Fill does not apply.
- Inheritance
-
- Object
- ChangeNotifier
- Tool
- PlacementTool
- LineTool
Constructors
- LineTool()
Properties
- acceptingSelf ↔ bool
-
True only while accept runs on a self-snap's stored point (Ruling
05-4).
getter/setter pairinherited
- band → Path
-
Spec 05 D12: reset each frame, never reallocated. bandPaint's colour
and width are set by paintWorldOverlay before it calls
paintRubberBand (dark theme spec D5).
finalinherited
- bandPaint → Paint
-
finalinherited
- cursor → MouseCursor
-
The pointer's cursor over the layer (spec 03 D5).
InteractionLayerrebuilds itsMouseRegionwhen the tool notifies.no setterinherited -
fill
→ ValueListenable<
bool> ? -
Spec 05 D13: the shell's Fill toggle. Null, or false: outlines only.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
Whether any listeners are currently registered.
no setterinherited
- hoverKind → SnapKind?
-
no setterinherited
- hoverPoint → Vector2
-
no setterinherited
- hoverVisible → bool
-
no setterinherited
- isMidShape → bool
-
Spec 12a D6: a point placed and the shape not yet finished. The paths
that change points here (onPointerDown, Enter and Escape in
onKey, cancel) each notify.
no setterinherited
- isPending → bool
-
no setterinherited
- markerPoint → Vector2
-
Where paintOverlay draws the snap marker: the resolved hover point.
A tool that places its shape somewhere derived from that point
overrides it (spec 08 D15, Ruling 08-14: an opening tool marks the
point projected onto its host's centreline). Read per frame: an
override returns a stored point and allocates nothing.
no setterinherited
- name → String
-
no setteroverride
- orthoBase → Vector2?
-
Spec 05 D4: the last placed point, or none.
no setterinherited
- phase → ToolPhase
-
no setterinherited
-
points
→ List<
Vector2> -
The placed points, as exact world values (invariant 1).
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selectionPreviewTransform → Transform2?
-
The world transform a live move or rotate would apply, for the
overlay's preview (spec 03 D7); null otherwise.
no setterinherited
- touchPress → TouchPress
-
How a finger's press reaches this tool (spec 14t R-1). TouchPress.lift
unless the tool's down and its
cancelexecute nothing.no setterinherited
Methods
-
accept(
Vector2 point, ToolContext ctx) → void -
override
-
addListener(
VoidCallback listener) → void -
Register a closure to be called when the object changes.
inherited
-
cancel(
ToolContext ctx) → void -
Every cancel path (Escape,
ToolController.activate, the layer's deactivate and dispose) drops the pending shape and never touches the document (invariant 3).inherited -
clearShape(
) → void -
override
-
commit(
ToolContext ctx, DraftCommand build(), {Set< Capability> needs = const {Capability.geometry}}) → bool -
Ruling 05-3: the permission check runs before
build, so a denied shape allocates no handle.needsis every capability the built command will need (spec 06 D13, Ruling 06-10); 05's shapes need geometry alone. Returns whether the command ran.inherited -
commitShape(
ToolContext ctx, EntityKind kind, GeometryPayload payload, {bool fillable = false}) → bool -
Spec 05 D13: with Fill on and a
fillableshape, one region when the boundary can fill, and the plain boundary when it cannot.inherited -
dispose(
) → void -
Discards any resources used by the object.
inherited
-
finish(
ToolContext ctx) → void -
Enter while a shape is pending.
override
-
hovered(
Vector2 raw) → void -
Every hover's raw world point (the arc tracks it).
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyListeners(
) → void -
Call all the registered listeners.
inherited
-
onKey(
KeyEvent event, ToolContext ctx) → KeyEventResult -
inherited
-
onPointerDown(
ToolPointerEvent e, ToolContext ctx) → void -
inherited
-
onPointerExit(
ToolContext ctx) → void -
The shape stays: placement is click by click, not a drag.
inherited
-
onPointerMove(
ToolPointerEvent e, ToolContext ctx) → void -
inherited
-
onPointerUp(
ToolPointerEvent e, ToolContext ctx) → void -
inherited
-
paintOverlay(
Canvas canvas, ViewportTransform camera, Size viewport, PaperPalette paper) → void -
Paints in screen space, after paintWorldOverlay. Every colour comes
from
paper, the overlay's own set for the paper under it (dark theme spec D5); none is kept in a field initialiser.inherited -
paintRubberBand(
Canvas canvas, Vector2 origin, double scale) → void -
Coordinates handed to
canvasareworld − origin(Ruling 03-3).override -
paintWorldOverlay(
Canvas canvas, Vector2 origin, double scale, PaperPalette paper) → void -
Paints under the overlay's rebased world matrix,
worldToScreen ∘ translate(origin), so coordinates handed tocanvasmust beworld − origin(Ruling 03-3).scaleis the camera's, for stroke widths. Colours come frompaper, as in paintOverlay.inherited -
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that are
notified when the object changes.
inherited
-
selfSnap(
Vector2 raw, double apertureWorld) → Vector2? -
The current start ends the chain, but only once a segment is committed
(M-05x). Before that, a second click on the start is a zero-length
segment and is refused.
override
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited