m3_lightmeter/lib/screens/metering/components/camera_container/event_container_camera.dart
Vadim 6566108994
ML-129 Spot metering (#136)
* imlemented `CameraSpotDetector`

* separated generic `DialogSwitch`

* added `CameraFeature` model

* added `CameraFeaturesListTile` to metering section

* added features dialog subtitles

* added long press to remove metering spot

* translations

* hide camera features for purchasable status

* hide `CameraHistogram` & `CameraSpotDetector` if purchasable

* bumped iap version

* fixed tests

* removed redundant camera state emission

* tests

* Fixed remote config initalization

* updated pro features description
2023-11-11 21:05:11 +01:00

73 lines
1.8 KiB
Dart

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);
}