import 'package:flutter/material.dart';
import 'package:gz_video_player/video_brightness_style.dart';
import 'package:gz_video_player/video_control_bar_style.dart';
import 'package:gz_video_player/video_definition.dart';
import 'package:gz_video_player/video_loading_style.dart';
import 'package:gz_video_player/video_speed.dart';
import 'package:gz_video_player/video_subtitles.dart';
import 'package:gz_video_player/video_top_bar_style.dart';
import 'package:gz_video_player/video_volume_style.dart';

/// 播放器样式
class VideoStyle {
  VideoStyle({
    VideoTopBarStyle? videoTopBarStyle,
    VideoControlBarStyle? videoControlBarStyle,
    VideoSubtitles? videoSubtitlesStyle,
    VideoLoadingStyle? videoLoadingStyle,
    VideoSpeedButtonStyle? videoSpeedButtonStyle,
    VideoSpeedItemStyle? videoSpeedItemStyle,
    VideoDefinitionItemStyle? videoDefinitionItemStyle,
    VideoDefinitionButtonStyle? videoDefinitionButtonStyle,
    VideoBrightnessStyle? videoBrightnessStyle,
    VideoVolumeStyle? videoVolumeStyle,
    // this.videoCover = "",
    this.playIcon = const Icon(
      Icons.play_circle_outline,
      color: Color(0xFFA4A3A3),
      size: 80,
      semanticLabel: "开始播放",
    ),
    this.replayIcon = const Icon(
      Icons.replay,
      color: Color(0xFFA4A3A3),
      size: 50,
      semanticLabel: "开始播放",
    ),
    this.showPlayIcon = true,
    this.showReplayIcon = true,
  })  : videoTopBarStyle = videoTopBarStyle ?? VideoTopBarStyle(),
        videoControlBarStyle = videoControlBarStyle ?? VideoControlBarStyle(),
        videoSubtitlesStyle = videoSubtitlesStyle ?? VideoSubtitles(),
        videoLoadingStyle = videoLoadingStyle ?? VideoLoadingStyle(),
        videoSpeedButtonStyle =
            videoSpeedButtonStyle ?? VideoSpeedButtonStyle(),
        videoSpeedItemStyle = videoSpeedItemStyle ?? VideoSpeedItemStyle(),
        videoDefinitionItemStyle = videoDefinitionItemStyle ?? VideoDefinitionItemStyle(),
        videoDefinitionButtonStyle = videoDefinitionButtonStyle ?? VideoDefinitionButtonStyle(),
        videoBrightnessStyle = videoBrightnessStyle ?? VideoBrightnessStyle(),
        videoVolumeStyle = videoVolumeStyle ?? VideoVolumeStyle();

  final VideoTopBarStyle videoTopBarStyle; //视频顶部样式
  final VideoControlBarStyle videoControlBarStyle; //进度条样式
  final VideoSubtitles videoSubtitlesStyle; //字幕样式
  final VideoLoadingStyle videoLoadingStyle; //loading样式
  final VideoSpeedButtonStyle videoSpeedButtonStyle; // 倍速按钮样式
  final VideoSpeedItemStyle videoSpeedItemStyle; // 倍速 item 样式
  final VideoDefinitionItemStyle videoDefinitionItemStyle; // 清晰度 item 样式
  final VideoDefinitionButtonStyle videoDefinitionButtonStyle; // 清晰度按钮样式
  final VideoBrightnessStyle videoBrightnessStyle; // 屏幕亮度样式
  final VideoVolumeStyle videoVolumeStyle; // 音量样式
  // final String videoCover; //视频封面
  final Widget playIcon; //暂停时显示
  final Widget replayIcon; //暂停时显示
  final bool showPlayIcon; //暂停时是否显示播放按钮
  final bool showReplayIcon; //暂停时是否显示播放按钮
}
