QuickRTCThemeData class

Theme data for QuickRTC widgets

Provides consistent styling across all QuickRTC widgets including renderers, indicators, and overlays.

Example:

QuickRTCTheme(
  data: QuickRTCThemeData(
    containerBackgroundColor: Colors.grey[900]!,
    audioOffColor: Colors.red,
  ),
  child: MyApp(),
)

Constructors

QuickRTCThemeData({Color containerBackgroundColor = const Color(0xFF2D2D2D), BorderRadius containerBorderRadius = const BorderRadius.all(Radius.circular(12)), BoxDecoration? containerDecoration, Color placeholderBackgroundColor = const Color(0xFF424242), Color placeholderIconColor = Colors.white, double placeholderAvatarRadius = 40, TextStyle placeholderTextStyle = const TextStyle(fontSize: 32, color: Colors.white, fontWeight: FontWeight.w500), IconData audioOnIcon = Icons.mic, IconData audioOffIcon = Icons.mic_off, Color audioOnColor = Colors.green, Color audioOffColor = Colors.red, IconData videoOnIcon = Icons.videocam, IconData videoOffIcon = Icons.videocam_off, Color videoOnColor = Colors.green, Color videoOffColor = Colors.red, double indicatorIconSize = 14, EdgeInsets indicatorPadding = const EdgeInsets.all(4), BorderRadius indicatorBorderRadius = const BorderRadius.all(Radius.circular(4)), double indicatorBackgroundOpacity = 0.8, TextStyle nameTextStyle = const TextStyle(color: Colors.white, fontWeight: FontWeight.w500, fontSize: 14), EdgeInsets namePadding = const EdgeInsets.symmetric(horizontal: 12, vertical: 8), Gradient? nameBackgroundGradient, Widget? loadingWidget, Color loadingIndicatorColor = Colors.white, OverlayPosition defaultAudioPosition = OverlayPosition.bottomRight, OverlayPosition defaultVideoPosition = OverlayPosition.topRight, OverlayPosition defaultNamePosition = OverlayPosition.bottomLeft})
const

Properties

audioOffColor Color
Color when audio is disabled
final
audioOffIcon IconData
Icon for audio disabled (muted)
final
audioOnColor Color
Color when audio is enabled
final
audioOnIcon IconData
Icon for audio enabled (unmuted)
final
containerBackgroundColor Color
Background color for renderer containers
final
containerBorderRadius BorderRadius
Border radius for renderer containers
final
containerDecoration BoxDecoration?
Optional custom decoration for containers (overrides backgroundColor)
final
defaultAudioPosition OverlayPosition
Default position for audio indicator
final
defaultNamePosition OverlayPosition
Default position for name overlay
final
defaultVideoPosition OverlayPosition
Default position for video indicator
final
hashCode int
The hash code for this object.
no setteroverride
indicatorBackgroundOpacity double
Opacity for indicator background
final
indicatorBorderRadius BorderRadius
Border radius for indicator containers
final
indicatorIconSize double
Icon size for indicators
final
indicatorPadding EdgeInsets
Padding inside indicator containers
final
loadingIndicatorColor Color
Color for default loading indicator
final
loadingWidget Widget?
Custom loading widget (null = default CircularProgressIndicator)
final
nameBackgroundGradient Gradient?
Gradient for name overlay background (null = default gradient)
final
namePadding EdgeInsets
Padding for name overlay
final
nameTextStyle TextStyle
Text style for participant name
final
placeholderAvatarRadius double
Radius for circular avatar placeholder
final
placeholderBackgroundColor Color
Background color for avatar placeholder
final
placeholderIconColor Color
Icon/text color for placeholder
final
placeholderTextStyle TextStyle
Text style for placeholder initials
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
videoOffColor Color
Color when video is disabled
final
videoOffIcon IconData
Icon for video disabled
final
videoOnColor Color
Color when video is enabled
final
videoOnIcon IconData
Icon for video enabled
final

Methods

copyWith({Color? containerBackgroundColor, BorderRadius? containerBorderRadius, BoxDecoration? containerDecoration, Color? placeholderBackgroundColor, Color? placeholderIconColor, double? placeholderAvatarRadius, TextStyle? placeholderTextStyle, IconData? audioOnIcon, IconData? audioOffIcon, Color? audioOnColor, Color? audioOffColor, IconData? videoOnIcon, IconData? videoOffIcon, Color? videoOnColor, Color? videoOffColor, double? indicatorIconSize, EdgeInsets? indicatorPadding, BorderRadius? indicatorBorderRadius, double? indicatorBackgroundOpacity, TextStyle? nameTextStyle, EdgeInsets? namePadding, Gradient? nameBackgroundGradient, Widget? loadingWidget, Color? loadingIndicatorColor, OverlayPosition? defaultAudioPosition, OverlayPosition? defaultVideoPosition, OverlayPosition? defaultNamePosition}) QuickRTCThemeData
Create a copy with modified values
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.
override

Constants

dark → const QuickRTCThemeData
Dark theme preset (default)
light → const QuickRTCThemeData
Light theme preset