Home | History | Annotate | Download | only in dom
      1 /*
      2  * Copyright (C) 2010 Apple 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 "DeviceMotionData.h"
     28 
     29 namespace WebCore {
     30 
     31 PassRefPtr<DeviceMotionData::Acceleration> DeviceMotionData::Acceleration::create(bool canProvideX, double x,
     32                                                                                   bool canProvideY, double y,
     33                                                                                   bool canProvideZ, double z)
     34 {
     35     return adoptRef(new DeviceMotionData::Acceleration(canProvideX, x, canProvideY, y, canProvideZ, z));
     36 }
     37 
     38 DeviceMotionData::Acceleration::Acceleration(bool canProvideX, double x, bool canProvideY, double y, bool canProvideZ, double z)
     39     : m_x(x)
     40     , m_y(y)
     41     , m_z(z)
     42     , m_canProvideX(canProvideX)
     43     , m_canProvideY(canProvideY)
     44     , m_canProvideZ(canProvideZ)
     45 
     46 {
     47 }
     48 
     49 PassRefPtr<DeviceMotionData::RotationRate> DeviceMotionData::RotationRate::create(bool canProvideAlpha, double alpha,
     50                                                                                   bool canProvideBeta, double beta,
     51                                                                                   bool canProvideGamma, double gamma)
     52 {
     53     return adoptRef(new DeviceMotionData::RotationRate(canProvideAlpha, alpha, canProvideBeta, beta, canProvideGamma, gamma));
     54 }
     55 
     56 DeviceMotionData::RotationRate::RotationRate(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma)
     57     : m_alpha(alpha)
     58     , m_beta(beta)
     59     , m_gamma(gamma)
     60     , m_canProvideAlpha(canProvideAlpha)
     61     , m_canProvideBeta(canProvideBeta)
     62     , m_canProvideGamma(canProvideGamma)
     63 {
     64 }
     65 
     66 PassRefPtr<DeviceMotionData> DeviceMotionData::create()
     67 {
     68     return adoptRef(new DeviceMotionData);
     69 }
     70 
     71 PassRefPtr<DeviceMotionData> DeviceMotionData::create(PassRefPtr<Acceleration> acceleration, PassRefPtr<Acceleration> accelerationIncludingGravity,
     72                                                       PassRefPtr<RotationRate> rotationRate, bool canProvideInterval, double interval)
     73 {
     74     return adoptRef(new DeviceMotionData(acceleration, accelerationIncludingGravity, rotationRate, canProvideInterval, interval));
     75 }
     76 
     77 DeviceMotionData::DeviceMotionData()
     78     : m_canProvideInterval(false)
     79 {
     80 }
     81 
     82 DeviceMotionData::DeviceMotionData(PassRefPtr<Acceleration> acceleration, PassRefPtr<Acceleration> accelerationIncludingGravity,
     83                                    PassRefPtr<RotationRate> rotationRate, bool canProvideInterval, double interval)
     84     : m_acceleration(acceleration)
     85     , m_accelerationIncludingGravity(accelerationIncludingGravity)
     86     , m_rotationRate(rotationRate)
     87     , m_canProvideInterval(canProvideInterval)
     88     , m_interval(interval)
     89 {
     90 }
     91 
     92 } // namespace WebCore
     93