Merge lp:qtubuntu-camera/staging into lp:qtubuntu-camera

Proposed by Florian Boucault
Status: Merged
Approved by: Florian Boucault
Approved revision: 187
Merged at revision: 163
Proposed branch: lp:qtubuntu-camera/staging
Merge into: lp:qtubuntu-camera
Diff against target: 141 lines (+42/-11)
5 files modified
src/aalcamerafocuscontrol.cpp (+9/-4)
src/aalcamerafocuscontrol.h (+1/-1)
unittests/aalcamerafocuscontrol/tst_aalcamerafocuscontrol.cpp (+11/-6)
unittests/mocks/aal/camera_compatibility_layer.cpp (+11/-0)
unittests/mocks/aal/camera_compatibility_layer_capabilities.h (+10/-0)
To merge this branch: bzr merge lp:qtubuntu-camera/staging
Reviewer Review Type Date Requested Status
Ubuntu Phablet Team Pending
Review via email: mp+292503@code.launchpad.net

Commit message

New release:
- Set the metering area to the same as the focus area.

Description of the change

New release:
- Set the metering area to the same as the focus area.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/aalcamerafocuscontrol.cpp'
2--- src/aalcamerafocuscontrol.cpp 2016-01-21 16:14:37 +0000
3+++ src/aalcamerafocuscontrol.cpp 2016-04-21 11:19:15 +0000
4@@ -84,11 +84,13 @@
5 if (m_focusPoint == point)
6 return;
7
8+ MeteringRegion meteringRegion;
9 m_focusPoint = point;
10- m_focusRegion = point2Region(m_focusPoint);
11+ point2Region(m_focusPoint, m_focusRegion, meteringRegion);
12 Q_EMIT customFocusPointChanged(m_focusPoint);
13
14 if (m_service->androidControl()) {
15+ android_camera_set_metering_region(m_service->androidControl(), &meteringRegion);
16 android_camera_set_focus_region(m_service->androidControl(), &m_focusRegion);
17 startFocus();
18 }
19@@ -207,7 +209,7 @@
20 }
21 }
22
23-FocusRegion AalCameraFocusControl::point2Region(const QPointF &point) const
24+void AalCameraFocusControl::point2Region(const QPointF &point, FocusRegion& region, MeteringRegion& metering) const
25 {
26 int centerX = (point.x() * (2* focusFullSize)) - focusFullSize;
27 int maxCenterPosition = focusFullSize - focusRegionSize;
28@@ -215,12 +217,15 @@
29 int centerY = (point.y() * (2 * focusFullSize)) - focusFullSize;
30 centerY = std::max(std::min(centerY, maxCenterPosition), -maxCenterPosition);
31
32- FocusRegion region;
33 region.left = centerX - focusRegionSize;
34 region.right = centerX + focusRegionSize;
35 region.top = centerY - focusRegionSize;
36 region.bottom = centerY + focusRegionSize;
37 region.weight = 5;
38
39- return region;
40+ metering.left = region.left;
41+ metering.right = region.right;
42+ metering.top = region.top;
43+ metering.bottom = region.bottom;
44+ metering.weight = 5;
45 }
46
47=== modified file 'src/aalcamerafocuscontrol.h'
48--- src/aalcamerafocuscontrol.h 2015-04-08 12:57:01 +0000
49+++ src/aalcamerafocuscontrol.h 2016-04-21 11:19:15 +0000
50@@ -54,7 +54,7 @@
51 private:
52 AutoFocusMode qt2Android(QCameraFocus::FocusModes mode);
53 QCameraFocus::FocusModes android2Qt(AutoFocusMode mode);
54- FocusRegion point2Region(const QPointF &point) const;
55+ void point2Region(const QPointF &point, FocusRegion& region, MeteringRegion& metering) const;
56
57 AalCameraService *m_service;
58 QCameraFocus::FocusModes m_focusMode;
59
60=== modified file 'unittests/aalcamerafocuscontrol/tst_aalcamerafocuscontrol.cpp'
61--- unittests/aalcamerafocuscontrol/tst_aalcamerafocuscontrol.cpp 2016-01-27 16:28:38 +0000
62+++ unittests/aalcamerafocuscontrol/tst_aalcamerafocuscontrol.cpp 2016-04-21 11:19:15 +0000
63@@ -143,12 +143,17 @@
64 AalCameraFocusControl focusControl(0);
65
66 QPointF point(x, y);
67- FocusRegion region;
68- region = m_focusControl->point2Region(point);
69- QCOMPARE(region.left, left);
70- QCOMPARE(region.right, right);
71- QCOMPARE(region.top, top);
72- QCOMPARE(region.bottom, bottom);
73+ FocusRegion focusRegion;
74+ MeteringRegion meteringRegion;
75+ m_focusControl->point2Region(point, focusRegion, meteringRegion);
76+ QCOMPARE(focusRegion.left, left);
77+ QCOMPARE(focusRegion.right, right);
78+ QCOMPARE(focusRegion.top, top);
79+ QCOMPARE(focusRegion.bottom, bottom);
80+ QCOMPARE(focusRegion.left, meteringRegion.left);
81+ QCOMPARE(focusRegion.right, meteringRegion.right);
82+ QCOMPARE(focusRegion.top, meteringRegion.top);
83+ QCOMPARE(focusRegion.bottom, meteringRegion.bottom);
84 }
85
86
87
88=== modified file 'unittests/mocks/aal/camera_compatibility_layer.cpp'
89--- unittests/mocks/aal/camera_compatibility_layer.cpp 2015-11-25 16:59:38 +0000
90+++ unittests/mocks/aal/camera_compatibility_layer.cpp 2016-04-21 11:19:15 +0000
91@@ -306,11 +306,22 @@
92 crashTest(control);
93 }
94
95+void android_camera_set_metering_region(CameraControl* control, MeteringRegion* region)
96+{
97+ Q_UNUSED(region);
98+ crashTest(control);
99+}
100+
101 void android_camera_reset_focus_region(CameraControl* control)
102 {
103 crashTest(control);
104 }
105
106+void android_camera_reset_metering_region(CameraControl* control)
107+{
108+ crashTest(control);
109+}
110+
111 void android_camera_set_rotation(CameraControl* control, int rotation)
112 {
113 Q_UNUSED(rotation);
114
115=== modified file 'unittests/mocks/aal/camera_compatibility_layer_capabilities.h'
116--- unittests/mocks/aal/camera_compatibility_layer_capabilities.h 2015-01-14 10:48:34 +0000
117+++ unittests/mocks/aal/camera_compatibility_layer_capabilities.h 2016-04-21 11:19:15 +0000
118@@ -95,6 +95,15 @@
119 int weight;
120 } FocusRegion;
121
122+typedef struct
123+{
124+ int top;
125+ int left;
126+ int bottom;
127+ int right;
128+ int weight;
129+} MeteringRegion;
130+
131 typedef void (*size_callback)(void* ctx, int width, int height);
132 typedef void (*scene_mode_callback)(void* ctx, SceneMode mode);
133 typedef void (*flash_mode_callback)(void* ctx, FlashMode mode);
134@@ -139,6 +148,7 @@
135
136 void android_camera_set_focus_region(CameraControl* control, FocusRegion* region);
137 void android_camera_reset_focus_region(CameraControl* control);
138+void android_camera_set_metering_region(CameraControl* control, MeteringRegion* region);
139
140 // Set photo metadata
141 void android_camera_set_rotation(CameraControl* control, int rotation);

Subscribers

People subscribed via source and target branches

to all changes: