gecko-dev/widget/EventForwards.h

90 lines
2.0 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>
#include "mozilla/TypedEnum.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"
// If a DOM keyboard event is synthesized by script, this is used. Then,
// specified key name should be stored and use it as .key value.
KEY_NAME_INDEX_USE_STRING
};
#undef NS_DEFINE_KEYNAME
#define NS_DEFINE_COMMAND(aName, aCommandStr) , Command##aName
typedef int8_t CommandInt;
enum Command MOZ_ENUM_TYPE(CommandInt)
{
CommandDoNothing
#include "mozilla/CommandList.h"
};
#undef NS_DEFINE_COMMAND
} // namespace mozilla
/**
* All header files should include this header instead of *Events.h.
*/
namespace mozilla {
#define NS_EVENT_CLASS(aPrefix, aName) class aPrefix##aName;
#define NS_ROOT_EVENT_CLASS(aPrefix, aName) NS_EVENT_CLASS(aPrefix, aName)
#include "mozilla/EventClassList.h"
#undef NS_EVENT_CLASS
#undef NS_ROOT_EVENT_CLASS
// BasicEvents.h
struct EventFlags;
// TextEvents.h
struct AlternativeCharCode;
// TextRange.h
struct TextRangeStyle;
struct TextRange;
class TextRangeArray;
} // namespace mozilla
#endif // mozilla_EventForwards_h__