gecko/dom/interfaces/events/nsIDOMDeviceOrientationEvent.idl
2012-05-21 12:12:37 +01:00

44 lines
2.0 KiB
Plaintext

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIDOMEvent.idl"
[scriptable, uuid(a9bd91fd-c0a7-44ed-9975-5a58faba3be3)]
interface nsIDOMDeviceOrientationEvent : nsIDOMEvent
{
void initDeviceOrientationEvent(in DOMString eventTypeArg,
in boolean canBubbleArg,
in boolean cancelableArg,
in double alpha,
in double beta,
in double gamma,
in boolean absolute);
/*
* W3C specification values: http://dev.w3.org/geo/api/spec-source-orientation.html
*
* Alpha, beta and gamma are Tait-Bryan angles (Z-X'-Y''), that is they correspond to
* yaw, pitch and roll in flight coordinates. More specifically, assume the device
* is resting face up on a flat surface (its screen is pointing straight up). Then
* the X axis points to the right when looking at the screen, the Y axis points up
* when looking at the screen, and the Z axis points toward you when looking at
* the screen. Alpha/beta/gamma then define the device's orientation by applying
* the following rotations to the device in order:
*
* 1) Rotate it by alpha degrees around its Z axis (like a compass, or like changing
* the yaw of an aircraft, assuming the Y axis is the nose of the craft); alpha
* is in [0,360).
* 2) Rotate it by beta degrees around its X axis (tilting the top of the device
* towards or away from you, like pitching an aircraft); beta is in [-180,180).
* 3) Rotate it by gamma degrees around its Y axis (tilting it sideways, like
* rolling an aircraft); gamma is in [-90,90).
*/
readonly attribute double alpha;
readonly attribute double beta;
readonly attribute double gamma;
readonly attribute boolean absolute;
};