зеркало из https://github.com/mozilla/gecko-dev.git
122 строки
3.1 KiB
C++
122 строки
3.1 KiB
C++
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* 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/. */
|
|
|
|
#ifndef mozilla_EventForwards_h__
|
|
#define mozilla_EventForwards_h__
|
|
|
|
#include <stdint.h>
|
|
|
|
/**
|
|
* XXX Following enums should be in BasicEvents.h. However, currently, it's
|
|
* impossible to use foward delearation for enum.
|
|
*/
|
|
|
|
/**
|
|
* Return status for event processors.
|
|
*/
|
|
enum nsEventStatus
|
|
{
|
|
// The event is ignored, do default processing
|
|
nsEventStatus_eIgnore,
|
|
// The event is consumed, don't do default processing
|
|
nsEventStatus_eConsumeNoDefault,
|
|
// The event is consumed, but do default processing
|
|
nsEventStatus_eConsumeDoDefault
|
|
};
|
|
|
|
namespace mozilla {
|
|
|
|
typedef uint16_t Modifiers;
|
|
|
|
#define NS_DEFINE_KEYNAME(aCPPName, aDOMKeyName) \
|
|
KEY_NAME_INDEX_##aCPPName,
|
|
|
|
enum KeyNameIndex
|
|
{
|
|
#include "nsDOMKeyNameList.h"
|
|
// There shouldn't be "," at the end of enum definition, this dummy item
|
|
// avoids bustage on some platforms.
|
|
NUMBER_OF_KEY_NAME_INDEX
|
|
};
|
|
|
|
#undef NS_DEFINE_KEYNAME
|
|
|
|
} // namespace mozilla
|
|
|
|
/**
|
|
* All header files should include this header instead of *Events.h.
|
|
*/
|
|
|
|
// BasicEvents.h
|
|
namespace mozilla {
|
|
struct EventFlags;
|
|
|
|
class WidgetEvent;
|
|
class WidgetGUIEvent;
|
|
class WidgetInputEvent;
|
|
class InternalUIEvent;
|
|
|
|
// TextEvents.h
|
|
struct AlternativeCharCode;
|
|
struct TextRangeStyle;
|
|
struct TextRange;
|
|
|
|
typedef TextRange* TextRangeArray;
|
|
|
|
class WidgetKeyboardEvent;
|
|
class WidgetTextEvent;
|
|
class WidgetCompositionEvent;
|
|
class WidgetQueryContentEvent;
|
|
class WidgetSelectionEvent;
|
|
|
|
// MouseEvents.h
|
|
class WidgetMouseEventBase;
|
|
class WidgetMouseEvent;
|
|
class WidgetDragEvent;
|
|
class WidgetMouseScrollEvent;
|
|
class WidgetWheelEvent;
|
|
|
|
// TouchEvents.h
|
|
class WidgetGestureNotifyEvent;
|
|
class WidgetSimpleGestureEvent;
|
|
class WidgetTouchEvent;
|
|
|
|
// ContentEvents.h
|
|
class InternalScriptErrorEvent;
|
|
class InternalScrollPortEvent;
|
|
class InternalScrollAreaEvent;
|
|
class InternalFormEvent;
|
|
class InternalClipboardEvent;
|
|
class InternalFocusEvent;
|
|
class InternalTransitionEvent;
|
|
class InternalAnimationEvent;
|
|
|
|
// MiscEvents.h
|
|
class WidgetCommandEvent;
|
|
class WidgetContentCommandEvent;
|
|
class WidgetPluginEvent;
|
|
|
|
// MutationEvent.h (content/events/public)
|
|
class InternalMutationEvent;
|
|
} // namespace mozilla
|
|
|
|
// TODO: Remove following typedefs
|
|
typedef mozilla::WidgetEvent nsEvent;
|
|
typedef mozilla::WidgetGUIEvent nsGUIEvent;
|
|
typedef mozilla::WidgetInputEvent nsInputEvent;
|
|
typedef mozilla::InternalUIEvent nsUIEvent;
|
|
typedef mozilla::WidgetQueryContentEvent nsQueryContentEvent;
|
|
typedef mozilla::WidgetSelectionEvent nsSelectionEvent;
|
|
typedef mozilla::WidgetMouseEventBase nsMouseEvent_base;
|
|
typedef mozilla::WidgetMouseEvent nsMouseEvent;
|
|
typedef mozilla::WidgetDragEvent nsDragEvent;
|
|
typedef mozilla::WidgetMouseScrollEvent nsMouseScrollEvent;
|
|
|
|
namespace mozilla {
|
|
typedef WidgetWheelEvent WheelEvent;
|
|
}
|
|
|
|
#endif // mozilla_EventForwards_h__
|