import 'package:flutter/gestures.dart'; 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(); } class ExposureSpotChangedEvent extends CameraContainerEvent { final Offset? offset; const ExposureSpotChangedEvent(this.offset); @override bool operator ==(Object other) { if (identical(this, other)) return true; if (other.runtimeType != runtimeType) return false; return other is ExposureSpotChangedEvent && other.offset == offset; } @override int get hashCode => Object.hash(offset, runtimeType); }