1 // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
2 // EventHandler.hh for Blackbox - an X11 Window manager
3 // Copyright (c) 2001 - 2005 Sean 'Shaleh' Perry <shaleh@debian.org>
4 // Copyright (c) 1997 - 2000, 2002 - 2005
5 // Bradley T Hughes <bhughes at trolltech.com>
7 // Permission is hereby granted, free of charge, to any person obtaining a
8 // copy of this software and associated documentation files (the "Software"),
9 // to deal in the Software without restriction, including without limitation
10 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
11 // and/or sell copies of the Software, and to permit persons to whom the
12 // Software is furnished to do so, subject to the following conditions:
14 // The above copyright notice and this permission notice shall be included in
15 // all copies or substantial portions of the Software.
17 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23 // DEALINGS IN THE SOFTWARE.
25 #ifndef __EventHandler_hh
26 #define __EventHandler_hh
33 The abstract event handler. You must register your event handler
34 with the application object. See
35 bt::Application::insertEventHandler() and
36 bt::Application::removeEventHandler().
41 inline virtual ~EventHandler(void)
44 // Mouse button press.
45 inline virtual void buttonPressEvent(const XButtonEvent
* const)
47 // Mouse button release.
48 inline virtual void buttonReleaseEvent(const XButtonEvent
* const)
51 inline virtual void motionNotifyEvent(const XMotionEvent
* const)
54 inline virtual void keyPressEvent(const XKeyEvent
* const)
57 inline virtual void keyReleaseEvent(const XKeyEvent
* const)
60 // Window configure (size, position, stacking, etc.).
61 inline virtual void configureNotifyEvent(const XConfigureEvent
* const)
64 inline virtual void mapNotifyEvent(const XMapEvent
* const)
67 inline virtual void unmapNotifyEvent(const XUnmapEvent
* const)
70 inline virtual void reparentNotifyEvent(const XReparentEvent
* const)
73 inline virtual void destroyNotifyEvent(const XDestroyWindowEvent
* const)
76 // Mouse entered window.
77 inline virtual void enterNotifyEvent(const XCrossingEvent
* const)
80 inline virtual void leaveNotifyEvent(const XCrossingEvent
* const)
83 // Window needs repainting.
84 inline virtual void exposeEvent(const XExposeEvent
* const)
87 // Window property changed/added/deleted.
88 inline virtual void propertyNotifyEvent(const XPropertyEvent
* const)
92 inline virtual void clientMessageEvent(const XClientMessageEvent
* const)
95 // Window shape changed. (Note: we use XEvent instead of
96 // XShapeEvent to avoid the header.)
97 inline virtual void shapeEvent(const XEvent
* const)
101 inline EventHandler(void)
107 #endif // __EventHandler_hh