m3_lightmeter/lib/screens/metering/components/camera_container/components/camera_controls/widget_camera_controls.dart
Vadim 2117df2f11
ML-44 Save zoom level for equipment profile (#164)
* made zoom slider vertical & added more ticks to ruler

* show sliders values

* increased slider tappable area

* more accurate sliders values

* added zoom slider to equipment profiles settings

* split `EquipmentListTiles` widget

* set zoom on equipment profile change

* clamp zoom to the nearest value

* added missing translations

* added zoom checks to e2e test

* removed unused import
2024-04-07 10:54:57 +02:00

43 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:lightmeter/screens/metering/components/camera_container/components/camera_controls/components/exposure_offset_slider/widget_slider_exposure_offset.dart';
import 'package:lightmeter/screens/metering/components/camera_container/components/camera_controls/components/zoom_slider/widget_slider_zoom.dart';
class CameraControls extends StatelessWidget {
final RangeValues exposureOffsetRange;
final double exposureOffsetValue;
final ValueChanged<double> onExposureOffsetChanged;
final RangeValues zoomRange;
final double zoomValue;
final ValueChanged<double> onZoomChanged;
const CameraControls({
required this.exposureOffsetRange,
required this.exposureOffsetValue,
required this.onExposureOffsetChanged,
required this.zoomRange,
required this.zoomValue,
required this.onZoomChanged,
super.key,
});
@override
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
ExposureOffsetSlider(
range: exposureOffsetRange,
value: exposureOffsetValue,
onChanged: onExposureOffsetChanged,
),
ZoomSlider(
range: zoomRange,
value: zoomValue,
onChanged: onZoomChanged,
),
],
);
}
}