Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: content/browser/device_orientation/motion.h

Issue 10698046: Implements part of Device Motion in the Renderer (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Makes changes suggested by review comments Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CONTENT_BROWSER_DEVICE_ORIENTATION_MOTION_H_
6 #define CONTENT_BROWSER_DEVICE_ORIENTATION_MOTION_H_
7
8 namespace device_orientation {
9 class Motion {
10 public:
11 // acceleration_x, acceleration_y, and acceleration_z are the accelerations
12 // excluding gravity along the axes specified in
13 // http://dev.w3.org/geo/api/spec-source-orientation.html
14
15 // acceleration_including_gravity_x, acceleration_including_gravity_y, and
16 // acceleration_including_gravity_z are the accelerations including gravity
17 // along the same axes as above
18
19 // rotation_rate_alpha, rotation_rate_beta, and rotataion_rate_gamma are the
20 // rotations around the same axes as above
21
22 // interval is the time interval at which data is obtained from the hardware,
23 // as specified in the document referenced above
24
25 // can_provide_{acceleration_x, acceleration_y, acceleration_z,
26 // acceleration_including_gravity_x, acceleration_including_gravity_y,
27 // acceleration_including_gravity_z, rotation_rate_alpha, rotation_rate_beta,
28 // rotation_rate_gamma, interval} is true if data can be provided for that
29 // variable
30
31 Motion();
32 Motion(const Motion&);
33 void operator=(const Motion& source);
34
35 static Motion Empty() { return Motion(); }
36
37 bool is_empty() const {
38 return !can_provide_acceleration_x_ && !can_provide_acceleration_y_ &&
39 !can_provide_acceleration_z_ &&
40 !can_provide_acceleration_including_gravity_x_ &&
41 !can_provide_acceleration_including_gravity_y_ &&
42 !can_provide_acceleration_including_gravity_z_ &&
43 !can_provide_rotation_rate_alpha_ &&
44 !can_provide_rotation_rate_beta_ &&
45 !can_provide_rotation_rate_gamma_ &&
46 !can_provide_interval_;
47 }
48
49 void set_acceleration_x(double acceleration_x) {
50 can_provide_acceleration_x_ = true;
51 acceleration_x_ = acceleration_x;
52 }
53 bool can_provide_acceleration_x() const {
54 return can_provide_acceleration_x_;
55 }
56 double acceleration_x() const { return acceleration_x_; }
57
58 void set_acceleration_y(double acceleration_y) {
59 can_provide_acceleration_y_ = true;
60 acceleration_y_ = acceleration_y;
61 }
62 bool can_provide_acceleration_y() const {
63 return can_provide_acceleration_y_;
64 }
65 double acceleration_y() const { return acceleration_y_; }
66
67 void set_acceleration_z(double acceleration_z) {
68 can_provide_acceleration_z_ = true;
69 acceleration_z_ = acceleration_z;
70 }
71 bool can_provide_acceleration_z() const {
72 return can_provide_acceleration_z_;
73 }
74 double acceleration_z() const { return acceleration_z_; }
75
76 void set_acceleration_including_gravity_x(
77 double acceleration_including_gravity_x) {
78 can_provide_acceleration_including_gravity_x_ = true;
79 acceleration_including_gravity_x_ = acceleration_including_gravity_x;
80 }
81 bool can_provide_acceleration_including_gravity_x() const {
82 return can_provide_acceleration_x_;
83 }
84 double acceleration_including_gravity_x() const {
85 return acceleration_including_gravity_x_;
86 }
87
88 void set_acceleration_including_gravity_y(
89 double acceleration_including_gravity_y) {
90 can_provide_acceleration_including_gravity_y_ = true;
91 acceleration_including_gravity_y_ = acceleration_including_gravity_y;
92 }
93 bool can_provide_acceleration_including_gravity_y() const {
94 return can_provide_acceleration_y_;
95 }
96 double acceleration_including_gravity_y() const {
97 return acceleration_including_gravity_y_;
98 }
99
100 void set_acceleration_including_gravity_z(
101 double acceleration_including_gravity_z) {
102 can_provide_acceleration_including_gravity_z_ = true;
103 acceleration_including_gravity_z_ = acceleration_including_gravity_z;
104 }
105 bool can_provide_acceleration_including_gravity_z() const {
106 return can_provide_acceleration_z_;
107 }
108 double acceleration_including_gravity_z() const {
109 return acceleration_including_gravity_z_;
110 }
111
112 void set_rotation_rate_alpha(double rotation_rate_alpha) {
113 can_provide_rotation_rate_alpha_ = true;
114 rotation_rate_alpha_ = rotation_rate_alpha;
115 }
116 bool can_provide_rotation_rate_alpha() const {
117 return can_provide_rotation_rate_alpha_;
118 }
119 double rotation_rate_alpha() const { return rotation_rate_alpha_; }
120
121 void set_rotation_rate_beta(double rotation_rate_beta) {
122 can_provide_rotation_rate_beta_ = true;
123 rotation_rate_beta_ = rotation_rate_beta;
124 }
125 bool can_provide_rotation_rate_beta() const {
126 return can_provide_rotation_rate_beta_;
127 }
128 double rotation_rate_beta() const { return rotation_rate_beta_; }
129
130 void set_rotation_rate_gamma(double rotation_rate_gamma) {
131 can_provide_rotation_rate_gamma_ = true;
132 rotation_rate_gamma_ = rotation_rate_gamma;
133 }
134 bool can_provide_rotation_rate_gamma() const {
135 return can_provide_rotation_rate_gamma_;
136 }
137 double rotation_rate_gamma() const { return rotation_rate_gamma_; }
138
139 void set_interval(double interval) {
140 can_provide_interval_ = true;
141 interval_ = interval;
142 }
143 bool can_provide_interval() const { return can_provide_interval_; }
144 double interval() const { return interval_; }
145
146 private:
147 double acceleration_x_;
148 double acceleration_y_;
149 double acceleration_z_;
150 double acceleration_including_gravity_x_;
151 double acceleration_including_gravity_y_;
152 double acceleration_including_gravity_z_;
153 double rotation_rate_alpha_;
154 double rotation_rate_beta_;
155 double rotation_rate_gamma_;
156 double interval_;
157 bool can_provide_acceleration_x_;
158 bool can_provide_acceleration_y_;
159 bool can_provide_acceleration_z_;
160 bool can_provide_acceleration_including_gravity_x_;
161 bool can_provide_acceleration_including_gravity_y_;
162 bool can_provide_acceleration_including_gravity_z_;
163 bool can_provide_rotation_rate_alpha_;
164 bool can_provide_rotation_rate_beta_;
165 bool can_provide_rotation_rate_gamma_;
166 bool can_provide_interval_;
167 };
168
169 } // namespace device_orientation
170
171 #endif // CONTENT_BROWSER_DEVICE_ORIENTATION_MOTION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698