3 (defctype g-type gsize)
5 (defcstruct g-type-interface
7 (instance-type g-type))
9 (defcstruct g-type-class
12 (defcstruct g-type-instance
13 (class (:pointer g-type-class)))
15 (defcstruct g-type-info
17 (base-init-fn :pointer)
18 (base-finalize-fn :pointer)
19 (class-init-fn :pointer)
20 (class-finalize-fn :pointer)
22 (instance-size :uint16)
24 (instance-init-fn :pointer)
25 (value-table :pointer))
27 (defcstruct g-type-query
29 (type-name (:string :free-from-foreign nil))
31 (instance-size :uint))
33 (defbitfield g-type-fundamental-flags
39 (defcstruct g-type-fundamental-info
40 (type-flags g-type-fundamental-flags))
42 (defcstruct g-interface-info
43 (interface-init :pointer)
44 (interface-finalize :pointer)
45 (interface-data :pointer))
47 (defcstruct g-type-value-table
51 (value-peek-pointer :pointer)
52 (collect-format (:string :free-from-foreign nil :free-to-foreign nil))
53 (collect-value :pointer)
54 (lcopy-format (:string :free-from-foreign nil :free-to-foreign nil))
55 (lcopy-value :pointer))
57 (defbitfield g-type-flags
58 (:abstract #. (ash 1 4))
61 (eval-when (:load-toplevel :compile-toplevel)
62 (defun gtype-make-fundamental-type (x)
65 (defconstant +g-type-invalid+ (gtype-make-fundamental-type 0))
66 (defconstant +g-type-void+ (gtype-make-fundamental-type 1))
67 (defconstant +g-type-interface+ (gtype-make-fundamental-type 2))
68 (defconstant +g-type-char+ (gtype-make-fundamental-type 3))
69 (defconstant +g-type-uchar+ (gtype-make-fundamental-type 4))
70 (defconstant +g-type-boolean+ (gtype-make-fundamental-type 5))
71 (defconstant +g-type-int+ (gtype-make-fundamental-type 6))
72 (defconstant +g-type-uint+ (gtype-make-fundamental-type 7))
73 (defconstant +g-type-long+ (gtype-make-fundamental-type 8))
74 (defconstant +g-type-ulong+ (gtype-make-fundamental-type 9))
75 (defconstant +g-type-int64+ (gtype-make-fundamental-type 10))
76 (defconstant +g-type-uint64+ (gtype-make-fundamental-type 11))
77 (defconstant +g-type-enum+ (gtype-make-fundamental-type 12))
78 (defconstant +g-type-flags+ (gtype-make-fundamental-type 13))
79 (defconstant +g-type-float+ (gtype-make-fundamental-type 14))
80 (defconstant +g-type-double+ (gtype-make-fundamental-type 15))
81 (defconstant +g-type-string+ (gtype-make-fundamental-type 16))
82 (defconstant +g-type-pointer+ (gtype-make-fundamental-type 17))
83 (defconstant +g-type-boxed+ (gtype-make-fundamental-type 18))
84 (defconstant +g-type-param+ (gtype-make-fundamental-type 19))
85 (defconstant +g-type-object+ (gtype-make-fundamental-type 20))
88 (type-instance g-type-instance)
92 (defctype %g-initially-unowned %g-object)
94 (defcstruct g-object-class
95 (type-class g-type-class)
96 (construct-properties :pointer)
97 (constructor :pointer)
98 (set-property :pointer)
99 (get-property :pointer)
102 (dispatch-properties-changed :pointer)
104 (constructed :pointer)
105 (pdummy :pointer :count 7))
107 (defbitfield g-param-flags
117 (defcstruct g-param-spec
118 (type-instance g-type-instance)
119 (name (:string :free-from-foreign nil :free-to-foreign nil))
120 (flags g-param-flags)
124 (defcunion g-value-data
137 (data g-value-data :count 2))
139 (defcstruct g-object-construct-param
140 (param-spec (:pointer g-param-spec))
141 (value (:pointer g-value)))
143 (defcstruct g-parameter
144 (name (:string :free-from-foreign nil :free-to-foreign nil))
147 (defcstruct g-enum-value
149 (name (:string :free-from-foreign nil :free-to-foreign nil))
150 (nick (:string :free-from-foreign nil :free-to-foreign nil)))
152 (defcstruct g-enum-class
153 (type-class g-type-class)
157 (values (:pointer g-enum-value)))
159 (defcstruct g-flags-value
161 (name (:string :free-from-foreign nil :free-to-foreign nil))
162 (nick (:string :free-from-foreign nil :free-to-foreign nil)))
164 (defcstruct g-flags-class
165 (type-class g-type-class)
168 (values (:pointer g-flags-value)))
170 (defcstruct g-param-spec-boolean
171 (parent-instance g-param-spec)
172 (default-value :boolean))
174 (defcstruct g-param-spec-char
175 (parent-instance g-param-spec)
178 (default-value :int8))
180 (defcstruct g-param-spec-uchar
181 (parent-instance g-param-spec)
184 (default-value :uint8))
186 (defcstruct g-param-spec-int
187 (parent-instance g-param-spec)
190 (default-value :int))
192 (defcstruct g-param-spec-uint
193 (parent-instance g-param-spec)
196 (default-value :uint))
198 (defcstruct g-param-spec-long
199 (parent-instance g-param-spec)
202 (default-value :ulong))
204 (defcstruct g-param-spec-ulong
205 (parent-instance g-param-spec)
208 (default-value :ulong))
210 (defcstruct g-param-spec-int64
211 (parent-instance g-param-spec)
214 (default-value :uint64))
216 (defcstruct g-param-spec-uint64
217 (parent-instance g-param-spec)
220 (default-value :uint64))
222 (defcstruct g-param-spec-float
223 (parent-instance g-param-spec)
226 (default-value :float)
229 (defcstruct g-param-spec-double
230 (parent-instance g-param-spec)
233 (default-value :double)
236 (defcstruct g-param-spec-enum
237 (parent-instance g-param-spec)
238 (enum-class (:pointer g-enum-class))
239 (default-value :int))
241 (defcstruct g-param-spec-flags
242 (parent-instance g-param-spec)
243 (flags-class (:pointer g-flags-class))
244 (default-value :uint))
246 (defcstruct g-param-spec-string
247 (parent-instance g-param-spec)
248 (default-value (:string :free-to-foreign nil :free-from-foreign nil))
249 (cset-first (:string :free-to-foreign nil :free-from-foreign nil))
250 (cset-nth (:string :free-to-foreign nil :free-from-foreign nil))
252 (flags-for-null :uint))
254 (defcstruct g-param-spec-param
255 (parent-instance g-param-spec))
257 (defcstruct g-param-spec-boxed
258 (parent-instance g-param-spec))
260 (defcstruct g-param-spec-pointer
261 (parent-instance g-param-spec))
263 (defcstruct g-param-spec-object
264 (parent-instance g-param-spec))
266 (defcstruct g-param-spec-value-array
267 (parent-instance g-param-spec)
268 (element-spec (:pointer g-param-spec))
269 (fixed-n-elements :uint))
271 (defcstruct g-param-spec-g-type
272 (parent-instance g-param-spec)
275 (defcstruct g-param-spec-class
276 (type-class g-type-class)
279 (value-set-default :pointer)
280 (value-validate :pointer)
281 (values-cmp :pointer))
283 (defcstruct g-closure
284 (private-data :uint32)
287 (notifiers :pointer))