FaceDetectionPainter class
Draws FaceDetection boxes, their mesh ROIs, and extraRois. FaceDetectionPainter.fromInference and FaceDetectionPainter.fromMultiInference fill both from a pipeline result.
This painter is intended for debug and preview overlays. It depends only on this package's detection types, so camera-specific mirroring decisions should be converted to mirrorHorizontal by the caller.
- Inheritance
-
- Object
- Listenable
- CustomPainter
- FaceDetectionPainter
Constructors
-
FaceDetectionPainter({FaceDetectionResult? result, List<
FaceRoi> extraRois = const <FaceRoi>[], int rotationDegrees = 0, bool mirrorHorizontal = false, bool showConfidence = true, bool showFaceBox = true, bool showRoiBox = false, Color faceBoxColor = Colors.amberAccent, Color roiBoxColor = Colors.lightGreenAccent, double strokeWidth = 2.0, double roiStrokeWidth = 3.0, String bboxLabel = 'Face', String roiLabel = 'ROI', TextStyle labelTextStyle = const TextStyle(color: Colors.black87, fontSize: 14, fontWeight: FontWeight.w600)}) - Creates a painter from a detector result, extra ROIs, or both.
- FaceDetectionPainter.fromInference(FaceMeshInferenceResult inference, {String? label, int rotationDegrees = 0, bool mirrorHorizontal = false, bool showConfidence = true, bool showFaceBox = true, bool showRoiBox = false, Color faceBoxColor = Colors.amberAccent, Color roiBoxColor = Colors.lightGreenAccent, double strokeWidth = 2.0, double roiStrokeWidth = 3.0, String bboxLabel = 'Face', String roiLabel = 'ROI', TextStyle labelTextStyle = const TextStyle(color: Colors.black87, fontSize: 14, fontWeight: FontWeight.w600)})
-
Draws the detections when the detector ran, plus the ROI the mesh ran
on with
labelabove it. - FaceDetectionPainter.fromMultiInference(FaceMeshMultiInferenceResult inference, {String labelOf(TrackedFaceMesh face)?, int rotationDegrees = 0, bool mirrorHorizontal = false, bool showConfidence = true, bool showFaceBox = true, bool showRoiBox = false, Color faceBoxColor = Colors.amberAccent, Color roiBoxColor = Colors.lightGreenAccent, double strokeWidth = 2.0, double roiStrokeWidth = 3.0, String bboxLabel = 'Face', String roiLabel = 'ROI', TextStyle labelTextStyle = const TextStyle(color: Colors.black87, fontSize: 14, fontWeight: FontWeight.w600)})
-
Draws the detections, if the detector ran, plus each tracked face's
ROI.
labelOfnames a face's ROI and defaults to#followed by its track id.
Properties
- bboxLabel → String
-
Label shown for axis-aligned detector boxes. Empty draws no label.
final
-
extraRois
→ List<
FaceRoi> -
ROIs drawn in addition to result, with roiBoxColor and
roiStrokeWidth.
final
- faceBoxColor → Color
-
Color used for axis-aligned detector boxes.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- labelTextStyle → TextStyle
-
Text style used for labels.
final
- mirrorHorizontal → bool
-
Whether X coordinates should be mirrored for preview overlays.
final
- result → FaceDetectionResult?
-
Detector result to draw. Null on landmark-tracked frames, where the
pipeline reports no detection.
final
- roiBoxColor → Color
-
Color used for rotated ROI boxes.
final
- roiLabel → String
-
Label shown for rotated ROI boxes. Empty draws no label.
final
- roiStrokeWidth → double
-
Stroke width for rotated ROI boxes.
final
- rotationDegrees → int
-
Clockwise rotation applied when mapping normalized coordinates to pixels.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- semanticsBuilder → SemanticsBuilderCallback?
-
Returns a function that builds semantic information for the picture drawn
by this painter.
no setterinherited
- showConfidence → bool
-
Whether confidence scores are appended to face box labels.
final
- showFaceBox → bool
-
Whether axis-aligned detector boxes are drawn.
final
- showRoiBox → bool
-
Whether detector-produced rotated mesh ROIs are drawn.
final
- strokeWidth → double
-
Stroke width for axis-aligned detector boxes.
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
sizeargument.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 FaceDetectionPainter 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