WhiteboardPainter class

CustomPainter that renders all shapes on the whiteboard canvas.

This painter handles rendering of all shape types including freehand drawings, geometric shapes, text, and images with support for zoom and pan transformations.

Inheritance

Constructors

WhiteboardPainter.new({required List<WhiteboardShape> shapes, WhiteboardShape? currentShape, required Offset panOffset, required double scale, required double maxWidth, required double maxHeight, bool useImageBackground = false, Image? backgroundImage, WhiteboardShape? selectedShape, Offset? eraserCursorPosition, double eraserThickness = 10.0, bool transparentBackground = false})

Properties

backgroundImage Image?
Background image (if any).
final
currentShape WhiteboardShape?
Current shape being drawn (preview).
final
eraserCursorPosition Offset?
Eraser cursor position (for visual feedback).
final
eraserThickness double
Eraser thickness.
final
hashCode int
The hash code for this object.
no setterinherited
maxHeight double
Maximum canvas height.
final
maxWidth double
Maximum canvas width.
final
panOffset Offset
Current pan offset.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scale double
Current zoom scale.
final
selectedShape WhiteboardShape?
Selected shape for highlighting.
final
semanticsBuilder SemanticsBuilderCallback?
Returns a function that builds semantic information for the picture drawn by this painter.
no setterinherited
shapes List<WhiteboardShape>
List of shapes to render.
final
transparentBackground bool
Whether to use a transparent background (for screen annotation overlays).
final
useImageBackground bool
Whether to use image background.
final

Methods

addListener(VoidCallback listener) → void
Register a closure to be notified when it is time to repaint.
inherited
hitTest(Offset position) bool?
Called whenever a hit test is being performed on an object that is using this custom paint delegate.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
paint(Canvas canvas, Size size) → void
Called whenever the object needs to paint. The given Canvas has its coordinate space configured such that the origin is at the top left of the box. The area of the box is the size of the size argument.
override
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that the object notifies when it is time to repaint.
inherited
shouldRebuildSemantics(covariant CustomPainter oldDelegate) bool
Called whenever a new instance of the custom painter delegate class is provided to the RenderCustomPaint object, or any time that a new CustomPaint object is created with a new instance of the custom painter delegate class (which amounts to the same thing, because the latter is implemented in terms of the former).
inherited
shouldRepaint(covariant WhiteboardPainter oldDelegate) bool
Called whenever a new instance of the custom painter delegate class is provided to the RenderCustomPaint object, or any time that a new CustomPaint object is created with a new instance of the custom painter delegate class (which amounts to the same thing, because the latter is implemented in terms of the former).
override
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited