ScreenAnnotationCapture class

Combines screen share video with annotation canvas into a single MediaStream.

This class replicates React's ScreenboardModal approach exactly:

  • screenVideo: Hidden HTMLVideoElement playing the screen share
  • mainScreenCanvas: Hidden HTMLCanvasElement that combines video + annotations
  • drawCombined(): Draws video frame, then annotation overlay
  • captureStream(30): Creates MediaStream from the combined canvas

The interval-based drawing (30ms in React) ensures smooth output.

Constructors

ScreenAnnotationCapture.new()

Properties

annotationCanvas → HTMLCanvasElement?
The annotation canvas element for external drawing
no setter
hashCode → int
The hash code for this object.
no setterinherited
height → int
no setter
isCapturing → bool
Whether capture is currently active
no setter
processedStream → MediaStream?
The combined MediaStream (video + annotations)
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
width → int
Canvas dimensions
no setter

Methods

clearAnnotationCanvas() → void
Clear the annotation canvas.
dispose() → void
Dispose of all resources.
drawToAnnotationCanvas({required String type, required double x1, required double y1, required double x2, required double y2, required String color, required double thickness, List<Map<String, dynamic>>? freehandPoints}) → void
Draw a shape to the annotation canvas.
initialize(MediaStream localStreamScreen) → Future<HTMLCanvasElement?>
Initialize the annotation capture system with screen share stream.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
redrawShapes(List<Map<String, dynamic>> shapes) → void
Redraw all shapes to the annotation canvas.
startCapture({int frameRate = 30}) → Future<MediaStream?>
Start capturing the combined video + annotation stream.
stopCapture() → void
Stop capturing and clean up resources.
toString() → String
A string representation of this object.
inherited

Operators

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