mirror of
https://github.com/vodemn/m3_lightmeter.git
synced 2024-11-25 08:50:40 +00:00
61 lines
1.4 KiB
Dart
61 lines
1.4 KiB
Dart
sealed class MeteringCommunicationState {
|
|
const MeteringCommunicationState();
|
|
}
|
|
|
|
class InitState extends MeteringCommunicationState {
|
|
const InitState();
|
|
}
|
|
|
|
sealed class SourceState extends MeteringCommunicationState {
|
|
const SourceState();
|
|
}
|
|
|
|
sealed class ScreenState extends MeteringCommunicationState {
|
|
const ScreenState();
|
|
}
|
|
|
|
class MeasureState extends SourceState {
|
|
const MeasureState();
|
|
}
|
|
|
|
sealed class MeasuredState extends ScreenState {
|
|
final double? ev100;
|
|
|
|
const MeasuredState(this.ev100);
|
|
}
|
|
|
|
class MeteringInProgressState extends MeasuredState {
|
|
const MeteringInProgressState(super.ev100);
|
|
|
|
@override
|
|
bool operator ==(Object other) {
|
|
if (identical(this, other)) return true;
|
|
if (other.runtimeType != runtimeType) return false;
|
|
return other is MeteringInProgressState && other.ev100 == ev100;
|
|
}
|
|
|
|
@override
|
|
int get hashCode => Object.hash(ev100, runtimeType);
|
|
}
|
|
|
|
class MeteringEndedState extends MeasuredState {
|
|
const MeteringEndedState(super.ev100);
|
|
|
|
@override
|
|
bool operator ==(Object other) {
|
|
if (identical(this, other)) return true;
|
|
if (other.runtimeType != runtimeType) return false;
|
|
return other is MeteringEndedState && other.ev100 == ev100;
|
|
}
|
|
|
|
@override
|
|
int get hashCode => Object.hash(ev100, runtimeType);
|
|
}
|
|
|
|
class SettingsOpenedState extends SourceState {
|
|
const SettingsOpenedState();
|
|
}
|
|
|
|
class SettingsClosedState extends SourceState {
|
|
const SettingsClosedState();
|
|
}
|