abstract class CameraContainerEvent { const CameraContainerEvent(); } class RequestPermissionEvent extends CameraContainerEvent { const RequestPermissionEvent(); } class OpenAppSettingsEvent extends CameraContainerEvent { const OpenAppSettingsEvent(); } class InitializeEvent extends CameraContainerEvent { const InitializeEvent(); } class DeinitializeEvent extends CameraContainerEvent { const DeinitializeEvent(); } class ZoomChangedEvent extends CameraContainerEvent { final double value; const ZoomChangedEvent(this.value); @override bool operator ==(Object other) { if (identical(this, other)) return true; if (other.runtimeType != runtimeType) return false; return other is ZoomChangedEvent && other.value == value; } @override int get hashCode => Object.hash(value, runtimeType); } class ExposureOffsetChangedEvent extends CameraContainerEvent { final double value; const ExposureOffsetChangedEvent(this.value); @override bool operator ==(Object other) { if (identical(this, other)) return true; if (other.runtimeType != runtimeType) return false; return other is ExposureOffsetChangedEvent && other.value == value; } @override int get hashCode => Object.hash(value, runtimeType); } class ExposureOffsetResetEvent extends CameraContainerEvent { const ExposureOffsetResetEvent(); }