m3_lightmeter/screenshots/models/screenshot_device.dart

38 lines
1.2 KiB
Dart
Raw Normal View History

enum ScreenshotDevicePlatform { android, ios }
2024-05-11 12:59:28 +00:00
final screenshotDevicesIos = [
ScreenshotDevice.fromDisplayName(
displayName: 'iPhone 8 Plus',
platform: ScreenshotDevicePlatform.ios,
),
ScreenshotDevice.fromDisplayName(
displayName: 'iPhone 13 Pro',
platform: ScreenshotDevicePlatform.ios,
screenshotFrameOffset: (dx: 72, dy: 60),
),
];
class ScreenshotDevice {
final String name;
final ScreenshotDevicePlatform platform;
2024-05-11 12:59:28 +00:00
final ({int dx, int dy}) screenshotFrameOffset;
const ScreenshotDevice({
required this.name,
required this.platform,
2024-05-11 12:59:28 +00:00
this.screenshotFrameOffset = (dx: 0, dy: 0),
});
ScreenshotDevice.fromDisplayName({
required String displayName,
required this.platform,
2024-05-11 12:59:28 +00:00
this.screenshotFrameOffset = (dx: 0, dy: 0),
}) : name = displayName.replaceAll(' ', '_').toLowerCase();
String get systemOverlayPathLight =>
'screenshots/assets/system_overlays/${platform.name}/${name}_system_overlay_light.png';
String get systemOverlayPathDark =>
'screenshots/assets/system_overlays/${platform.name}/${name}_system_overlay_dark.png';
2024-05-11 12:59:28 +00:00
String get deviceFramePath => 'screenshots/assets/frames/${platform.name}/${name}_frame.png';
}