diff -r 000000000000 -r 6474c204b198 widget/EventForwards.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/widget/EventForwards.h Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,89 @@ +/* -*- 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 + +#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 "mozilla/KeyNameList.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__