Imported version 2.7.91
[platform/core/uifw/at-spi2-core.git] / doc / libatspi / html / libatspi-atspi-types.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>atspi-types</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
7 <link rel="home" href="index.html" title="libatspi Reference Manual">
8 <link rel="up" href="ch01.html" title="API reference">
9 <link rel="prev" href="libatspi-atspi-registry.html" title="atspi-registry">
10 <link rel="next" href="libatspi-atspi-constants.html" title="atspi-constants">
11 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="libatspi-atspi-registry.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">libatspi Reference Manual</th>
21 <td><a accesskey="n" href="libatspi-atspi-constants.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#libatspi-atspi-types.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#libatspi-atspi-types.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#libatspi-atspi-types.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#libatspi-atspi-types.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
31                    | 
32                   <a href="#libatspi-atspi-types.implementations" class="shortcut">Known Implementations</a>
33 </td></tr>
34 </table>
35 <div class="refentry">
36 <a name="libatspi-atspi-types"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
38 <td valign="top">
39 <h2><span class="refentrytitle"><a name="libatspi-atspi-types.top_of_page"></a>atspi-types</span></h2>
40 <p>atspi-types — Type definitions needed by multiple interfaces.</p>
41 </td>
42 <td valign="top" align="right"></td>
43 </tr></table></div>
44 <div class="refsynopsisdiv">
45 <a name="libatspi-atspi-types.synopsis"></a><h2>Synopsis</h2>
46 <a name="AtspiAccessible"></a><a name="AtspiAction"></a><a name="AtspiCollection"></a><a name="AtspiComponent"></a><a name="AtspiDocument"></a><a name="AtspiEditableText"></a><a name="AtspiHyperlink"></a><a name="AtspiHypertext"></a><a name="AtspiImage"></a><a name="AtspiSelection"></a><a name="AtspiTable"></a><a name="AtspiText"></a><a name="AtspiValue"></a><a name="AtspiKeyDefinition"></a><a name="AtspiEvent"></a><pre class="synopsis">                    <a class="link" href="AtspiAccessible.html#AtspiAccessible-struct" title="AtspiAccessible">AtspiAccessible</a>;
47                     <a class="link" href="libatspi-atspi-action.html#AtspiAction-struct" title="AtspiAction">AtspiAction</a>;
48                     <a class="link" href="libatspi-atspi-collection.html#AtspiCollection-struct" title="AtspiCollection">AtspiCollection</a>;
49                     <a class="link" href="libatspi-atspi-component.html#AtspiComponent-struct" title="AtspiComponent">AtspiComponent</a>;
50                     <a class="link" href="libatspi-atspi-document.html#AtspiDocument-struct" title="AtspiDocument">AtspiDocument</a>;
51                     <a class="link" href="libatspi-atspi-editabletext.html#AtspiEditableText-struct" title="AtspiEditableText">AtspiEditableText</a>;
52                     <a class="link" href="AtspiHyperlink.html#AtspiHyperlink-struct" title="AtspiHyperlink">AtspiHyperlink</a>;
53                     <a class="link" href="libatspi-atspi-hypertext.html#AtspiHypertext-struct" title="AtspiHypertext">AtspiHypertext</a>;
54                     <a class="link" href="libatspi-atspi-image.html#AtspiImage-struct" title="AtspiImage">AtspiImage</a>;
55                     <a class="link" href="libatspi-atspi-selection.html#AtspiSelection-struct" title="AtspiSelection">AtspiSelection</a>;
56                     <a class="link" href="libatspi-atspi-table.html#AtspiTable-struct" title="AtspiTable">AtspiTable</a>;
57                     <a class="link" href="libatspi-atspi-text.html#AtspiText-struct" title="AtspiText">AtspiText</a>;
58                     <a class="link" href="libatspi-atspi-value.html#AtspiValue-struct" title="AtspiValue">AtspiValue</a>;
59 typedef             <a class="link" href="libatspi-atspi-types.html#AtspiControllerEventMask" title="AtspiControllerEventMask">AtspiControllerEventMask</a>;
60 typedef             <a class="link" href="libatspi-atspi-types.html#AtspiKeyMaskType" title="AtspiKeyMaskType">AtspiKeyMaskType</a>;
61 typedef             <a class="link" href="libatspi-atspi-types.html#AtspiKeyEventMask" title="AtspiKeyEventMask">AtspiKeyEventMask</a>;
62 typedef             <a class="link" href="libatspi-atspi-types.html#AtspiDeviceEventMask" title="AtspiDeviceEventMask">AtspiDeviceEventMask</a>;
63 struct              <a class="link" href="libatspi-atspi-types.html#AtspiDeviceEvent" title="struct AtspiDeviceEvent">AtspiDeviceEvent</a>;
64 struct              <a class="link" href="libatspi-atspi-types.html#AtspiEventListenerMode" title="struct AtspiEventListenerMode">AtspiEventListenerMode</a>;
65 struct              <a class="link" href="libatspi-atspi-types.html#AtspiKeyDefinition-struct" title="struct AtspiKeyDefinition">AtspiKeyDefinition</a>;
66 struct              <a class="link" href="libatspi-atspi-types.html#AtspiEvent-struct" title="struct AtspiEvent">AtspiEvent</a>;
67 #define             <a class="link" href="libatspi-atspi-types.html#ATSPI-TYPE-EVENT:CAPS" title="ATSPI_TYPE_EVENT">ATSPI_TYPE_EVENT</a>
68 typedef             <a class="link" href="libatspi-atspi-types.html#AtspiKeystrokeListener" title="AtspiKeystrokeListener">AtspiKeystrokeListener</a>;
69 enum                <a class="link" href="libatspi-atspi-types.html#AtspiKeyListenerSyncType" title="enum AtspiKeyListenerSyncType">AtspiKeyListenerSyncType</a>;
70 </pre>
71 </div>
72 <div class="refsect1">
73 <a name="libatspi-atspi-types.object-hierarchy"></a><h2>Object Hierarchy</h2>
74 <pre class="synopsis">
75   <a href="../gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>
76    +----<a class="link" href="AtspiObject.html" title="AtspiObject">AtspiObject</a>
77          +----AtspiAccessible
78 </pre>
79 <pre class="synopsis">
80   GInterface
81    +----AtspiAction
82 </pre>
83 <pre class="synopsis">
84   GInterface
85    +----AtspiCollection
86 </pre>
87 <pre class="synopsis">
88   GInterface
89    +----AtspiComponent
90 </pre>
91 <pre class="synopsis">
92   GInterface
93    +----AtspiDocument
94 </pre>
95 <pre class="synopsis">
96   GInterface
97    +----AtspiEditableText
98 </pre>
99 <pre class="synopsis">
100   <a href="../gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>
101    +----<a class="link" href="AtspiObject.html" title="AtspiObject">AtspiObject</a>
102          +----AtspiHyperlink
103 </pre>
104 <pre class="synopsis">
105   GInterface
106    +----AtspiHypertext
107 </pre>
108 <pre class="synopsis">
109   GInterface
110    +----AtspiImage
111 </pre>
112 <pre class="synopsis">
113   GInterface
114    +----AtspiSelection
115 </pre>
116 <pre class="synopsis">
117   GInterface
118    +----AtspiTable
119 </pre>
120 <pre class="synopsis">
121   GInterface
122    +----AtspiText
123 </pre>
124 <pre class="synopsis">
125   GInterface
126    +----AtspiValue
127 </pre>
128 <pre class="synopsis">
129   GBoxed
130    +----AtspiKeyDefinition
131 </pre>
132 <pre class="synopsis">
133   GBoxed
134    +----AtspiEvent
135 </pre>
136 </div>
137 <div class="refsect1">
138 <a name="libatspi-atspi-types.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
139 <p>
140 AtspiAccessible implements
141  <a class="link" href="libatspi-atspi-action.html#AtspiAction">AtspiAction</a>,  <a class="link" href="libatspi-atspi-collection.html#AtspiCollection">AtspiCollection</a>,  <a class="link" href="libatspi-atspi-component.html#AtspiComponent">AtspiComponent</a>,  <a class="link" href="libatspi-atspi-document.html#AtspiDocument">AtspiDocument</a>,  <a class="link" href="libatspi-atspi-editabletext.html#AtspiEditableText">AtspiEditableText</a>,  <a class="link" href="libatspi-atspi-hypertext.html#AtspiHypertext">AtspiHypertext</a>,  <a class="link" href="libatspi-atspi-image.html#AtspiImage">AtspiImage</a>,  <a class="link" href="libatspi-atspi-selection.html#AtspiSelection">AtspiSelection</a>,  <a class="link" href="libatspi-atspi-table.html#AtspiTable">AtspiTable</a>,  <a class="link" href="libatspi-atspi-text.html#AtspiText">AtspiText</a> and  <a class="link" href="libatspi-atspi-value.html#AtspiValue">AtspiValue</a>.</p>
142 </div>
143 <div class="refsect1">
144 <a name="libatspi-atspi-types.implementations"></a><h2>Known Implementations</h2>
145 <p>
146 AtspiAction is implemented by
147  <a class="link" href="AtspiAccessible.html" title="AtspiAccessible">AtspiAccessible</a>.</p>
148 <p>
149 AtspiCollection is implemented by
150  <a class="link" href="AtspiAccessible.html" title="AtspiAccessible">AtspiAccessible</a>.</p>
151 <p>
152 AtspiComponent is implemented by
153  <a class="link" href="AtspiAccessible.html" title="AtspiAccessible">AtspiAccessible</a>.</p>
154 <p>
155 AtspiDocument is implemented by
156  <a class="link" href="AtspiAccessible.html" title="AtspiAccessible">AtspiAccessible</a>.</p>
157 <p>
158 AtspiEditableText is implemented by
159  <a class="link" href="AtspiAccessible.html" title="AtspiAccessible">AtspiAccessible</a>.</p>
160 <p>
161 AtspiHypertext is implemented by
162  <a class="link" href="AtspiAccessible.html" title="AtspiAccessible">AtspiAccessible</a>.</p>
163 <p>
164 AtspiImage is implemented by
165  <a class="link" href="AtspiAccessible.html" title="AtspiAccessible">AtspiAccessible</a>.</p>
166 <p>
167 AtspiSelection is implemented by
168  <a class="link" href="AtspiAccessible.html" title="AtspiAccessible">AtspiAccessible</a>.</p>
169 <p>
170 AtspiTable is implemented by
171  <a class="link" href="AtspiAccessible.html" title="AtspiAccessible">AtspiAccessible</a>.</p>
172 <p>
173 AtspiText is implemented by
174  <a class="link" href="AtspiAccessible.html" title="AtspiAccessible">AtspiAccessible</a>.</p>
175 <p>
176 AtspiValue is implemented by
177  <a class="link" href="AtspiAccessible.html" title="AtspiAccessible">AtspiAccessible</a>.</p>
178 </div>
179 <div class="refsect1">
180 <a name="libatspi-atspi-types.description"></a><h2>Description</h2>
181 <p>
182 Type definitions needed by multiple interfaces.
183 </p>
184 </div>
185 <div class="refsect1">
186 <a name="libatspi-atspi-types.details"></a><h2>Details</h2>
187 <div class="refsect2">
188 <a name="AtspiAccessible-struct"></a><h3>AtspiAccessible</h3>
189 <pre class="programlisting">typedef struct _AtspiAccessible AtspiAccessible;</pre>
190 <p>
191 </p>
192 </div>
193 <hr>
194 <div class="refsect2">
195 <a name="AtspiAction-struct"></a><h3>AtspiAction</h3>
196 <pre class="programlisting">typedef struct _AtspiAction AtspiAction;</pre>
197 <p>
198 </p>
199 </div>
200 <hr>
201 <div class="refsect2">
202 <a name="AtspiCollection-struct"></a><h3>AtspiCollection</h3>
203 <pre class="programlisting">typedef struct _AtspiCollection AtspiCollection;</pre>
204 <p>
205 </p>
206 </div>
207 <hr>
208 <div class="refsect2">
209 <a name="AtspiComponent-struct"></a><h3>AtspiComponent</h3>
210 <pre class="programlisting">typedef struct _AtspiComponent AtspiComponent;</pre>
211 <p>
212 </p>
213 </div>
214 <hr>
215 <div class="refsect2">
216 <a name="AtspiDocument-struct"></a><h3>AtspiDocument</h3>
217 <pre class="programlisting">typedef struct _AtspiDocument AtspiDocument;</pre>
218 <p>
219 </p>
220 </div>
221 <hr>
222 <div class="refsect2">
223 <a name="AtspiEditableText-struct"></a><h3>AtspiEditableText</h3>
224 <pre class="programlisting">typedef struct _AtspiEditableText AtspiEditableText;</pre>
225 <p>
226 </p>
227 </div>
228 <hr>
229 <div class="refsect2">
230 <a name="AtspiHyperlink-struct"></a><h3>AtspiHyperlink</h3>
231 <pre class="programlisting">typedef struct _AtspiHyperlink AtspiHyperlink;</pre>
232 <p>
233 </p>
234 </div>
235 <hr>
236 <div class="refsect2">
237 <a name="AtspiHypertext-struct"></a><h3>AtspiHypertext</h3>
238 <pre class="programlisting">typedef struct _AtspiHypertext AtspiHypertext;</pre>
239 <p>
240 </p>
241 </div>
242 <hr>
243 <div class="refsect2">
244 <a name="AtspiImage-struct"></a><h3>AtspiImage</h3>
245 <pre class="programlisting">typedef struct _AtspiImage AtspiImage;</pre>
246 <p>
247 </p>
248 </div>
249 <hr>
250 <div class="refsect2">
251 <a name="AtspiSelection-struct"></a><h3>AtspiSelection</h3>
252 <pre class="programlisting">typedef struct _AtspiSelection AtspiSelection;</pre>
253 <p>
254 </p>
255 </div>
256 <hr>
257 <div class="refsect2">
258 <a name="AtspiTable-struct"></a><h3>AtspiTable</h3>
259 <pre class="programlisting">typedef struct _AtspiTable AtspiTable;</pre>
260 <p>
261 </p>
262 </div>
263 <hr>
264 <div class="refsect2">
265 <a name="AtspiText-struct"></a><h3>AtspiText</h3>
266 <pre class="programlisting">typedef struct _AtspiText AtspiText;</pre>
267 <p>
268 </p>
269 </div>
270 <hr>
271 <div class="refsect2">
272 <a name="AtspiValue-struct"></a><h3>AtspiValue</h3>
273 <pre class="programlisting">typedef struct _AtspiValue AtspiValue;</pre>
274 <p>
275 </p>
276 </div>
277 <hr>
278 <div class="refsect2">
279 <a name="AtspiControllerEventMask"></a><h3>AtspiControllerEventMask</h3>
280 <pre class="programlisting">typedef guint AtspiControllerEventMask;
281 </pre>
282 <p>
283 </p>
284 </div>
285 <hr>
286 <div class="refsect2">
287 <a name="AtspiKeyMaskType"></a><h3>AtspiKeyMaskType</h3>
288 <pre class="programlisting">typedef guint AtspiKeyMaskType;
289 </pre>
290 <p>
291 </p>
292 </div>
293 <hr>
294 <div class="refsect2">
295 <a name="AtspiKeyEventMask"></a><h3>AtspiKeyEventMask</h3>
296 <pre class="programlisting">typedef guint AtspiKeyEventMask;
297 </pre>
298 <p>
299 </p>
300 </div>
301 <hr>
302 <div class="refsect2">
303 <a name="AtspiDeviceEventMask"></a><h3>AtspiDeviceEventMask</h3>
304 <pre class="programlisting">typedef guint AtspiDeviceEventMask;
305 </pre>
306 <p>
307 </p>
308 </div>
309 <hr>
310 <div class="refsect2">
311 <a name="AtspiDeviceEvent"></a><h3>struct AtspiDeviceEvent</h3>
312 <pre class="programlisting">struct AtspiDeviceEvent {
313   AtspiEventType type;
314   guint id;
315   gushort hw_code;
316   gushort modifiers;
317   guint timestamp;
318   gchar * event_string;
319   gboolean is_text;
320 };
321 </pre>
322 <p>
323 </p>
324 </div>
325 <hr>
326 <div class="refsect2">
327 <a name="AtspiEventListenerMode"></a><h3>struct AtspiEventListenerMode</h3>
328 <pre class="programlisting">struct AtspiEventListenerMode {
329   gboolean synchronous;
330   gboolean preemptive;
331   gboolean global;
332 };
333 </pre>
334 <p>
335 </p>
336 </div>
337 <hr>
338 <div class="refsect2">
339 <a name="AtspiKeyDefinition-struct"></a><h3>struct AtspiKeyDefinition</h3>
340 <pre class="programlisting">struct AtspiKeyDefinition {
341   gint keycode;
342   gint keysym;
343   gchar *keystring;
344   gint unused;
345 };
346 </pre>
347 <p>
348 </p>
349 </div>
350 <hr>
351 <div class="refsect2">
352 <a name="AtspiEvent-struct"></a><h3>struct AtspiEvent</h3>
353 <pre class="programlisting">struct AtspiEvent {
354   gchar  *type;
355   AtspiAccessible  *source;
356   gint         detail1;
357   gint         detail2;
358   GValue any_data;
359 };
360 </pre>
361 <p>
362 </p>
363 </div>
364 <hr>
365 <div class="refsect2">
366 <a name="ATSPI-TYPE-EVENT:CAPS"></a><h3>ATSPI_TYPE_EVENT</h3>
367 <pre class="programlisting">#define ATSPI_TYPE_EVENT (atspi_event_get_type ())
368 </pre>
369 <p>
370 </p>
371 </div>
372 <hr>
373 <div class="refsect2">
374 <a name="AtspiKeystrokeListener"></a><h3>AtspiKeystrokeListener</h3>
375 <pre class="programlisting">typedef void AtspiKeystrokeListener;
376 </pre>
377 <p>
378 </p>
379 </div>
380 <hr>
381 <div class="refsect2">
382 <a name="AtspiKeyListenerSyncType"></a><h3>enum AtspiKeyListenerSyncType</h3>
383 <pre class="programlisting">typedef enum {
384   ATSPI_KEYLISTENER_NOSYNC = 0,
385   ATSPI_KEYLISTENER_SYNCHRONOUS = 1,
386   ATSPI_KEYLISTENER_CANCONSUME = 2,
387   ATSPI_KEYLISTENER_ALL_WINDOWS = 4
388 } AtspiKeyListenerSyncType;
389 </pre>
390 <p>
391 Specifies the type of a key listener event.
392 The values above can and should be bitwise-'OR'-ed
393 together, observing the compatibility limitations specified in the description of
394 each value.  For instance, <a class="link" href="libatspi-atspi-types.html#ATSPI-KEYLISTENER-ALL-WINDOWS:CAPS"><span class="type">ATSPI_KEYLISTENER_ALL_WINDOWS</span></a> | <a class="link" href="libatspi-atspi-types.html#ATSPI-KEYLISTENER-CANCONSUME:CAPS"><span class="type">ATSPI_KEYLISTENER_CANCONSUME</span></a> is
395 a commonly used combination which gives the AT complete control over the delivery of matching
396 events.  However, such filters should be used sparingly as they may have a negative impact on 
397 system performance.
398 </p>
399 <div class="variablelist"><table border="0" class="variablelist">
400 <colgroup>
401 <col align="left" valign="top">
402 <col>
403 </colgroup>
404 <tbody>
405 <tr>
406 <td><p><a name="ATSPI-KEYLISTENER-NOSYNC:CAPS"></a><span class="term"><code class="literal">ATSPI_KEYLISTENER_NOSYNC</code></span></p></td>
407 <td>Events may be delivered asynchronously, 
408 which means in some cases they may already have been delivered to the 
409 application before the AT client receives the notification.  
410 </td>
411 </tr>
412 <tr>
413 <td><p><a name="ATSPI-KEYLISTENER-SYNCHRONOUS:CAPS"></a><span class="term"><code class="literal">ATSPI_KEYLISTENER_SYNCHRONOUS</code></span></p></td>
414 <td>Events are delivered synchronously, before the 
415 currently focussed application sees them.  
416 </td>
417 </tr>
418 <tr>
419 <td><p><a name="ATSPI-KEYLISTENER-CANCONSUME:CAPS"></a><span class="term"><code class="literal">ATSPI_KEYLISTENER_CANCONSUME</code></span></p></td>
420 <td>Events may be consumed by the AT client.  Presumes and
421 requires <a class="link" href="libatspi-atspi-types.html#ATSPI-KEYLISTENER-SYNCHRONOUS:CAPS"><span class="type">ATSPI_KEYLISTENER_SYNCHRONOUS</span></a>, incompatible with <a class="link" href="libatspi-atspi-types.html#ATSPI-KEYLISTENER-NOSYNC:CAPS"><span class="type">ATSPI_KEYLISTENER_NOSYNC</span></a>.
422 </td>
423 </tr>
424 <tr>
425 <td><p><a name="ATSPI-KEYLISTENER-ALL-WINDOWS:CAPS"></a><span class="term"><code class="literal">ATSPI_KEYLISTENER_ALL_WINDOWS</code></span></p></td>
426 <td>Events are received not from the application toolkit layer, but
427 from the device driver or windowing system subsystem; such notifications are 'global' in the 
428 sense that they are not broken or defeated by applications that participate poorly
429 in the accessibility APIs, or not at all; however because of the intrusive nature of
430 such snooping, it can have side-effects on certain older platforms.  If unconditional
431 event notifications, even when inaccessible or "broken" applications have focus, are not
432 required, it may be best to avoid this enum value/flag.
433 </td>
434 </tr>
435 </tbody>
436 </table></div>
437 </div>
438 </div>
439 </div>
440 <div class="footer">
441 <hr>
442           Generated by GTK-Doc V1.18.1</div>
443 </body>
444 </html>