// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_BROWSER_DEVICE_ORIENTATION_ORIENTATION_H_ #define CONTENT_BROWSER_DEVICE_ORIENTATION_ORIENTATION_H_ namespace device_orientation { class Orientation { public: // alpha, beta and gamma are the rotations around the axes as specified in // http://dev.w3.org/geo/api/spec-source-orientation.html // // can_provide_{alpha,beta,gamma} is true if data can be provided for that // variable. Orientation(bool can_provide_alpha, double alpha, bool can_provide_beta, double beta, bool can_provide_gamma, double gamma) : alpha_(alpha), beta_(beta), gamma_(gamma), can_provide_alpha_(can_provide_alpha), can_provide_beta_(can_provide_beta), can_provide_gamma_(can_provide_gamma) { } Orientation() : alpha_(0), beta_(0), gamma_(0), can_provide_alpha_(false), can_provide_beta_(false), can_provide_gamma_(false) { } static Orientation Empty() { return Orientation(); } bool IsEmpty() const { return !can_provide_alpha_ && !can_provide_beta_ && !can_provide_gamma_; } double alpha_; double beta_; double gamma_; bool can_provide_alpha_; bool can_provide_beta_; bool can_provide_gamma_; }; } // namespace device_orientation #endif // CONTENT_BROWSER_DEVICE_ORIENTATION_ORIENTATION_H_