-#ifndef __eventdata_h
-#define __eventdata_h
-
-#include "obexport.h"
-#include <Python.h>
-#include <glib.h>
-
-struct Client;
-
-typedef struct {
- int temp:1; /* just a placeholder to kill warnings for now.. */
-} LogicalEvent;
-
-typedef struct {
- /*! The button which generated the event */
- guint button;
- /*! The pointer's x position on the root window when the event occured */
- int xroot;
- /*! The pointer's y position on the root window when the event occured */
- int yroot;
- /*! The modifiers that were pressed when the event occured. A bitmask of:
- ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask,
- Mod4Mask, Mod5Mask */
- guint modifiers;
- /*! The name of the button/modifier combination being pressed,
- eg "Mod1-1" */
- char *name;
-} PointerEvent;
-
-typedef struct {
- /*! The keycode of the key which generated the event */
- guint keycode;
- /*! The modifiers that were pressed when the event occured. A bitmask of:
- ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask,
- Mod4Mask, Mod5Mask */
- guint modifiers;
- /* The list of strings which make up the chain that fired,
- eg ("Mod1-a", "a") */
- GList *keylist;
-} KeyEvent;
-
-/* EventData is a PyObject */
-typedef struct EventData {
- PyObject_HEAD
- /* The type of event which occured */
- EventType type;
- /*! The context in which the event occured, the type of window it occured
- for. */
- const char *context;
- /* The Client on which the event occured, or NULL */
- struct Client *client;
-
- union EventDetails {
- LogicalEvent *logical;
- PointerEvent *pointer;
- KeyEvent *key;
- } details;
-} EventData;
-
-void eventdata_startup();
-void eventdata_shutdown();
-
-EventData *eventdata_new_logical(EventType type, GQuark context,
- struct Client *client);
-EventData *eventdata_new_pointer(EventType type, GQuark context,
- struct Client *client, guint modifiers,
- guint button, char *name,
- int xroot, int yroot);
-EventData *eventdata_new_key(EventType type, GQuark context,
- struct Client *client, guint modifiers,
- guint keycode, GList *keylist);
-void eventdata_free(EventData *data);
-
-#endif