summaryrefslogtreecommitdiffstats
path: root/fltk-2/include/fltk/events.h
diff options
context:
space:
mode:
Diffstat (limited to 'fltk-2/include/fltk/events.h')
-rw-r--r--fltk-2/include/fltk/events.h324
1 files changed, 0 insertions, 324 deletions
diff --git a/fltk-2/include/fltk/events.h b/fltk-2/include/fltk/events.h
deleted file mode 100644
index e074bdf..0000000
--- a/fltk-2/include/fltk/events.h
+++ /dev/null
@@ -1,324 +0,0 @@
-//
-// "$Id: events.h 5931 2007-07-13 14:20:38Z spitzak $"
-//
-// Event types and data. A Widget::handle() method needs this.
-//
-// Copyright 1998-2006 by Bill Spitzak and others.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-// USA.
-//
-// Please report all bugs and problems to "fltk-bugs@fltk.org".
-
-#ifndef fltk_events_h
-#define fltk_events_h
-
-#include "FL_API.h"
-
-namespace fltk {
-
-/*! Numbers passed to Widget::handle() and returned by event(). */
-enum {
- NO_EVENT = 0,
- PUSH = 1,
- RELEASE = 2,
- ENTER = 3,
- LEAVE = 4,
- DRAG = 5,
- FOCUS = 6,
- UNFOCUS = 7,
- KEY = 8,
- KEYUP = 9,
- FOCUS_CHANGE = 10,
- MOVE = 11,
- SHORTCUT = 12,
- DEACTIVATE = 13,
- ACTIVATE = 14,
- HIDE = 15,
- SHOW = 16,
- PASTE = 17,
- TIMEOUT = 18,
- MOUSEWHEEL = 19,
- DND_ENTER = 20,
- DND_DRAG = 21,
- DND_LEAVE = 22,
- DND_RELEASE = 23,
- TOOLTIP = 24
-};
-
-/*! Values returned by event_key(), passed to event_key_state() and
- get_key_state(), and used for the low 16 bits of add_shortcut().
-
- The actual values returned are based on X11 keysym values, though
- fltk always returns "unshifted" values much like Windows does. A
- given key always returns the same value no matter what shift keys
- are held down. Use event_text() to see the results of any shift
- keys.
-
- The lowercase letters 'a' through 'z' and the ascii symbols
- '`', '-', '=', '[', ']', '\\', ',', '.', '/', ';', '\'' and space
- are used to identify the keys in the main keyboard.
-
- On X systems unrecognized keys are returned unchanged as their
- X keysym value. If they have no keysym it uses the scan code
- or'd with 0x8000, this is what all those blue buttons on a
- Microsoft keyboard will do. I don't know how to get those
- buttons on Windows.
-*/
-enum {
- LeftButton = 1, /*!< PUSH/RELEASE set event_key to this */
- MiddleButton = 2, /*!< PUSH/RELEASE set event_key to this */
- RightButton = 3, /*!< PUSH/RELEASE set event_key to this */
- SpaceKey = 32, /*!< Same as ' ' or 32 */
- // 'a'-'z', and all punctuation go here in numerical order
- BackSpaceKey = 0xff08, /*!< Backspace */
- TabKey = 0xff09, /*!< Tab */
- ClearKey = 0xff0b, /*!< On some systems with NumLock off '5' produces this */
- ReturnKey = 0xff0d, /*!< Main Enter key, Windows and X documentation calls this "Return" */
- PauseKey = 0xff13, /*!< Pause + Break button */
- ScrollLockKey = 0xff14, /*!< Scroll Lock button */
- EscapeKey = 0xff1b, /*!< Esc */
- HomeKey = 0xff50, /*!< Home */
- LeftKey = 0xff51, /*!< Left */
- UpKey = 0xff52, /*!< Up arrow */
- RightKey = 0xff53, /*!< Right arrow */
- DownKey = 0xff54, /*!< Down arrow */
- PageUpKey = 0xff55, /*!< Page Up */
- PageDownKey = 0xff56, /*!< Page Down */
- EndKey = 0xff57, /*!< End */
- PrintKey = 0xff61, /*!< Print Scrn key + SysRq key */
- InsertKey = 0xff63, /*!< Insert */
- MenuKey = 0xff67, /*!< Key in lower-right with picture of popup menu */
- HelpKey = 0xff68, /*!< Help key on Macintosh keyboards */
- NumLockKey = 0xff7f, /*!< NumLock key */
- Keypad = 0xff80, /*!< Add ASCII to get keypad keys */
- KeypadEnter = Keypad+'\r', /*!< Keypad+'\\r' */
- MultiplyKey = Keypad+'*', /*!< Keypad+'*' */
- AddKey = Keypad+'+', /*!< Keypad+'+' */
- SubtractKey = Keypad+'-', /*!< Keypad+'-' */
- DecimalKey = Keypad+'.', /*!< Keypad+'.' */
- DivideKey = Keypad+'/', /*!< Keypad+'/' */
- Keypad0 = Keypad+'0', /*!< Keypad+'0' */
- Keypad1 = Keypad+'1', /*!< Keypad+'1' */
- Keypad2 = Keypad+'2', /*!< Keypad+'2' */
- Keypad3 = Keypad+'3', /*!< Keypad+'3' */
- Keypad4 = Keypad+'4', /*!< Keypad+'4' */
- Keypad5 = Keypad+'5', /*!< Keypad+'5' */
- Keypad6 = Keypad+'6', /*!< Keypad+'6' */
- Keypad7 = Keypad+'7', /*!< Keypad+'7' */
- Keypad8 = Keypad+'8', /*!< Keypad+'8' */
- Keypad9 = Keypad+'9', /*!< Keypad+'9' */
- KeypadLast = 0xffbd, /*!< Keypad+'=', largest legal keypad key */
- F0Key = 0xffbd, /*!< Add a number to get function key */
- F1Key = F0Key+1, /*!< F0Key+1 */
- F2Key = F0Key+2, /*!< F0Key+2 */
- F3Key = F0Key+3, /*!< F0Key+3 */
- F4Key = F0Key+4, /*!< F0Key+4 */
- F5Key = F0Key+5, /*!< F0Key+5 */
- F6Key = F0Key+6, /*!< F0Key+6 */
- F7Key = F0Key+7, /*!< F0Key+7 */
- F8Key = F0Key+8, /*!< F0Key+8 */
- F9Key = F0Key+9, /*!< F0Key+9 */
- F10Key = F0Key+10, /*!< F0Key+10 */
- F11Key = F0Key+11, /*!< F0Key+11 */
- F12Key = F0Key+12, /*!< F0Key+12 */
- // use F0Key+n to get function key n
- LastFunctionKey = F0Key+35, /*!< F0Key+35, largest legal function key */
- LeftShiftKey = 0xffe1, /*!< Left-hand Shift */
- RightShiftKey = 0xffe2, /*!< Right-hand Shift */
- LeftCtrlKey = 0xffe3, /*!< Left-hand Ctrl */
- RightCtrlKey = 0xffe4, /*!< Right-hand Ctrl */
- CapsLockKey = 0xffe5, /*!< Caps Lock */
- LeftMetaKey = 0xffe7, /*!< The left "Windows" or "Apple" key */
- RightMetaKey = 0xffe8, /*!< The right "Windows" or "Apple" key */
- LeftAltKey = 0xffe9, /*!< Left-hand Alt (option on Mac) */
- RightAltKey = 0xffea, /*!< Right-hand Alt (option on Mac) */
- DeleteKey = 0xffff, /*!< Delete */
-#if defined(__APPLE__)
- LeftAccKey = LeftCtrlKey,
- RightAccKey = RightCtrlKey,
- LeftCmdKey = LeftMetaKey,
- RightCmdKey = RightMetaKey
-#else
- LeftAccKey = LeftAltKey,
- RightAccKey = RightAltKey,
- LeftCmdKey = LeftCtrlKey,
- RightCmdKey = RightCtrlKey
-#endif
-};
-
-/*! Flags returned by event_state(), and used as the high 16 bits
- of Widget::add_shortcut() values (the low 16 bits are all zero, so these
- may be or'd with key values).
-
- The inline function BUTTON(n) will turn n (1-8) into the flag for a
- mouse button.
-*/
-enum {
- SHIFT = 0x00010000, /*!< Either shift key held down */
- CAPSLOCK = 0x00020000, /*!< Caps lock is toggled on */
- CTRL = 0x00040000, /*!< Either ctrl key held down */
- ALT = 0x00080000, /*!< Either alt key held down */
- NUMLOCK = 0x00100000, /*!< Num Lock turned on */
- META = 0x00400000, /*!< "Windows" or the "Apple" keys held down */
- SCROLLLOCK = 0x00800000, /*!< Scroll Lock turned on */
- BUTTON1 = 0x01000000, /*!< Left mouse button held down */
- BUTTON2 = 0x02000000, /*!< Middle mouse button held down */
- BUTTON3 = 0x04000000, /*!< Right mouse button held down */
- ANY_BUTTON = 0x7f000000, /*!< Any mouse button (up to 8) */
-#if defined(__APPLE__)
- ACCELERATOR = CTRL,
- OPTION = ALT,
- COMMAND = META
-#else
- ACCELERATOR = ALT, //!< ALT on Windows/Linux, CTRL on OS/X, use for menu accelerators
- COMMAND = CTRL, //!< CTRL on Windows/Linux, META on OS/X, use for menu shortcuts
- OPTION = ALT|META //!< ALT|META on Windows/Linux, just ALT on OS/X, use as a drag modifier
-#endif
-};
-
-inline unsigned BUTTON(int n) {return 0x00800000 << n;}
-
-/*! Device identifier returned by event_device(). This enumeration
- is useful to get the device type that caused a PUSH, RELEASE,
- DRAG or MOVE event
-*/
-enum {
- DEVICE_MOUSE = 0, /*!< Event triggered by the system mouse */
- DEVICE_STYLUS = 1, /*!< Event triggered by a pen on a tablet, givin pressure and tilt information */
- DEVICE_ERASER = 2, /*!< Event triggered by an eraser on a tablet, givin pressure and tilt information */
- DEVICE_CURSOR = 3, /*!< Event triggered by a puck style device on a tablet */
- DEVICE_AIRBRUSH = 4, /*!< Event triggered by an airbrush on a tablet, giving pressure and tilt information */
- DEVICE_TOUCH = 5 /*!< Event triggered by touch a touch screen device */
-};
-
-class Rectangle;
-class Widget;
-class Window;
-
-#ifndef DOXYGEN
-
-////////////////////////////////////////////////////////////////
-// Do not use these variables, they may not exist in future versions:
-
-extern FL_API int e_type;
-extern FL_API int e_x;
-extern FL_API int e_y;
-extern FL_API int e_dx;
-extern FL_API int e_dy;
-extern FL_API int e_x_root;
-extern FL_API int e_y_root;
-extern FL_API unsigned e_state;
-extern FL_API int e_clicks;
-extern FL_API unsigned e_is_click;
-extern FL_API unsigned e_keysym;
-extern FL_API unsigned e_length;
-extern FL_API const char* e_text;
-extern FL_API unsigned e_key_repeated;
-extern FL_API float e_pressure;
-extern FL_API float e_x_tilt;
-extern FL_API float e_y_tilt;
-extern FL_API int e_device;
-extern FL_API int compose_state;
-extern FL_API Widget* belowmouse_;
-extern FL_API Widget* pushed_;
-extern FL_API Widget* focus_;
-extern FL_API Widget* modal_;
-extern FL_API bool grab_;
-extern FL_API bool exit_modal_;
-
-////////////////////////////////////////////////////////////////
-#endif
-
-inline int event() {return e_type;}
-inline int event_x() {return e_x;}
-inline int event_y() {return e_y;}
-inline int event_dx() {return e_dx;}
-inline int event_dy() {return e_dy;}
-inline int event_x_root() {return e_x_root;}
-inline int event_y_root() {return e_y_root;}
-inline int event_clicks() {return e_clicks;}
-inline void event_clicks(int i) {e_clicks = i;}
-inline bool event_is_click() {return e_is_click != 0;}
-inline void event_is_click(bool) {e_is_click = 0;} // only false works!
-inline unsigned event_state() {return e_state;}
-inline bool event_state(unsigned i) {return (e_state&i) != 0;}
-inline unsigned event_key() {return e_keysym;}
-inline unsigned event_button() {return e_keysym;}
-FL_API bool event_key_state(unsigned);
-inline const char* event_text() {return e_text;}
-inline unsigned event_length() {return e_length;}
-inline unsigned event_key_repeated() {return e_key_repeated;}
-inline float event_pressure() {return e_pressure;}
-inline float event_x_tilt() {return e_x_tilt;}
-inline float event_y_tilt() {return e_y_tilt;}
-inline int event_device() {return e_device;}
-
-// tests on current event:
-FL_API bool event_inside(const Rectangle&);
-FL_API bool compose(int &del);
-inline void compose_reset() {compose_state = 0;}
-
-// shortcuts:
-/*! Structure created by Widget::add_shortcut() and returned by list_shortcuts(). */
-struct ShortcutAssignment {Widget* widget; unsigned key;};
-FL_API const ShortcutAssignment* list_shortcuts(unsigned key, unsigned& count);
-FL_API const ShortcutAssignment* list_shortcuts(const Widget*,unsigned& count);
-FL_API const ShortcutAssignment* list_shortcuts(unsigned& count);
-FL_API const ShortcutAssignment* list_matching_shortcuts(unsigned& count);
-FL_API bool try_shortcut();
-FL_API const char* key_name(unsigned key);
-FL_API unsigned key(const char* name);
-
-// get current information, not info from last event:
-FL_API bool get_key_state(unsigned);
-FL_API void get_mouse(int &,int &);
-FL_API bool warp_mouse(int, int);
-
-// event destinations:
-FL_API bool handle(int, Window*);
-FL_API void add_event_handler(int (*h)(int, Window*));
-inline Widget* belowmouse() {return belowmouse_;}
-FL_API void belowmouse(Widget*);
-inline void belowmouse(Widget& w) {belowmouse(&w);}
-inline Widget* pushed() {return pushed_;}
-FL_API void pushed(Widget*);
-inline void pushed(Widget& w) {pushed(&w);}
-inline Widget* focus() {return focus_;}
-FL_API void focus(Widget*);
-inline void focus(Widget& w) {focus(&w);}
-
-// cut/paste/dnd:
-FL_API void copy(const char* stuff, int len, bool clipboard = false);
-FL_API void paste(Widget &receiver, bool clipboard = false);
-FL_API bool dnd();
-
-// Modal widgets (block events going to any other widgets):
-FL_API void modal(Widget*, bool grab = false);
-inline Widget* modal() {return modal_;}
-inline bool grab() {return grab_;}
-inline void exit_modal() {exit_modal_ = true;}
-inline bool exit_modal_flag() {return exit_modal_;}
-
-// for debugging purpose :
-const char *event_name(int event); /// see STR #508
-
-}
-
-#endif
-
-//
-// $Id: events.h 5931 2007-07-13 14:20:38Z spitzak $
-//