diff options
author | Mike Gorse <mgorse@novell.com> | 2010-11-16 06:14:25 -0500 |
---|---|---|
committer | Mike Gorse <mgorse@novell.com> | 2010-11-17 07:29:52 -0500 |
commit | 56b5b8e5721d2f2ef427e107d5e3bee8dcf69457 (patch) | |
tree | 50745606f7542734919d3747b6af61df273c0650 /atspi/atspi-types.h | |
parent | acfcea02b3d24e20ed9b6276cd1861774e01fa4b (diff) | |
download | at-spi2-core-56b5b8e5721d2f2ef427e107d5e3bee8dcf69457.tar.gz |
Various component fixes, and fix dbind_method_call_reentrant_va
Diffstat (limited to 'atspi/atspi-types.h')
-rw-r--r-- | atspi/atspi-types.h | 108 |
1 files changed, 107 insertions, 1 deletions
diff --git a/atspi/atspi-types.h b/atspi/atspi-types.h index fba3adb5..076019ed 100644 --- a/atspi/atspi-types.h +++ b/atspi/atspi-types.h @@ -27,8 +27,9 @@ #include "glib-object.h" -#include "atspi-event-types.h" +#include "atspi-constants.h" +typedef struct _AtspiAccessible AtspiAccessible; typedef struct _AtspiAccessible AtspiAction; typedef struct _AtspiAccessible AtspiCollection; typedef struct _AtspiComponent AtspiComponent; @@ -39,4 +40,109 @@ typedef struct _AtspiAccessible AtspiSelection; typedef struct _AtspiAccessible AtspiTable; typedef struct _AtspiAccessible AtspiText; typedef struct _AtspiAccessible AtspiValue; + +typedef guint AtspiControllerEventMask; + +typedef guint AtspiKeyMaskType; + +typedef guint AtspiKeyEventMask; +typedef guint AtspiDeviceEventMask; + +// TODO: auto-generate the below structs +typedef struct _AtspiDeviceEvent AtspiDeviceEvent; +struct _AtspiDeviceEvent +{ + AtspiEventType type; + guint id; + gushort hw_code; + gushort modifiers; + guint timestamp; + gchar * event_string; + gboolean is_text; +}; + +typedef struct _AtspiEventListenerMode AtspiEventListenerMode; +struct _AtspiEventListenerMode +{ + gboolean synchronous; + gboolean preemptive; + gboolean global; +}; + +typedef struct _AtspiKeyDefinition AtspiKeyDefinition; +struct _AtspiKeyDefinition +{ + gint keycode; + gint keysym; + gchar *keystring; + gint unused; +}; + +typedef struct _AtspiEvent AtspiEvent; +struct _AtspiEvent +{ + gchar *type; + AtspiAccessible *source; + gint detail1; + gint detail2; + GValue any_data; +}; + +/** + * ATSPI_TYPE_RECT: + * + * The #GType for a boxed type holding a #AtspiEvent. + */ +#define ATSPI_TYPE_EVENT (atspi_event_get_type ()) + +typedef void AtspiKeystrokeListener; + +/** + * AtspiKeySet: + * @keysyms: + * @keycodes: + * @len: + * + * Structure containing identifying information about a set of keycode or + * keysyms. + **/ +typedef struct _AtspiKeySet +{ + guint *keysyms; + gushort *keycodes; + gchar **keystrings; + gshort len; +} AtspiKeySet; + +/** + *AtspiKeyListenerSyncType: + *@SPI_KEYLISTENER_NOSYNC: Events may be delivered asynchronously, + * which means in some cases they may already have been delivered to the + * application before the AT client receives the notification. + *@SPI_KEYLISTENER_SYNCHRONOUS: Events are delivered synchronously, before the + * currently focussed application sees them. + *@ATSPI_KEYLISTENER_CANCONSUME: Events may be consumed by the AT client. Presumes and + * requires #ATSPI_KEYLISTENER_SYNCHRONOUS, incompatible with #ATSPI_KEYLISTENER_NOSYNC. + *@SPI_KEYLISTENER_ALL_WINDOWS: Events are received not from the application toolkit layer, but + * from the device driver or windowing system subsystem; such notifications are 'global' in the + * sense that they are not broken or defeated by applications that participate poorly + * in the accessibility APIs, or not at all; however because of the intrusive nature of + * such snooping, it can have side-effects on certain older platforms. If unconditional + * event notifications, even when inaccessible or "broken" applications have focus, are not + * required, it may be best to avoid this enum value/flag. + * + *Specified the tyupe of a key listener event. + * Certain of the values above can and should be bitwise-'OR'ed + * together, observing the compatibility limitations specified in the description of + * each value. For instance, #ATSPI_KEYLISTENER_ALL_WINDOWS | #ATSPI_KEYLISTENER_CANCONSUME is + * a commonly used combination which gives the AT complete control over the delivery of matching + * events. However, such filters should be used sparingly as they may have a negative impact on + * system performance. + **/ +typedef enum { + ATSPI_KEYLISTENER_NOSYNC = 0, + ATSPI_KEYLISTENER_SYNCHRONOUS = 1, + ATSPI_KEYLISTENER_CANCONSUME = 2, + ATSPI_KEYLISTENER_ALL_WINDOWS = 4 +} AtspiKeyListenerSyncType; #endif /* _ATSPI_TYPES_H_ */ |