60049b334b2f1acdedcf9f48c67a7f1e295a478d
[platform/core/uifw/at-spi2-atk.git] / cspi / spi-impl.h
1 /*
2  * AT-SPI - Assistive Technology Service Provider Interface
3  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
4  *
5  * Copyright 2001, 2002 Sun Microsystems Inc.,
6  * Copyright 2001, 2002 Ximian, Inc.
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Library General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Library General Public License for more details.
17  *
18  * You should have received a copy of the GNU Library General Public
19  * License along with this library; if not, write to the
20  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21  * Boston, MA 02111-1307, USA.
22  */
23
24 /*
25  * A load of opaque handles that people can't poke at.
26  */
27 #ifndef _SPI_IMPL_H_
28 #define _SPI_IMPL_H_
29
30 #ifdef  __cplusplus
31 extern "C" {
32 #endif
33
34 typedef struct _Accessible AccessibleUnknown;
35 typedef AccessibleUnknown  Accessible;
36
37 typedef Accessible AccessibleAction;
38 typedef Accessible AccessibleApplication;
39 typedef Accessible AccessibleCollection;
40 typedef Accessible AccessibleComponent;
41 typedef Accessible AccessibleDocument;
42 typedef Accessible AccessibleEditableText;
43 typedef Accessible AccessibleHyperlink;
44 typedef Accessible AccessibleHypertext;
45 typedef Accessible AccessibleImage;
46 typedef Accessible AccessibleMatchRule;
47
48 typedef struct _AccessibleRelation AccessibleRelation;
49 struct _AccessibleRelation
50 {
51   gint ref_count;
52   Accessibility_RelationType type;
53   GArray *targets;
54 };
55
56 typedef Accessible AccessibleSelection;
57 typedef Accessible AccessibleStreamableContent;
58 typedef Accessible AccessibleTable;
59 typedef Accessible AccessibleText;
60 typedef Accessible AccessibleValue;
61 typedef Accessible AccessibilityRegistry;
62
63 /** 
64  * AccessibleStateSet:
65  * @ref_count: private
66  * @states: private
67  *
68  * An opaque structure representing an accessible object's state,
69  * which can then be queried via AccessibleStateSet APIs.
70  **/
71 typedef void AccessibleStateSet;
72 typedef void AccessibleEventListener;
73 typedef void AccessibleKeystrokeListener;
74 typedef void AccessibleDeviceListener;
75
76 typedef unsigned int SPIBoolean;
77 #define SPI_FALSE (0)
78 #define SPI_TRUE (!SPI_FALSE)
79
80 /**
81  * SPIRect:
82  * @x: The position of the minimum x value of the rectangle (i.e. left hand corner)
83  * @y: The position of the minimum y value of the rectangle's bounds.
84  * @width: Width of the rectangle in pixels.
85  * @height: Height of the rectangle in pixels.
86  *
87  * A structure encapsulating a rectangle. 
88  **/
89 typedef struct {
90         long x;
91         long y;
92         long width;
93         long height;
94 } SPIRect;
95
96 #ifdef  __cplusplus
97 }
98 #endif
99
100 #endif