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 (defbitfield g-type-fundamental-flags
33 (defcstruct g-type-fundamental-info
34 (type-flags g-type-fundamental-flags))
36 (defcstruct g-interface-info
37 (interface-init :pointer)
38 (interface-finalize :pointer)
39 (interface-data :pointer))
41 (defcstruct g-type-value-table
45 (value-peek-pointer :pointer)
46 (collect-format (:string :free-from-foreign nil :free-to-foreign nil))
47 (collect-value :pointer)
48 (lcopy-format (:string :free-from-foreign nil :free-to-foreign nil))
49 (lcopy-value :pointer))
51 (defbitfield g-type-flags
52 (:abstract #. (ash 1 4))
55 (eval-when (:load-toplevel :compile-toplevel)
56 (defun gtype-make-fundamental-type (x)
59 (defconstant +g-type-invalid+ (gtype-make-fundamental-type 0))
60 (defconstant +g-type-void+ (gtype-make-fundamental-type 1))
61 (defconstant +g-type-interface+ (gtype-make-fundamental-type 2))
62 (defconstant +g-type-char+ (gtype-make-fundamental-type 3))
63 (defconstant +g-type-uchar+ (gtype-make-fundamental-type 4))
64 (defconstant +g-type-boolean+ (gtype-make-fundamental-type 5))
65 (defconstant +g-type-int+ (gtype-make-fundamental-type 6))
66 (defconstant +g-type-uint+ (gtype-make-fundamental-type 7))
67 (defconstant +g-type-long+ (gtype-make-fundamental-type 8))
68 (defconstant +g-type-ulong+ (gtype-make-fundamental-type 9))
69 (defconstant +g-type-int64+ (gtype-make-fundamental-type 10))
70 (defconstant +g-type-uint64+ (gtype-make-fundamental-type 11))
71 (defconstant +g-type-enum+ (gtype-make-fundamental-type 12))
72 (defconstant +g-type-flags+ (gtype-make-fundamental-type 13))
73 (defconstant +g-type-float+ (gtype-make-fundamental-type 14))
74 (defconstant +g-type-double+ (gtype-make-fundamental-type 15))
75 (defconstant +g-type-string+ (gtype-make-fundamental-type 16))
76 (defconstant +g-type-pointer+ (gtype-make-fundamental-type 17))
77 (defconstant +g-type-boxed+ (gtype-make-fundamental-type 18))
78 (defconstant +g-type-param+ (gtype-make-fundamental-type 19))
79 (defconstant +g-type-object+ (gtype-make-fundamental-type 20))
82 (type-instance g-type-instance)
86 (defcstruct g-object-class
87 (type-class g-type-class)
88 (constructor :pointer)
89 (set-property :pointer)
90 (get-property :pointer)
93 (dispatch-properties-changed :pointer)
95 (constructed :pointer))
97 (defbitfield g-param-flags
107 (defcstruct g-param-spec
108 (type-instance g-type-instance)
109 (name (:string :free-from-foreign nil :free-to-foreign nil))
110 (flags g-param-flags)
114 (defcunion g-value-data
127 (data g-value-data :count 2))
129 (defcstruct g-object-construct-param
130 (param-spec (:pointer g-param-spec))
131 (value (:pointer g-value)))
133 (defcstruct g-parameter
134 (name (:string :free-from-foreign nil :free-to-foreign nil))
137 (defcstruct g-enum-value
139 (name (:string :free-from-foreign nil :free-to-foreign nil))
140 (nick (:string :free-from-foreign nil :free-to-foreign nil)))
142 (defcstruct g-enum-class
143 (type-class g-type-class)
147 (values (:pointer g-enum-value)))
149 (defcstruct g-flags-value
151 (name (:string :free-from-foreign nil :free-to-foreign nil))
152 (nick (:string :free-from-foreign nil :free-to-foreign nil)))
154 (defcstruct g-flags-class
155 (type-class g-type-class)
158 (values (:pointer g-flags-value)))
160 (defcstruct g-param-spec-boolean
161 (parent-instance g-param-spec)
162 (default-value :boolean))
164 (defcstruct g-param-spec-char
165 (parent-instance g-param-spec)
168 (default-value :int8))
170 (defcstruct g-param-spec-uchar
171 (parent-instance g-param-spec)
174 (default-value :uint8))
176 (defcstruct g-param-spec-int
177 (parent-instance g-param-spec)
180 (default-value :int))
182 (defcstruct g-param-spec-uint
183 (parent-instance g-param-spec)
186 (default-value :uint))
188 (defcstruct g-param-spec-long
189 (parent-instance g-param-spec)
192 (default-value :ulong))
194 (defcstruct g-param-spec-ulong
195 (parent-instance g-param-spec)
198 (default-value :ulong))
200 (defcstruct g-param-spec-int64
201 (parent-instance g-param-spec)
204 (default-value :uint64))
206 (defcstruct g-param-spec-uint64
207 (parent-instance g-param-spec)
210 (default-value :uint64))
212 (defcstruct g-param-spec-float
213 (parent-instance g-param-spec)
216 (default-value :float)
219 (defcstruct g-param-spec-double
220 (parent-instance g-param-spec)
223 (default-value :double)
226 (defcstruct g-param-spec-enum
227 (parent-instance g-param-spec)
228 (enum-class (:pointer g-enum-class))
229 (default-value :int))
231 (defcstruct g-param-spec-flags
232 (parent-instance g-param-spec)
233 (flags-class (:pointer g-flags-class))
234 (default-value :uint))
236 (defcstruct g-param-spec-string
237 (parent-instance g-param-spec)
238 (default-value (:string :free-to-foreign nil :free-from-foreign nil))
239 (cset-first (:string :free-to-foreign nil :free-from-foreign nil))
240 (cset-nth (:string :free-to-foreign nil :free-from-foreign nil))
242 (flags-for-null :uint))
244 (defcstruct g-param-spec-param
245 (parent-instance g-param-spec))
247 (defcstruct g-param-spec-boxed
248 (parent-instance g-param-spec))
250 (defcstruct g-param-spec-pointer
251 (parent-instance g-param-spec))
253 (defcstruct g-param-spec-object
254 (parent-instance g-param-spec))
256 (defcstruct g-param-spec-value-array
257 (parent-instance g-param-spec)
258 (element-spec (:pointer g-param-spec))
259 (fixed-n-elements :uint))
261 (defcstruct g-param-spec-g-type
262 (parent-instance g-param-spec)
265 (defcstruct g-param-spec-class
266 (type-class g-type-class)
269 (value-set-default :pointer)
270 (value-validate :pointer)
271 (values-cmp :pointer))
273 (defcstruct g-closure
274 (private-data :uint32)
277 (notifiers :pointer))