FlexibleVideoOptions class
Configuration payload for FlexibleVideo.
Powers the MediaSFU main video grid with responsive card sizing and optional screen-share annotation overlays:
customWidth
/customHeight
set requested card dimensions. The widget clamps them to available constraints so cards remain visible even when initial values are large or the viewport is narrow.annotateScreenStream
+localStreamScreen
enable overlaying annotation canvases atop screen shares. The card width adjusts to the stream's native resolution when annotations are active.- Rich builder surface (
containerBuilder
,gridBuilder
,rowBuilder
,cellBuilder
,screenboardBuilder
) lets you inject custom rendering layers while preserving the built-in grid logic. - Computed
cardSize
,cardLeft
, andcanvasLeft
are passed to each builder context so downstream widgets can align or position elements relative to the final card geometry.
Override this component via MediasfuUICustomOverrides.flexibleVideo
when
you need branded tiling, watermarks, or alternative card layouts.
Constructors
-
FlexibleVideoOptions({required double customWidth, required double customHeight, required int rows, required int columns, required List<
Widget> componentsToRender, bool showAspect = true, Color backgroundColor = Colors.transparent, Widget? screenboard, bool annotateScreenStream = false, MediaStream? localStreamScreen, EdgeInsetsGeometry? containerPadding, EdgeInsetsGeometry? containerMargin, Decoration? containerDecoration, AlignmentGeometry? containerAlignment, Clip containerClipBehavior = Clip.none, BoxConstraints? containerConstraints, FlexibleVideoContainerBuilder? containerBuilder, FlexibleVideoGridBuilder? gridBuilder, double? rowSpacing = 2, EdgeInsetsGeometry? rowPadding, EdgeInsetsGeometry? rowMargin, Decoration? rowDecoration, Clip rowClipBehavior = Clip.none, MainAxisAlignment? rowMainAxisAlignment, CrossAxisAlignment? rowCrossAxisAlignment, MainAxisSize rowMainAxisSize = MainAxisSize.min, FlexibleVideoRowBuilder? rowBuilder, double? columnSpacing = 2, EdgeInsetsGeometry? cellPadding, EdgeInsetsGeometry? cellMargin, Decoration? cellDecoration, Clip cellClipBehavior = Clip.none, AlignmentGeometry? cellAlignment, FlexibleVideoCellBuilder? cellBuilder, EdgeInsetsGeometry? screenboardPadding, EdgeInsetsGeometry? screenboardMargin, Decoration? screenboardDecoration, Clip screenboardClipBehavior = Clip.none, AlignmentGeometry? screenboardAlignment, FlexibleVideoScreenboardBuilder? screenboardBuilder}) -
const
Properties
- annotateScreenStream → bool
-
final
- backgroundColor → Color
-
final
- cellAlignment → AlignmentGeometry?
-
final
- cellBuilder → FlexibleVideoCellBuilder?
-
final
- cellClipBehavior → Clip
-
final
- cellDecoration → Decoration?
-
final
- cellMargin → EdgeInsetsGeometry?
-
final
- cellPadding → EdgeInsetsGeometry?
-
final
- columns → int
-
final
- columnSpacing → double?
-
final
-
componentsToRender
→ List<
Widget> -
final
- containerAlignment → AlignmentGeometry?
-
final
- containerBuilder → FlexibleVideoContainerBuilder?
-
final
- containerClipBehavior → Clip
-
final
- containerConstraints → BoxConstraints?
-
final
- containerDecoration → Decoration?
-
final
- containerMargin → EdgeInsetsGeometry?
-
final
- containerPadding → EdgeInsetsGeometry?
-
final
- customHeight → double
-
final
- customWidth → double
-
final
- gridBuilder → FlexibleVideoGridBuilder?
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- localStreamScreen → MediaStream?
-
final
- rowBuilder → FlexibleVideoRowBuilder?
-
final
- rowClipBehavior → Clip
-
final
- rowCrossAxisAlignment → CrossAxisAlignment?
-
final
- rowDecoration → Decoration?
-
final
- rowMainAxisAlignment → MainAxisAlignment?
-
final
- rowMainAxisSize → MainAxisSize
-
final
- rowMargin → EdgeInsetsGeometry?
-
final
- rowPadding → EdgeInsetsGeometry?
-
final
- rows → int
-
final
- rowSpacing → double?
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- screenboard → Widget?
-
final
- screenboardAlignment → AlignmentGeometry?
-
final
- screenboardBuilder → FlexibleVideoScreenboardBuilder?
-
final
- screenboardClipBehavior → Clip
-
final
- screenboardDecoration → Decoration?
-
final
- screenboardMargin → EdgeInsetsGeometry?
-
final
- screenboardPadding → EdgeInsetsGeometry?
-
final
- showAspect → bool
-
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited