mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
100 lines
4.0 KiB
Plaintext
100 lines
4.0 KiB
Plaintext
/* vim: set shiftwidth=2 tabstop=8 autoindent cindent expandtab: */
|
|
/* 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 "nsIDOMUIEvent.idl"
|
|
%{C++
|
|
#include "nsWeakPtr.h"
|
|
#include "nsPoint.h"
|
|
%}
|
|
interface nsIVariant;
|
|
|
|
/**
|
|
* @see http://dvcs.w3.org/hg/webevents/raw-file/tip/touchevents.html
|
|
*/
|
|
|
|
[scriptable, builtinclass, uuid(98bc0f7d-5bff-4387-9c42-58af54b48dd5)]
|
|
interface nsIDOMTouch : nsISupports {
|
|
readonly attribute long identifier;
|
|
readonly attribute nsIDOMEventTarget target;
|
|
readonly attribute long pageX;
|
|
readonly attribute long pageY;
|
|
readonly attribute long screenX;
|
|
readonly attribute long screenY;
|
|
readonly attribute long clientX;
|
|
readonly attribute long clientY;
|
|
readonly attribute long radiusX;
|
|
readonly attribute long radiusY;
|
|
readonly attribute float rotationAngle;
|
|
readonly attribute float force;
|
|
%{C++
|
|
nsCOMPtr<mozilla::dom::EventTarget> mTarget;
|
|
mozilla::dom::EventTarget *GetTarget() { return mTarget; }
|
|
void SetTarget(mozilla::dom::EventTarget *target) { mTarget = target; }
|
|
nsIntPoint mRefPoint;
|
|
bool mChanged;
|
|
uint32_t mMessage;
|
|
%}
|
|
};
|
|
|
|
[scriptable, uuid(60706eb7-d50d-4379-b01c-e78e6af84213)]
|
|
interface nsIDOMTouchList : nsISupports {
|
|
readonly attribute unsigned long length;
|
|
nsIDOMTouch item(in unsigned long index);
|
|
nsIDOMTouch identifiedTouch(in long identifier);
|
|
};
|
|
|
|
[scriptable, builtinclass, uuid(9a043d55-f59e-4790-8fc7-1fab1c727732)]
|
|
interface nsIDOMTouchEvent : nsIDOMUIEvent {
|
|
readonly attribute nsIDOMTouchList touches;
|
|
readonly attribute nsIDOMTouchList targetTouches;
|
|
readonly attribute nsIDOMTouchList changedTouches;
|
|
readonly attribute boolean altKey;
|
|
readonly attribute boolean metaKey;
|
|
readonly attribute boolean ctrlKey;
|
|
readonly attribute boolean shiftKey;
|
|
void initTouchEvent(in DOMString type,
|
|
in boolean canBubble,
|
|
in boolean cancelable,
|
|
in nsIDOMWindow view,
|
|
in long detail,
|
|
in boolean ctrlKey,
|
|
in boolean altKey,
|
|
in boolean shiftKey,
|
|
in boolean metaKey,
|
|
in nsIDOMTouchList touches,
|
|
in nsIDOMTouchList targetTouches,
|
|
in nsIDOMTouchList changedTouches);
|
|
};
|
|
|
|
[scriptable, uuid(6d5484f7-92ac-45f8-9388-39b5bad055ce)]
|
|
interface nsITouchEventReceiver : nsISupports {
|
|
[implicit_jscontext] attribute jsval ontouchstart;
|
|
[implicit_jscontext] attribute jsval ontouchend;
|
|
[implicit_jscontext] attribute jsval ontouchmove;
|
|
[implicit_jscontext] attribute jsval ontouchenter;
|
|
[implicit_jscontext] attribute jsval ontouchleave;
|
|
[implicit_jscontext] attribute jsval ontouchcancel;
|
|
};
|
|
|
|
[scriptable, uuid(974cff68-6f0b-4520-8523-fa68b2754656)]
|
|
interface nsIDOMDocumentTouch : nsITouchEventReceiver {
|
|
nsIDOMTouch createTouch([optional] in nsIDOMWindow view,
|
|
[optional] in nsIDOMEventTarget target,
|
|
[optional] in long identifier,
|
|
[optional] in long pageX,
|
|
[optional] in long pageY,
|
|
[optional] in long screenX,
|
|
[optional] in long screenY,
|
|
[optional] in long clientX,
|
|
[optional] in long clientY,
|
|
[optional] in long radiusX,
|
|
[optional] in long radiusY,
|
|
[optional] in float rotationAngle,
|
|
[optional] in float force);
|
|
|
|
|
|
nsIDOMTouchList createTouchList([optional] in nsIVariant aPoints);
|
|
};
|