/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is mozilla.org code. * * The Initial Developer of the Original Code is * Netscape Communications Corporation. * Portions created by the Initial Developer are Copyright (C) 1998 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ #ifndef nsEvent_h__ #define nsEvent_h__ /* * This is in a separate header file because it needs to be included * in many places where including nsGUIEvent.h would bring in many * header files that are totally unnecessary. */ enum UIStateChangeType { UIStateChangeType_NoChange, UIStateChangeType_Set, UIStateChangeType_Clear }; /** * 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 }; /** * sizemode is an adjunct to widget size */ enum nsSizeMode { nsSizeMode_Normal = 0, nsSizeMode_Minimized, nsSizeMode_Maximized, nsSizeMode_Fullscreen }; struct nsAlternativeCharCode; struct nsTextRangeStyle; struct nsTextRange; class nsEvent; class nsGUIEvent; class nsScriptErrorEvent; class nsSizeEvent; class nsSizeModeEvent; class nsZLevelEvent; class nsPaintEvent; class nsScrollbarEvent; class nsScrollPortEvent; class nsScrollAreaEvent; class nsInputEvent; class nsMouseEvent_base; class nsMouseEvent; class nsDragEvent; #ifdef ACCESSIBILITY class nsAccessibleEvent; #endif class nsKeyEvent; class nsTextEvent; class nsCompositionEvent; class nsMouseScrollEvent; class nsGestureNotifyEvent; class nsQueryContentEvent; class nsFocusEvent; class nsSelectionEvent; class nsContentCommandEvent; class nsMozTouchEvent; class nsTouchEvent; class nsFormEvent; class nsCommandEvent; class nsUIEvent; class nsSimpleGestureEvent; class nsTransitionEvent; class nsAnimationEvent; class nsUIStateChangeEvent; class nsPluginEvent; namespace mozilla { namespace widget { // All modifier keys should be defined here. This is used for managing // modifier states for DOM Level 3 or later. enum Modifier { MODIFIER_ALT = 0x0001, MODIFIER_ALTGRAPH = 0x0002, MODIFIER_CAPSLOCK = 0x0004, MODIFIER_CONTROL = 0x0008, MODIFIER_FN = 0x0010, MODIFIER_META = 0x0020, MODIFIER_NUMLOCK = 0x0040, MODIFIER_SCROLL = 0x0080, MODIFIER_SHIFT = 0x0100, MODIFIER_SYMBOLLOCK = 0x0200, MODIFIER_WIN = 0x0400 }; typedef PRUint16 Modifiers; } // namespace widget } // namespace mozilla #define NS_DOM_KEYNAME_ALT "Alt" #define NS_DOM_KEYNAME_ALTGRAPH "AltGraph" #define NS_DOM_KEYNAME_CAPSLOCK "CapsLock" #define NS_DOM_KEYNAME_CONTROL "Control" #define NS_DOM_KEYNAME_FN "Fn" #define NS_DOM_KEYNAME_META "Meta" #define NS_DOM_KEYNAME_NUMLOCK "NumLock" #define NS_DOM_KEYNAME_SCROLL "Scroll" #define NS_DOM_KEYNAME_SHIFT "Shift" #define NS_DOM_KEYNAME_SYMBOLLOCK "SymbolLock" #define NS_DOM_KEYNAME_WIN "Win" #endif // nsEvent_h__