DeviceOrientationData.h [plain text]
#pragma once
#include <wtf/Optional.h>
#include <wtf/Ref.h>
#include <wtf/RefCounted.h>
namespace WebCore {
class DeviceOrientationData : public RefCounted<DeviceOrientationData> {
public:
static Ref<DeviceOrientationData> create()
{
return adoptRef(*new DeviceOrientationData);
}
#if PLATFORM(IOS_FAMILY)
WEBCORE_EXPORT static Ref<DeviceOrientationData> create(Optional<double> alpha, Optional<double> beta, Optional<double> gamma, Optional<double> compassHeading, Optional<double> compassAccuracy);
#else
WEBCORE_EXPORT static Ref<DeviceOrientationData> create(Optional<double> alpha, Optional<double> beta, Optional<double> gamma, Optional<bool> absolute);
#endif
Optional<double> alpha() const { return m_alpha; }
Optional<double> beta() const { return m_beta; }
Optional<double> gamma() const { return m_gamma; }
#if PLATFORM(IOS_FAMILY)
Optional<double> compassHeading() const { return m_compassHeading; }
Optional<double> compassAccuracy() const { return m_compassAccuracy; }
#else
Optional<bool> absolute() const { return m_absolute; }
#endif
private:
DeviceOrientationData() = default;
#if PLATFORM(IOS_FAMILY)
DeviceOrientationData(Optional<double> alpha, Optional<double> beta, Optional<double> gamma, Optional<double> compassHeading, Optional<double> compassAccuracy);
#else
DeviceOrientationData(Optional<double> alpha, Optional<double> beta, Optional<double> gamma, Optional<bool> absolute);
#endif
Optional<double> m_alpha;
Optional<double> m_beta;
Optional<double> m_gamma;
#if PLATFORM(IOS_FAMILY)
Optional<double> m_compassHeading;
Optional<double> m_compassAccuracy;
#else
Optional<bool> m_absolute;
#endif
};
}