Home | History | Annotate | Download | only in device_orientation
      1 /*
      2  * Copyright (C) 2010 Google Inc. All rights reserved.
      3  *
      4  * Redistribution and use in source and binary forms, with or without
      5  * modification, are permitted provided that the following conditions
      6  * are met:
      7  *  * Redistributions of source code must retain the above copyright
      8  *    notice, this list of conditions and the following disclaimer.
      9  *  * Redistributions in binary form must reproduce the above copyright
     10  *    notice, this list of conditions and the following disclaimer in the
     11  *    documentation and/or other materials provided with the distribution.
     12  *
     13  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
     14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     24  */
     25 
     26 #include "config.h"
     27 #include "modules/device_orientation/DeviceOrientationData.h"
     28 #include "public/platform/WebDeviceOrientationData.h"
     29 
     30 namespace WebCore {
     31 
     32 PassRefPtr<DeviceOrientationData> DeviceOrientationData::create()
     33 {
     34     return adoptRef(new DeviceOrientationData);
     35 }
     36 
     37 PassRefPtr<DeviceOrientationData> DeviceOrientationData::create(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma, bool canProvideAbsolute, bool absolute)
     38 {
     39     return adoptRef(new DeviceOrientationData(canProvideAlpha, alpha, canProvideBeta, beta, canProvideGamma, gamma, canProvideAbsolute, absolute));
     40 }
     41 
     42 PassRefPtr<DeviceOrientationData> DeviceOrientationData::create(const WebKit::WebDeviceOrientationData& data)
     43 {
     44     return DeviceOrientationData::create(data.hasAlpha, data.alpha, data.hasBeta, data.beta, data.hasGamma, data.gamma, data.hasAbsolute, data.absolute);
     45 }
     46 
     47 DeviceOrientationData::DeviceOrientationData()
     48     : m_canProvideAlpha(false)
     49     , m_canProvideBeta(false)
     50     , m_canProvideGamma(false)
     51     , m_canProvideAbsolute(false)
     52     , m_alpha(0)
     53     , m_beta(0)
     54     , m_gamma(0)
     55     , m_absolute(false)
     56 {
     57 }
     58 
     59 DeviceOrientationData::DeviceOrientationData(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma, bool canProvideAbsolute, bool absolute)
     60     : m_canProvideAlpha(canProvideAlpha)
     61     , m_canProvideBeta(canProvideBeta)
     62     , m_canProvideGamma(canProvideGamma)
     63     , m_canProvideAbsolute(canProvideAbsolute)
     64     , m_alpha(alpha)
     65     , m_beta(beta)
     66     , m_gamma(gamma)
     67     , m_absolute(absolute)
     68 {
     69 }
     70 
     71 double DeviceOrientationData::alpha() const
     72 {
     73     return m_alpha;
     74 }
     75 
     76 double DeviceOrientationData::beta() const
     77 {
     78     return m_beta;
     79 }
     80 
     81 double DeviceOrientationData::gamma() const
     82 {
     83     return m_gamma;
     84 }
     85 
     86 bool DeviceOrientationData::absolute() const
     87 {
     88     return m_absolute;
     89 }
     90 
     91 bool DeviceOrientationData::canProvideAlpha() const
     92 {
     93     return m_canProvideAlpha;
     94 }
     95 
     96 bool DeviceOrientationData::canProvideBeta() const
     97 {
     98     return m_canProvideBeta;
     99 }
    100 
    101 bool DeviceOrientationData::canProvideGamma() const
    102 {
    103     return m_canProvideGamma;
    104 }
    105 
    106 bool DeviceOrientationData::canProvideAbsolute() const
    107 {
    108     return m_canProvideAbsolute;
    109 }
    110 
    111 bool DeviceOrientationData::canProvideEventData() const
    112 {
    113     return canProvideAlpha() || canProvideBeta() || canProvideGamma();
    114 }
    115 
    116 } // namespace WebCore
    117