OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2010 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * * Redistributions of source code must retain the above copyright | 7 * * Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * * Redistributions in binary form must reproduce the above copyright | 9 * * Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 m_canProvideGamma(canProvideGamma) {} | 98 m_canProvideGamma(canProvideGamma) {} |
99 | 99 |
100 DeviceMotionData* DeviceMotionData::create() { | 100 DeviceMotionData* DeviceMotionData::create() { |
101 return new DeviceMotionData; | 101 return new DeviceMotionData; |
102 } | 102 } |
103 | 103 |
104 DeviceMotionData* DeviceMotionData::create( | 104 DeviceMotionData* DeviceMotionData::create( |
105 Acceleration* acceleration, | 105 Acceleration* acceleration, |
106 Acceleration* accelerationIncludingGravity, | 106 Acceleration* accelerationIncludingGravity, |
107 RotationRate* rotationRate, | 107 RotationRate* rotationRate, |
108 bool canProvideInterval, | |
109 double interval) { | 108 double interval) { |
110 return new DeviceMotionData(acceleration, accelerationIncludingGravity, | 109 return new DeviceMotionData(acceleration, accelerationIncludingGravity, |
111 rotationRate, canProvideInterval, interval); | 110 rotationRate, interval); |
112 } | 111 } |
113 | 112 |
114 DeviceMotionData* DeviceMotionData::create(const DeviceMotionEventInit& init) { | 113 DeviceMotionData* DeviceMotionData::create(const DeviceMotionEventInit& init) { |
115 return DeviceMotionData::create( | 114 return DeviceMotionData::create( |
116 init.hasAcceleration() | 115 init.hasAcceleration() |
117 ? DeviceMotionData::Acceleration::create(init.acceleration()) | 116 ? DeviceMotionData::Acceleration::create(init.acceleration()) |
118 : nullptr, | 117 : nullptr, |
119 init.hasAccelerationIncludingGravity() | 118 init.hasAccelerationIncludingGravity() |
120 ? DeviceMotionData::Acceleration::create( | 119 ? DeviceMotionData::Acceleration::create( |
121 init.accelerationIncludingGravity()) | 120 init.accelerationIncludingGravity()) |
122 : nullptr, | 121 : nullptr, |
123 init.hasRotationRate() | 122 init.hasRotationRate() |
124 ? DeviceMotionData::RotationRate::create(init.rotationRate()) | 123 ? DeviceMotionData::RotationRate::create(init.rotationRate()) |
125 : nullptr, | 124 : nullptr, |
126 init.hasInterval(), init.hasInterval() ? init.interval() : 0); | 125 init.hasInterval() ? init.interval() : 0); |
127 } | 126 } |
128 | 127 |
129 DeviceMotionData* DeviceMotionData::create(const device::MotionData& data) { | 128 DeviceMotionData* DeviceMotionData::create(const device::MotionData& data) { |
130 return DeviceMotionData::create( | 129 return DeviceMotionData::create( |
131 DeviceMotionData::Acceleration::create( | 130 DeviceMotionData::Acceleration::create( |
132 data.hasAccelerationX, data.accelerationX, data.hasAccelerationY, | 131 data.hasAccelerationX, data.accelerationX, data.hasAccelerationY, |
133 data.accelerationY, data.hasAccelerationZ, data.accelerationZ), | 132 data.accelerationY, data.hasAccelerationZ, data.accelerationZ), |
134 DeviceMotionData::Acceleration::create( | 133 DeviceMotionData::Acceleration::create( |
135 data.hasAccelerationIncludingGravityX, | 134 data.hasAccelerationIncludingGravityX, |
136 data.accelerationIncludingGravityX, | 135 data.accelerationIncludingGravityX, |
137 data.hasAccelerationIncludingGravityY, | 136 data.hasAccelerationIncludingGravityY, |
138 data.accelerationIncludingGravityY, | 137 data.accelerationIncludingGravityY, |
139 data.hasAccelerationIncludingGravityZ, | 138 data.hasAccelerationIncludingGravityZ, |
140 data.accelerationIncludingGravityZ), | 139 data.accelerationIncludingGravityZ), |
141 DeviceMotionData::RotationRate::create( | 140 DeviceMotionData::RotationRate::create( |
142 data.hasRotationRateAlpha, data.rotationRateAlpha, | 141 data.hasRotationRateAlpha, data.rotationRateAlpha, |
143 data.hasRotationRateBeta, data.rotationRateBeta, | 142 data.hasRotationRateBeta, data.rotationRateBeta, |
144 data.hasRotationRateGamma, data.rotationRateGamma), | 143 data.hasRotationRateGamma, data.rotationRateGamma), |
145 true, data.interval); | 144 data.interval); |
146 } | 145 } |
147 | 146 |
148 DeviceMotionData::DeviceMotionData() | 147 DeviceMotionData::DeviceMotionData() : m_interval(0) {} |
149 : m_canProvideInterval(false), m_interval(0) {} | |
150 | 148 |
151 DeviceMotionData::DeviceMotionData(Acceleration* acceleration, | 149 DeviceMotionData::DeviceMotionData(Acceleration* acceleration, |
152 Acceleration* accelerationIncludingGravity, | 150 Acceleration* accelerationIncludingGravity, |
153 RotationRate* rotationRate, | 151 RotationRate* rotationRate, |
154 bool canProvideInterval, | |
155 double interval) | 152 double interval) |
156 : m_acceleration(acceleration), | 153 : m_acceleration(acceleration), |
157 m_accelerationIncludingGravity(accelerationIncludingGravity), | 154 m_accelerationIncludingGravity(accelerationIncludingGravity), |
158 m_rotationRate(rotationRate), | 155 m_rotationRate(rotationRate), |
159 m_canProvideInterval(canProvideInterval), | |
160 m_interval(interval) {} | 156 m_interval(interval) {} |
161 | 157 |
162 DEFINE_TRACE(DeviceMotionData) { | 158 DEFINE_TRACE(DeviceMotionData) { |
163 visitor->trace(m_acceleration); | 159 visitor->trace(m_acceleration); |
164 visitor->trace(m_accelerationIncludingGravity); | 160 visitor->trace(m_accelerationIncludingGravity); |
165 visitor->trace(m_rotationRate); | 161 visitor->trace(m_rotationRate); |
166 } | 162 } |
167 | 163 |
168 bool DeviceMotionData::canProvideEventData() const { | 164 bool DeviceMotionData::canProvideEventData() const { |
169 const bool hasAcceleration = | 165 const bool hasAcceleration = |
170 m_acceleration && | 166 m_acceleration && |
171 (m_acceleration->canProvideX() || m_acceleration->canProvideY() || | 167 (m_acceleration->canProvideX() || m_acceleration->canProvideY() || |
172 m_acceleration->canProvideZ()); | 168 m_acceleration->canProvideZ()); |
173 const bool hasAccelerationIncludingGravity = | 169 const bool hasAccelerationIncludingGravity = |
174 m_accelerationIncludingGravity && | 170 m_accelerationIncludingGravity && |
175 (m_accelerationIncludingGravity->canProvideX() || | 171 (m_accelerationIncludingGravity->canProvideX() || |
176 m_accelerationIncludingGravity->canProvideY() || | 172 m_accelerationIncludingGravity->canProvideY() || |
177 m_accelerationIncludingGravity->canProvideZ()); | 173 m_accelerationIncludingGravity->canProvideZ()); |
178 const bool hasRotationRate = | 174 const bool hasRotationRate = |
179 m_rotationRate && | 175 m_rotationRate && |
180 (m_rotationRate->canProvideAlpha() || m_rotationRate->canProvideBeta() || | 176 (m_rotationRate->canProvideAlpha() || m_rotationRate->canProvideBeta() || |
181 m_rotationRate->canProvideGamma()); | 177 m_rotationRate->canProvideGamma()); |
182 | 178 |
183 return hasAcceleration || hasAccelerationIncludingGravity || hasRotationRate; | 179 return hasAcceleration || hasAccelerationIncludingGravity || hasRotationRate; |
184 } | 180 } |
185 | 181 |
186 } // namespace blink | 182 } // namespace blink |
OLD | NEW |