@end defmac
@end macro
+@macro Struct {args}
+@deftp {Structure} \args\
+@end deftp
+@end macro
+
+@macro Class {args}
+@deftp {Class} \args\
+@end deftp
+@end macro
+
@macro Accessor {args}
@deffn {Accessor} \args\
@end deffn
@node g-type-string
@section g-type-string
+@Function g-type-string
@lisp
(g-type-string g-type-designator) @result{} name
@end lisp
@node g-type-numeric
@section g-type-numeric
+@Function g-type-numeric
@lisp
(g-type-numeric g-type-designator) @result{} GType
@end lisp
@node g-type=
@section g-type=
+@Function g-type=
@lisp
(g-type= type-1 type-2) @result{} eq
@end lisp
@node g-type/=
@section g-type/=
+@Function g-type/=
@lisp
(g-type/= type-1 type-2) @result{} eq
@end lisp
@node g-type-children
@section g-type-children
+@Function g-type-children
@lisp
(g-type-children type) @result{} children
@end lisp
@node g-type-parent
@section g-type-parent
+@Function g-type-parent
@lisp
(g-type-parent type) @result{} parent
@end lisp
@node g-type-fundamental
@section g-type-fundamental
+@Function g-type-fundamental
@lisp
(g-type-fundamental type) @result{} fundamental-type
@end lisp
@node g-type-depth
@section g-type-depth
+@Function g-type-depth
@lisp
(g-type-depth type) @result{} depth
@end lisp
@node g-type-next-base
@section g-type-next-base
+@Function g-type-next-base
@lisp
(g-type-next-base leaf-type root-type) @result{} base-type
@end lisp
@node g-class-property-definition
@section g-class-property-definition
+@Struct g-class-property-definition
@lisp
(defstruct g-class-property-definition
name
@node class-properties
@section class-properties
+@Function class-properties
@lisp
(class-properties type) @result{} properties
@end lisp
@node class-property-info
@section class-property-info
+@Function class-property-info
@lisp
(class-property-info type property-name) @result{} property
@end lisp
@node interface-properties
@section interface-properties
+@Function interface-properties
@lisp
(interface-properties type) @result{} properties
@end lisp
@node signal-info
@section signal-info
+@Struct signal-info
@lisp
(defstruct signal-info
id
@node type-signals
@section type-signals
+@Function type-signals
@lisp
(type-signals type &key (include-inherited t)) @result{} signals
@end lisp
@node parse-signal-name
@section parse-signal-name
+@Function parse-signal-name
@lisp
(parse-signal-name type signal-name) @result{} signal
@end lisp
@node query-signal-info
@section query-signal-info
+@Function query-signal-info
@lisp
(query-signal-info signal-id) @result{} signal
@end lisp
@node g-type-interfaces
@section g-type-interfaces
+@Function g-type-interfaces
@lisp
(g-type-interfaces type) @result{} interfaces
@end lisp
@node g-type-interface-prerequisites
@section g-type-interface-prerequisites
+@Function g-type-interface-prerequisites
@lisp
(g-type-interface-prerequisites type) @result{} types
@end lisp
@node enum-item
@section enum-item
+@Struct enum-item
@lisp
(defstruct enum-item
name value nick)
@node flags-item
@section flags-item
+@Struct flags-item
@lisp
(defstruct flags-item
name value nick)
@node get-enum-items
@section get-enum-items
+@Function get-enum-items
@lisp
(get-enum-items type) @result{} items
@end lisp
@node get-flags-items
@section get-flags-items
+@Function get-flags-items
@lisp
(get-flags-items type) @result{} items
@end lisp
@node g-value-zero
@section g-value-zero
+@Function g-value-zero
@lisp
(g-value-zero g-value)
@end lisp
@node g-value-init
@section g-value-init
+@Function g-value-init
@lisp
(g-value-init value type)
@end lisp
@node g-value-unset
@section g-value-unset
+@Function g-value-unset
@lisp
(g-value-unset value)
@end lisp
@node parse-g-value
@section parse-g-value
+@Function parse-g-value
@lisp
(parse-g-value value) @result{} object
@end lisp
@node set-g-value
@section set-g-value
+@Function set-g-value
@lisp
(set-g-value gvalue object type &key zero-g-value unset-g-value (g-value-init t))
@end lisp
GEnum and GFlags are mapped to CFFI @code{defcenum} and @code{defbitfield} types. Functions @code{register-enum-type} and @code{register-flags-type} add the type to the mapping.
@subsection
-@code{(register-enum-type name type)}
+@Function register-enum-type
+@lisp
+(register-enum-type name type)
+@end lisp
@table @var
@item @var{name}
A string naming the GEnum type
@end lisp
@subsection
-@code{(register-flags-type name type)}
+@Function register-flags-type
+@lisp
+(register-flags-type name type)
+@end lisp
@table @var
@item @var{name}
A string naming the GFlags type
@node allocate-stable-pointer
@section allocate-stable-pointer
+@Function allocate-stable-pointer
@lisp
(allocate-stable-pointer thing) @result{} stable-pointer
@end lisp
@node free-stable-pointer
@section free-stable-pointer
+@Function free-stable-pointer
@lisp
(free-stable-pointer stable-pointer)
@end lisp
@node stable-pointer-value
@section stable-pointer-value
+@Accessor stable-pointer-value
@lisp
(stable-pointer-value stable-pointer) @result{} thing
(setf (stable-pointer-value stable-pointer) thing)
@node with-stable-pointer
@section with-stable-pointer
+@Macro with-stable-pointer
@lisp
(with-stable-pointer (ptr expr) &body body)
@end lisp
GObject supports using closures (as instances of type GClosure) as signal handlers and in some other places where a function is expected. Function @code{create-g-closure} create closure from lisp function. The GClosure is finalized automatically when GObject no longer needs it (e.g., when GClosure is disconnected from signal).
@section create-g-closure
-@code{(create-g-closure fn) @result{} closure}
+@Function create-g-closure
+@lisp
+(create-g-closure fn) @result{} closure
+@end lisp
@table @var
@item @var{fn}
@node g-object-call-constructor
@section g-object-call-constructor
+@Function g-object-call-constructor
@lisp
(g-object-call-constructor object-type args-names args-values &optional args-types) @result{} object-ptr
@end lisp
@node g-type-from-object
@section g-type-from-object
+@Function g-type-from-object
@lisp
(g-type-from-object object-ptr) @result{} type
@end lisp
@node g-object-call-get-property
@section g-object-call-get-property
+@Function g-object-call-get-property
@lisp
(g-object-call-get-property object-ptr property-name &optional property-type) @result{} property-value
@end lisp
@node g-object-call-set-property
@section g-object-call-set-property
+@Function g-object-call-set-property
@lisp
(g-object-call-set-property object-ptr property-name new-value &optional property-type)
@end lisp
To connect handler to a signal, @code{connect-signal} function is used.
-@code{(connect-signal object signal handler &key after)}
+@Function connect-signals
+@lisp
+(connect-signal object signal handler &key after)
+@end lisp
@table @var
@item @var{object}
@node define-vtable
@section define-vtable
+@Macro define-vtable
@lisp
(define-vtable (type-name cstruct-name)
&body item*)
@node register-object-type-implementation
@section register-object-type-implementation
+@Macro register-object-type-implementation
@lisp
(register-object-type-implementation name class parent interfaces properties)
@end lisp
@node define-g-boxed-cstruct
@section define-g-boxed-cstruct
+@Macro define-g-boxed-cstruct
@lisp
(define-g-boxed-cstruct name g-type-name
&body slot*)
@node define-g-boxed-variant-cstruct
@section define-g-boxed-variant-cstruct
+@Macro define-g-boxed-variant-cstruct
@lisp
(define-g-boxed-variant-cstruct name g-type-name
&body slot-or-variant-specification*)
@node define-g-boxed-opaque
@section define-g-boxed-opaque
+@Macro define-g-boxed-opaque
@lisp
(define-g-boxed-opaque name g-type-name &key alloc)
@end lisp
@end lisp
@node g-boxed-opaque
@section g-boxed-opaque
+@Class g-boxed-opaque
@lisp
(defclass g-boxed-opaque ()
((pointer :initarg :pointer
Accessor function @code{g-boxed-opaque-pointer} is used to access the pointer. Pointer should not be modified directly, only read.
@node define-boxed-opaque-accessor
@section define-boxed-opaque-accessor
+@Macro define-boxed-opaque-accessor
@lisp
(define-boxed-opaque-accessor
boxed-name accessor-name &key type reader writer)
@node boxed-related-symbols
@section boxed-related-symbols
+@Function boxed-related-symbols
@lisp
(boxed-related-symbols name) @result{} symbols
@end lisp
@node GBoxed foreign type
@section GBoxed foreign type
+@ForeignType g-boxed-foreign
@lisp
(g-boxed-foreign name &rest option*)
@node define-g-object-class
@section define-g-object-class
+@Macro define-g-object-class
@lisp
(define-g-object-class g-type-name name
(&key (superclass 'g-object) (export t) interfaces type-initializer)
@node define-g-interface
@section define-g-interface
+@Macro define-g-interface
@lisp
(define-g-interface g-type-name name (&key (export t) type-initializer)
&body property*)
@node define-g-enum
@section define-g-enum
+@Macro define-g-enum
@lisp
(define-g-enum g-name name (&key (export t) type-initializer) &body value*)
@node define-g-flags
@section define-g-flags
+@Macro define-g-flags
@lisp
(define-g-flags g-name name (&key (export t) type-initializer) &body value*)
@node get-g-enum-definition
@section get-g-enum-definition
+@Function get-g-enum-definition
@lisp
(get-g-enum-definition type &optional lisp-name-package) @result{} definition
@end lisp
@node get-g-flags-definition
@section get-g-flags-definition
+@Function get-g-flags-definition
@lisp
(get-g-flags-definition type &optional lisp-name-package) @result{} definition
@end lisp
@node get-g-interface-definition
@section get-g-interface-definition
+@Function get-g-interface-definition
@lisp
get-g-interface-definition type &optional lisp-name-package) @result{} definition
@end lisp
@node get-g-class-definition
@section get-g-class-definition
-
+@Function get-g-class-definition
@lisp
-get-g-class-definition type &optional lisp-name-package) @result{} definition
+(get-g-class-definition type &optional lisp-name-package) @result{} definition
@end lisp
@table @var
@node generate-types-hierarchy-to-file
@section generate-types-hierarchy-to-file
+@Function generate-types-hierarchy-to-file
@lisp
(generate-types-hierarchy-to-file file
root-type