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 (defcstruct g-object-class
93 (type-class g-type-class)
94 (construct-properties :pointer)
95 (constructor :pointer)
96 (set-property :pointer)
97 (get-property :pointer)
100 (dispatch-properties-changed :pointer)
102 (constructed :pointer)
103 (pdummy :pointer :count 7))
105 (defbitfield g-param-flags
115 (defcstruct g-param-spec
116 (type-instance g-type-instance)
117 (name (:string :free-from-foreign nil :free-to-foreign nil))
118 (flags g-param-flags)
122 (defcunion g-value-data
135 (data g-value-data :count 2))
137 (defcstruct g-object-construct-param
138 (param-spec (:pointer g-param-spec))
139 (value (:pointer g-value)))
141 (defcstruct g-parameter
142 (name (:string :free-from-foreign nil :free-to-foreign nil))
145 (defcstruct g-enum-value
147 (name (:string :free-from-foreign nil :free-to-foreign nil))
148 (nick (:string :free-from-foreign nil :free-to-foreign nil)))
150 (defcstruct g-enum-class
151 (type-class g-type-class)
155 (values (:pointer g-enum-value)))
157 (defcstruct g-flags-value
159 (name (:string :free-from-foreign nil :free-to-foreign nil))
160 (nick (:string :free-from-foreign nil :free-to-foreign nil)))
162 (defcstruct g-flags-class
163 (type-class g-type-class)
166 (values (:pointer g-flags-value)))
168 (defcstruct g-param-spec-boolean
169 (parent-instance g-param-spec)
170 (default-value :boolean))
172 (defcstruct g-param-spec-char
173 (parent-instance g-param-spec)
176 (default-value :int8))
178 (defcstruct g-param-spec-uchar
179 (parent-instance g-param-spec)
182 (default-value :uint8))
184 (defcstruct g-param-spec-int
185 (parent-instance g-param-spec)
188 (default-value :int))
190 (defcstruct g-param-spec-uint
191 (parent-instance g-param-spec)
194 (default-value :uint))
196 (defcstruct g-param-spec-long
197 (parent-instance g-param-spec)
200 (default-value :ulong))
202 (defcstruct g-param-spec-ulong
203 (parent-instance g-param-spec)
206 (default-value :ulong))
208 (defcstruct g-param-spec-int64
209 (parent-instance g-param-spec)
212 (default-value :uint64))
214 (defcstruct g-param-spec-uint64
215 (parent-instance g-param-spec)
218 (default-value :uint64))
220 (defcstruct g-param-spec-float
221 (parent-instance g-param-spec)
224 (default-value :float)
227 (defcstruct g-param-spec-double
228 (parent-instance g-param-spec)
231 (default-value :double)
234 (defcstruct g-param-spec-enum
235 (parent-instance g-param-spec)
236 (enum-class (:pointer g-enum-class))
237 (default-value :int))
239 (defcstruct g-param-spec-flags
240 (parent-instance g-param-spec)
241 (flags-class (:pointer g-flags-class))
242 (default-value :uint))
244 (defcstruct g-param-spec-string
245 (parent-instance g-param-spec)
246 (default-value (:string :free-to-foreign nil :free-from-foreign nil))
247 (cset-first (:string :free-to-foreign nil :free-from-foreign nil))
248 (cset-nth (:string :free-to-foreign nil :free-from-foreign nil))
250 (flags-for-null :uint))
252 (defcstruct g-param-spec-param
253 (parent-instance g-param-spec))
255 (defcstruct g-param-spec-boxed
256 (parent-instance g-param-spec))
258 (defcstruct g-param-spec-pointer
259 (parent-instance g-param-spec))
261 (defcstruct g-param-spec-object
262 (parent-instance g-param-spec))
264 (defcstruct g-param-spec-value-array
265 (parent-instance g-param-spec)
266 (element-spec (:pointer g-param-spec))
267 (fixed-n-elements :uint))
269 (defcstruct g-param-spec-g-type
270 (parent-instance g-param-spec)
273 (defcstruct g-param-spec-class
274 (type-class g-type-class)
277 (value-set-default :pointer)
278 (value-validate :pointer)
279 (values-cmp :pointer))
281 (defcstruct g-closure
282 (private-data :uint32)
285 (notifiers :pointer))