StreamVideoTheme constructor
StreamVideoTheme({
- required Brightness brightness,
- StreamTextTheme? textTheme,
- StreamColorTheme? colorTheme,
- StreamCallContentThemeData? callContentTheme,
- StreamCallControlsThemeData? callControlsTheme,
- StreamUserAvatarThemeData? userAvatarTheme,
- StreamLobbyViewThemeData? lobbyViewTheme,
- StreamCallParticipantThemeData? callParticipantTheme,
- StreamLocalVideoThemeData? localVideoTheme,
- StreamIncomingOutgoingCallThemeData? incomingCallTheme,
- StreamIncomingOutgoingCallThemeData? outgoingCallTheme,
- StreamLivestreamThemeData? livestreamTheme,
Creates a theme from scratch
Implementation
factory StreamVideoTheme({
required Brightness brightness,
StreamTextTheme? textTheme,
StreamColorTheme? colorTheme,
StreamCallContentThemeData? callContentTheme,
StreamCallControlsThemeData? callControlsTheme,
StreamUserAvatarThemeData? userAvatarTheme,
StreamLobbyViewThemeData? lobbyViewTheme,
StreamCallParticipantThemeData? callParticipantTheme,
StreamLocalVideoThemeData? localVideoTheme,
StreamIncomingOutgoingCallThemeData? incomingCallTheme,
StreamIncomingOutgoingCallThemeData? outgoingCallTheme,
StreamLivestreamThemeData? livestreamTheme,
}) {
final isDark = brightness == Brightness.dark;
textTheme ??=
isDark ? const StreamTextTheme.dark() : const StreamTextTheme.light();
colorTheme ??=
isDark ? const StreamColorTheme.dark() : const StreamColorTheme.light();
final defaultTheme = StreamVideoTheme.fromColorAndTextTheme(
colorTheme,
textTheme,
);
final customizedTheme = defaultTheme.copyWith(
textTheme: textTheme,
colorTheme: colorTheme,
callContentTheme: callContentTheme,
callControlsTheme: callControlsTheme,
userAvatarTheme: userAvatarTheme,
lobbyViewTheme: lobbyViewTheme,
callParticipantTheme: callParticipantTheme,
localVideoTheme: localVideoTheme,
incomingCallTheme: incomingCallTheme,
outgoingCallTheme: outgoingCallTheme,
livestreamTheme: livestreamTheme,
);
return defaultTheme.merge(customizedTheme);
}