part of 'playerview_bloc.dart';

@immutable
sealed class PlayerViewEvent {
  const PlayerViewEvent();
}

class DismissEvent extends PlayerViewEvent {
  const DismissEvent();
}

class PlayEvent extends PlayerViewEvent {
  const PlayEvent();
}

class PauseEvent extends PlayerViewEvent {
  const PauseEvent();
}

class EndEvent extends PlayerViewEvent {
  const EndEvent();
}

class SeekEvent extends PlayerViewEvent {
  final double time;
  const SeekEvent(this.time);
}

class SpeedChangedEvent extends PlayerViewEvent {
  final OptionData option;
  const SpeedChangedEvent(this.option);
}

class VolumeChangedEvent extends PlayerViewEvent {
  final OptionData option;
  const VolumeChangedEvent(this.option);
}

class QualityChangedEvent extends PlayerViewEvent {
  final OptionData option;
  const QualityChangedEvent(this.option);
}

class SubsReceivedEvent extends PlayerViewEvent {
  final Map<String, String> subs;
  const SubsReceivedEvent(this.subs);
}

class QualitiesReceivedEvent extends PlayerViewEvent {
  final List<Map<String, dynamic>> qualities;
  const QualitiesReceivedEvent(this.qualities);
}

class SubsChangedEvent extends PlayerViewEvent {
  final OptionData option;
  const SubsChangedEvent(this.option);
}

class FullscreenChangedEvent extends PlayerViewEvent {
  final OptionData option;
  const FullscreenChangedEvent(this.option);
}

class StartPositionChangedEvent extends PlayerViewEvent {
  final int value;
  const StartPositionChangedEvent(this.value);
}