mirror of
https://github.com/vodemn/m3_lightmeter.git
synced 2025-04-27 20:00:40 +00:00
67 lines
1.7 KiB
Dart
67 lines
1.7 KiB
Dart
import 'package:m3_lightmeter_resources/m3_lightmeter_resources.dart';
|
|
|
|
abstract class MeteringCommunicationEvent {
|
|
const MeteringCommunicationEvent();
|
|
}
|
|
|
|
/// Events sent by the screen to the current metering source.
|
|
abstract class ScreenEvent extends MeteringCommunicationEvent {
|
|
const ScreenEvent();
|
|
}
|
|
|
|
/// Event sent by the current metering source in response for the screen events.
|
|
abstract class SourceEvent extends MeteringCommunicationEvent {
|
|
const SourceEvent();
|
|
}
|
|
|
|
class MeasureEvent extends ScreenEvent {
|
|
const MeasureEvent();
|
|
}
|
|
|
|
class EquipmentProfileChangedEvent extends ScreenEvent {
|
|
final EquipmentProfile profile;
|
|
|
|
const EquipmentProfileChangedEvent(this.profile);
|
|
}
|
|
|
|
abstract class MeasuredEvent extends SourceEvent {
|
|
final double? ev100;
|
|
|
|
const MeasuredEvent(this.ev100);
|
|
}
|
|
|
|
class MeteringInProgressEvent extends MeasuredEvent {
|
|
const MeteringInProgressEvent(super.ev100);
|
|
|
|
@override
|
|
bool operator ==(Object other) {
|
|
if (identical(this, other)) return true;
|
|
if (other.runtimeType != runtimeType) return false;
|
|
return other is MeteringInProgressEvent && other.ev100 == ev100;
|
|
}
|
|
|
|
@override
|
|
int get hashCode => Object.hash(ev100, runtimeType);
|
|
}
|
|
|
|
class MeteringEndedEvent extends MeasuredEvent {
|
|
const MeteringEndedEvent(super.ev100);
|
|
|
|
@override
|
|
bool operator ==(Object other) {
|
|
if (identical(this, other)) return true;
|
|
if (other.runtimeType != runtimeType) return false;
|
|
return other is MeteringEndedEvent && other.ev100 == ev100;
|
|
}
|
|
|
|
@override
|
|
int get hashCode => Object.hash(ev100, runtimeType);
|
|
}
|
|
|
|
class ScreenOnTopOpenedEvent extends ScreenEvent {
|
|
const ScreenOnTopOpenedEvent();
|
|
}
|
|
|
|
class ScreenOnTopClosedEvent extends ScreenEvent {
|
|
const ScreenOnTopClosedEvent();
|
|
}
|