Merge branch 'master' of git://github.com/ex-rzr/factor

db4
Slava Pestov 2011-04-06 17:26:41 -04:00
commit ee99a64b54
28 changed files with 182 additions and 85729 deletions

View File

@ -1,9 +1,12 @@
! Copyright (C) 2010 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license.
USING: namespaces ;
USING: namespaces sequences ;
IN: gobject-introspection.common
SYMBOL: current-namespace-name
SYMBOL: implement-structs
implement-structs [ V{ } ] initialize
: implement-struct? ( c-type -- ? )
implement-structs get-global member? ;

View File

@ -2,14 +2,11 @@
! See http://factorcode.org/license.txt for BSD license.
USING: accessors alien.c-types alien.parser arrays ascii
classes.parser classes.struct combinators combinators.short-circuit
gobject-introspection.common gobject-introspection.repository
gobject-introspection.types kernel locals make math.parser namespaces
parser sequences splitting.monotonic vocabs.parser words
words.constant ;
gobject-introspection.repository gobject-introspection.types kernel
locals make math.parser namespaces parser sequences
splitting.monotonic vocabs.parser words words.constant ;
IN: gobject-introspection.ffi
SYMBOL: constant-prefix
: def-c-type ( c-type-name base-c-type -- )
swap (CREATE-C-TYPE) typedef ;
@ -81,11 +78,8 @@ M: utf8-type parse-const-value drop ;
: const-value ( const -- value )
[ value>> ] [ type>> ] bi parse-const-value ;
: const-name ( const -- name )
name>> constant-prefix get swap "_" glue ;
: def-const ( const -- )
[ const-name create-in dup reset-generic ]
[ c-identifier>> create-in dup reset-generic ]
[ const-value ] bi define-constant ;
: def-consts ( consts -- )
@ -209,7 +203,7 @@ M: array-type field-type>c-type type>c-type ;
] tri <struct-slot-spec> ;
: def-record-type ( record -- )
dup c-type>> implement-structs get-global member?
dup fields>>
[
[ c-type>> create-class-in ]
[ fields>> [ field>struct-slot ] map ] bi
@ -321,7 +315,6 @@ M: array-type field-type>c-type type>c-type ;
: def-namespace ( namespace -- )
{
[ symbol-prefixes>> first >upper constant-prefix set ]
[ consts>> def-consts ]
[ enums>> defer-enums ]

View File

@ -1,15 +1,50 @@
! Copyright (C) 2010 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors combinators gobject-introspection.common
USING: accessors combinators environment gobject-introspection.common
gobject-introspection.ffi gobject-introspection.loader
gobject-introspection.types kernel lexer locals namespaces parser
sequences xml ;
gobject-introspection.types io io.files io.pathnames kernel lexer
locals make namespaces parser sequences splitting summary vocabs
vocabs.parser xml ;
IN: gobject-introspection
ERROR: gir-not-found name paths ;
M: gir-not-found summary
[ name>> "“" "” file not found on paths:\n" surround ]
[ paths>> "\n" join ] bi
"\n\nUse the existing path or declare GIR_DIRS environment variable"
3append ;
<PRIVATE
:: define-gir-vocab ( file-name -- )
file-name file>xml xml>repository
: system-gir-dirs ( -- dirs )
"XDG_DATA_DIRS" os-env "/usr/local/share/:/usr/share/" or
":" split [ "gir-1.0" append-path ] map ;
: custom-gir-dirs ( -- dirs )
"GIR_DIRS" os-env ":" split ;
: current-vocab-path ( -- path )
current-vocab vocab-name "." split "/" join vocab-path ;
: current-vocab-dirs ( -- dirs )
[
current-vocab-path
[ , ] [ "/ffi" ?tail [ , ] [ drop ] if ] bi
] { } make ;
:: resolve-gir-path ( path -- path )
path exists?
[ path ] [
current-vocab-dirs custom-gir-dirs system-gir-dirs
3append sift :> paths
paths [ path append-path exists? ] find nip
[ path append-path ] [ path paths gir-not-found ] if*
] if ;
: define-gir-vocab ( path -- )
resolve-gir-path dup " loading " write print
file>xml xml>repository
{
[ namespace>> name>> current-namespace-name set-global ]
[ def-ffi-repository ]

View File

@ -1,7 +1,8 @@
! Copyright (C) 2010 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors combinators gobject-introspection.repository kernel
literals math.parser sequences splitting xml.data xml.traversal ;
USING: accessors ascii combinators gobject-introspection.common
gobject-introspection.repository kernel literals math.parser
sequences splitting xml.data xml.traversal ;
IN: gobject-introspection.loader
: xml>simple-type ( xml -- type )
@ -128,7 +129,11 @@ CONSTANT: type-tags
: xml>record ( xml -- record )
[ record new ] dip {
[ load-type ]
[ "field" tags-named [ xml>field ] map >>fields ]
[
over c-type>> implement-struct?
[ "field" tags-named [ xml>field ] map >>fields ]
[ drop ] if
]
[ "constructor" load-functions >>constructors ]
[ "method" load-functions >>methods ]
[ "function" load-functions >>functions ]
@ -192,6 +197,13 @@ CONSTANT: type-tags
[ boxed new ] dip
load-type ;
: fix-conts ( namespace -- )
[ symbol-prefixes>> first >upper "_" append ] [ consts>> ] bi
[ [ name>> append ] keep c-identifier<< ] with each ;
: postprocess-namespace ( namespace -- )
fix-conts ;
: xml>namespace ( xml -- namespace )
[ namespace new ] dip {
[ "name" attr >>name ]
@ -208,7 +220,7 @@ CONSTANT: type-tags
[ "class" tags-named [ xml>class ] map >>classes ]
[ "interface" tags-named [ xml>interface ] map >>interfaces ]
[ "function" load-functions >>functions ]
} cleave ;
} cleave [ postprocess-namespace ] keep ;
: xml>repository ( xml -- repository )
[ repository new ] dip

View File

@ -46,7 +46,8 @@ TUPLE: alias
TUPLE: const
name
value
type ;
type
c-identifier ;
TUPLE: type
name

View File

@ -26,6 +26,9 @@ TYPEDEF: ulonglong guint64
TYPEDEF: float gfloat
TYPEDEF: double gdouble
TYPEDEF: size_t gsize
TYPEDEF: long gssize
TYPEDEF: gulong GType
TYPEDEF: void* gpointer
TYPEDEF: guint32 gunichar
@ -61,6 +64,9 @@ guint64 "guint64" register-standard-type
gfloat "gfloat" register-standard-type
gdouble "gdouble" register-standard-type
gsize "gsize" register-standard-type
gssize "gssize" register-standard-type
GType "GType" register-standard-type
gpointer "gpointer" register-standard-type
gunichar "gunichar" register-standard-type

View File

@ -1,23 +1,21 @@
! Copyright (C) 2008 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: threads io.backend namespaces init math kernel ;
IN: io.thread
! The Cocoa UI backend stops the I/O thread and takes over
! completely.
SYMBOL: io-thread-running?
: io-thread ( -- )
sleep-time io-multiplex yield ;
: start-io-thread ( -- )
[ [ io-thread-running? get-global ] [ io-thread ] while ]
"I/O wait" spawn drop ;
: stop-io-thread ( -- )
f io-thread-running? set-global ;
[
t io-thread-running? set-global
start-io-thread
] "io.thread" add-startup-hook
! Copyright (C) 2008 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: init io.backend kernel namespaces threads ;
IN: io.thread
! The Cocoa and Gtk UI backend stops the I/O thread and takes
! over completely.
SYMBOL: io-thread-running?
: io-thread ( -- )
sleep-time io-multiplex yield ;
: start-io-thread ( -- )
t io-thread-running? set-global
[ [ io-thread-running? get-global ] [ io-thread ] while ]
"I/O wait" spawn drop ;
: stop-io-thread ( -- )
f io-thread-running? set-global ;
[ start-io-thread ] "io.thread" add-startup-hook

View File

@ -1,13 +1,14 @@
! Copyright (C) 2010 Anton Gorenko, Philipp Brüschweiler.
! Copyright (C) 2010, 2011 Anton Gorenko, Philipp Brüschweiler.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors alien.accessors alien.c-types alien.data
alien.strings arrays assocs classes.struct command-line destructors
gdk.ffi gdk.gl.ffi glib.ffi gobject-introspection.standard-types
gobject.ffi gtk.ffi gtk.gl.ffi io.encodings.utf8 kernel libc literals
locals math math.bitwise math.order math.vectors namespaces sequences
strings system threads ui ui.backend ui.backend.gtk.input-methods
ui.backend.gtk.io ui.clipboards ui.event-loop ui.gadgets
ui.gadgets.private ui.gadgets.worlds ui.gestures ui.pixel-formats
alien.strings arrays assocs classes.struct command-line continuations
destructors gdk.ffi gdk.gl.ffi glib.ffi
gobject-introspection.standard-types gobject.ffi gtk.ffi gtk.gl.ffi
io.encodings.utf8 kernel libc literals locals math math.bitwise
math.order math.vectors namespaces sequences strings system threads ui
ui.backend ui.backend.gtk.input-methods ui.backend.gtk.io
ui.clipboards ui.event-loop ui.gadgets ui.gadgets.private
ui.gadgets.worlds ui.gestures ui.pixel-formats
ui.pixel-formats.private ui.private vocabs.loader ;
IN: ui.backend.gtk
@ -51,33 +52,38 @@ M: gtk-clipboard set-clipboard-contents
gtk_clipboard_get <gtk-clipboard> swap set-global
] 2bi@ ;
! Timeouts
! Timer
SYMBOL: next-timeout
SYMBOL: next-fire-time
: set-timeout*-value ( alien value -- )
swap 0 set-alien-signed-4 ; inline
: timeout-prepare ( source timeout* -- ? )
nip next-timeout get-global nano-count [-]
: timer-prepare ( source timeout* -- ? )
nip next-fire-time get-global nano-count [-]
[ 1,000,000 /i set-timeout*-value ] keep 0 = ;
: timeout-check ( source -- ? )
drop next-timeout get-global nano-count [-] 0 = ;
: timer-check ( source -- ? )
drop next-fire-time get-global nano-count [-] 0 = ;
: timeout-dispatch ( source callback user_data -- ? )
: timer-dispatch ( source callback user_data -- ? )
3drop sleep-time [ 1,000,000,000 ] unless* nano-count +
next-timeout set-global
next-fire-time set-global
yield t ;
: init-timeout ( -- )
GSourceFuncs malloc-struct &free
[ timeout-prepare ] GSourceFuncsPrepareFunc >>prepare
[ timeout-check ] GSourceFuncsCheckFunc >>check
[ timeout-dispatch ] GSourceFuncsDispatchFunc >>dispatch
GSource heap-size g_source_new &g_source_unref
f g_source_attach drop
nano-count next-timeout set-global ;
: <timer-funcs> ( -- timer-funcs )
GSourceFuncs malloc-struct
[ timer-prepare ] GSourceFuncsPrepareFunc >>prepare
[ timer-check ] GSourceFuncsCheckFunc >>check
[ timer-dispatch ] GSourceFuncsDispatchFunc >>dispatch ;
:: with-timer ( quot -- )
nano-count next-fire-time set-global
<timer-funcs> &free
GSource heap-size g_source_new &g_source_unref :> source
source f g_source_attach drop
[ quot call( -- ) ]
[ source g_source_destroy ] [ ] cleanup ;
! User input
@ -488,9 +494,7 @@ M: gtk-ui-backend (with-ui)
init-clipboard
start-ui
[
init-io-event-source
init-timeout
gtk_main
[ [ gtk_main ] with-timer ] with-event-loop
] with-destructors
] ui-running ;

View File

@ -3,6 +3,6 @@
USING: io.backend kernel ;
IN: ui.backend.gtk.io
HOOK: init-io-event-source io-backend ( -- )
HOOK: with-event-loop io-backend ( quot -- )
M: object init-io-event-source ;
M: object with-event-loop call( -- ) ;

View File

@ -1,8 +1,8 @@
! Copyright (C) 2011 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors alien.c-types classes.struct glib.ffi
io.backend.unix.multiplexers io.thread kernel libc literals namespaces
system threads ui.backend.gtk.io ;
USING: accessors alien.c-types classes.struct continuations
glib.ffi io.backend.unix.multiplexers io.thread kernel libc
literals locals namespaces system threads ui.backend.gtk.io ;
IN: ui.backend.gtk.io.unix
: prepare ( source timeout -- ? )
@ -17,6 +17,12 @@ IN: ui.backend.gtk.io.unix
0 mx get wait-for-events
yield t ;
: <funcs> ( -- funcs )
GSourceFuncs malloc-struct
[ prepare ] GSourceFuncsPrepareFunc >>prepare
[ check ] GSourceFuncsCheckFunc >>check
[ dispatch ] GSourceFuncsDispatchFunc >>dispatch ;
CONSTANT: poll-fd-events
flags{
G_IO_IN
@ -32,12 +38,14 @@ CONSTANT: poll-fd-events
mx get fd>> >>fd
poll-fd-events >>events ;
M: unix init-io-event-source
M:: unix with-event-loop ( quot -- )
stop-io-thread
GSourceFuncs malloc-struct &free
[ prepare ] GSourceFuncsPrepareFunc >>prepare
[ check ] GSourceFuncsCheckFunc >>check
[ dispatch ] GSourceFuncsDispatchFunc >>dispatch
GSource heap-size g_source_new &g_source_unref
[ <poll-fd> g_source_add_poll ]
[ f g_source_attach drop ] bi ;
<funcs> &free
GSource heap-size g_source_new &g_source_unref :> source
source <poll-fd> g_source_add_poll
source f g_source_attach drop
[ quot call( -- ) ]
[
source g_source_destroy
start-io-thread
] [ ] cleanup ;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,5 @@
! Copyright (C) 2011 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license.
USING: clutter.cally.ffi ;
IN: clutter.cally

View File

@ -0,0 +1,23 @@
! Copyright (C) 2011 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.libraries alien.syntax combinators
gobject-introspection kernel system vocabs.loader ;
IN: clutter.cally.ffi
<<
"atk.ffi" require
"clutter.ffi" require
>>
LIBRARY: clutter.cally
<<
"clutter.cally" {
{ [ os winnt? ] [ drop ] }
{ [ os macosx? ] [ drop ] }
{ [ os unix? ] [ "libclutter-glx-1.0.so" cdecl add-library ] }
} cond
>>
GIR: Cally-1.0.gir

File diff suppressed because it is too large Load Diff

View File

@ -21,5 +21,5 @@ LIBRARY: clutter.cogl
FOREIGN-ATOMIC-TYPE: GL.uint GLuint
FOREIGN-ATOMIC-TYPE: GL.enum GLenum
GIR: vocab:clutter/cogl/Cogl-1.0.gir
GIR: Cogl-1.0.gir

View File

@ -23,5 +23,5 @@ LIBRARY: clutter
FOREIGN-RECORD-TYPE: cairo.Path cairo_path_t
GIR: vocab:clutter/Clutter-1.0.gir
GIR: Clutter-1.0.gir

View File

@ -1,912 +0,0 @@
<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository version="1.2"
xmlns="http://www.gtk.org/introspection/core/1.0"
xmlns:c="http://www.gtk.org/introspection/c/1.0"
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
<include name="Atk" version="1.0"/>
<include name="Clutter" version="1.0"/>
<include name="Cogl" version="1.0"/>
<include name="GL" version="1.0"/>
<include name="GLib" version="2.0"/>
<include name="GModule" version="2.0"/>
<include name="GObject" version="2.0"/>
<include name="Gdk" version="2.0"/>
<include name="GdkPixbuf" version="2.0"/>
<include name="Gio" version="2.0"/>
<include name="Gtk" version="2.0"/>
<include name="Json" version="1.0"/>
<include name="Pango" version="1.0"/>
<include name="PangoCairo" version="1.0"/>
<include name="PangoFT2" version="1.0"/>
<include name="cairo" version="1.0"/>
<include name="fontconfig" version="2.0"/>
<include name="freetype2" version="2.0"/>
<namespace name="GtkClutter"
version="0.10"
shared-library="libclutter-gtk-0.10.so.0"
c:identifier-prefixes="GtkClutter"
c:symbol-prefixes="gtk_clutter">
<class name="Embed"
c:symbol-prefix="embed"
c:type="GtkClutterEmbed"
version="0.6"
parent="Gtk.Container"
glib:type-name="GtkClutterEmbed"
glib:get-type="gtk_clutter_embed_get_type"
glib:type-struct="EmbedClass">
<doc xml:whitespace="preserve">A #GtkWidget containing the default Clutter stage.</doc>
<implements name="Atk.ImplementorIface"/>
<implements name="Gtk.Buildable"/>
<constructor name="new"
c:identifier="gtk_clutter_embed_new"
version="0.6">
<doc xml:whitespace="preserve">Creates a new #GtkClutterEmbed widget. This widget can be
used to build a scene using Clutter API into a GTK+ application.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">the newly created #GtkClutterEmbed</doc>
<type name="Gtk.Widget" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="get_stage"
c:identifier="gtk_clutter_embed_get_stage"
version="0.6">
<doc xml:whitespace="preserve">Retrieves the #ClutterStage from @embed. The returned stage can be
used to add actors to the Clutter scene. Multiple calls to this function
on the same #GtkClutterEmbed widget will return the same stage.
or unref the returned actor.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">a #ClutterStage. You should never destroy</doc>
<type name="Clutter.Actor" c:type="ClutterActor*"/>
</return-value>
</method>
<field name="parent_instance">
<type name="Gtk.Container" c:type="GtkContainer"/>
</field>
<field name="priv">
<type name="EmbedPrivate" c:type="GtkClutterEmbedPrivate*"/>
</field>
</class>
<record name="EmbedClass"
c:type="GtkClutterEmbedClass"
glib:is-gtype-struct-for="Embed"
version="0.6">
<doc xml:whitespace="preserve">Base class for #GtkClutterEmbed.</doc>
<field name="parent_class">
<type name="Gtk.ContainerClass" c:type="GtkContainerClass"/>
</field>
<field name="_clutter_gtk_reserved1" introspectable="0">
<callback name="_clutter_gtk_reserved1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="_clutter_gtk_reserved2" introspectable="0">
<callback name="_clutter_gtk_reserved2">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="_clutter_gtk_reserved3" introspectable="0">
<callback name="_clutter_gtk_reserved3">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="_clutter_gtk_reserved4" introspectable="0">
<callback name="_clutter_gtk_reserved4">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="_clutter_gtk_reserved5" introspectable="0">
<callback name="_clutter_gtk_reserved5">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
<field name="_clutter_gtk_reserved6" introspectable="0">
<callback name="_clutter_gtk_reserved6">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
<record name="EmbedPrivate" c:type="GtkClutterEmbedPrivate" disguised="1">
</record>
<interface name="Scrollable"
c:symbol-prefix="scrollable"
c:type="GtkClutterScrollable"
glib:type-name="GtkClutterScrollable"
glib:get-type="gtk_clutter_scrollable_get_type"
glib:type-struct="ScrollableIface">
<virtual-method name="get_adjustments"
invoker="get_adjustments"
version="0.10">
<doc xml:whitespace="preserve">Retrieves the horizontal and vertical adjustments used to
determine the position of the scrollable actor.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="h_adjust"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:whitespace="preserve">return location for a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment**"/>
</parameter>
<parameter name="v_adjust"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:whitespace="preserve">return location for a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment**"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_adjustments"
invoker="set_adjustments"
version="0.10">
<doc xml:whitespace="preserve">Sets the horizontal and vertical adjustments used to determine
the position of the scrollable actor.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="h_adjust" transfer-ownership="none" allow-none="1">
<doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="v_adjust" transfer-ownership="none" allow-none="1">
<doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</virtual-method>
<method name="get_adjustments"
c:identifier="gtk_clutter_scrollable_get_adjustments"
version="0.10">
<doc xml:whitespace="preserve">Retrieves the horizontal and vertical adjustments used to
determine the position of the scrollable actor.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="h_adjust"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:whitespace="preserve">return location for a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment**"/>
</parameter>
<parameter name="v_adjust"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:whitespace="preserve">return location for a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment**"/>
</parameter>
</parameters>
</method>
<method name="set_adjustments"
c:identifier="gtk_clutter_scrollable_set_adjustments"
version="0.10">
<doc xml:whitespace="preserve">Sets the horizontal and vertical adjustments used to determine
the position of the scrollable actor.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="h_adjust" transfer-ownership="none" allow-none="1">
<doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="v_adjust" transfer-ownership="none" allow-none="1">
<doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<property name="hadjustment"
version="0.10"
writable="1"
construct="1"
transfer-ownership="none">
<doc xml:whitespace="preserve">The #GtkAdjustment that determines the value of the
horizontal position for this scrollable actor.</doc>
<type name="Gtk.Adjustment"/>
</property>
<property name="vadjustment"
version="0.10"
writable="1"
construct="1"
transfer-ownership="none">
<doc xml:whitespace="preserve">The #GtkAdjustment that determines the value of the
vertical position for this scrollable actor.</doc>
<type name="Gtk.Adjustment"/>
</property>
</interface>
<record name="ScrollableIface"
c:type="GtkClutterScrollableIface"
glib:is-gtype-struct-for="Scrollable"
version="0.10">
<doc xml:whitespace="preserve">The #GtkClutterScrollableIface structure contains only private data
and should be accessed using the provided functions.</doc>
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="set_adjustments">
<callback name="set_adjustments">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="scrollable" transfer-ownership="none">
<type name="Scrollable" c:type="GtkClutterScrollable*"/>
</parameter>
<parameter name="h_adjust"
transfer-ownership="none"
allow-none="1">
<doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="v_adjust"
transfer-ownership="none"
allow-none="1">
<doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_adjustments">
<callback name="get_adjustments">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="scrollable" transfer-ownership="none">
<type name="Scrollable" c:type="GtkClutterScrollable*"/>
</parameter>
<parameter name="h_adjust"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:whitespace="preserve">return location for a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment**"/>
</parameter>
<parameter name="v_adjust"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:whitespace="preserve">return location for a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment**"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<class name="Viewport"
c:symbol-prefix="viewport"
c:type="GtkClutterViewport"
version="0.8.2"
parent="Clutter.Actor"
glib:type-name="GtkClutterViewport"
glib:get-type="gtk_clutter_viewport_get_type"
glib:type-struct="ViewportClass">
<doc xml:whitespace="preserve">The #GtkClutterViewport structure contains only private data and
should be accessed using the provided functions.</doc>
<implements name="Atk.ImplementorIface"/>
<implements name="Clutter.Animatable"/>
<implements name="Clutter.Container"/>
<implements name="Clutter.Scriptable"/>
<implements name="Scrollable"/>
<implements name="Zoomable"/>
<constructor name="new"
c:identifier="gtk_clutter_viewport_new"
version="0.10">
<doc xml:whitespace="preserve">Creates a new #GtkClutterViewport with the given adjustments.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">the newly created viewport actor</doc>
<type name="Clutter.Actor" c:type="ClutterActor*"/>
</return-value>
<parameters>
<parameter name="h_adjust" transfer-ownership="none">
<doc xml:whitespace="preserve">horizontal adjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="v_adjust" transfer-ownership="none">
<doc xml:whitespace="preserve">vertical adjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</parameter>
<parameter name="z_adjust" transfer-ownership="none">
<doc xml:whitespace="preserve">zoom adjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</constructor>
<method name="get_origin"
c:identifier="gtk_clutter_viewport_get_origin"
version="0.10">
<doc xml:whitespace="preserve">Retrieves the current translation factor ("origin") used when
displaying the child of @viewport.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="x" transfer-ownership="none">
<doc xml:whitespace="preserve">return location for the X origin in pixels, or %NULL</doc>
<type name="gfloat" c:type="gfloat*"/>
</parameter>
<parameter name="y" transfer-ownership="none">
<doc xml:whitespace="preserve">return location for the Y origin in pixels, or %NULL</doc>
<type name="gfloat" c:type="gfloat*"/>
</parameter>
<parameter name="z" transfer-ownership="none">
<doc xml:whitespace="preserve">return location for the Z origin in pixels, or %NULL</doc>
<type name="gfloat" c:type="gfloat*"/>
</parameter>
</parameters>
</method>
<property name="child"
version="0.10"
writable="1"
transfer-ownership="none">
<doc xml:whitespace="preserve">The #ClutterActor inside the viewport.</doc>
<type name="Clutter.Actor"/>
</property>
<property name="origin" version="0.10" transfer-ownership="none">
<doc xml:whitespace="preserve">The current origin of the viewport. You should use the
vertex to convert event coordinates for the child of the
viewport.</doc>
<type name="Clutter.Vertex"/>
</property>
<field name="parent_instance">
<type name="Clutter.Actor" c:type="ClutterActor"/>
</field>
<field name="priv">
<type name="ViewportPrivate" c:type="GtkClutterViewportPrivate*"/>
</field>
</class>
<record name="ViewportClass"
c:type="GtkClutterViewportClass"
glib:is-gtype-struct-for="Viewport"
version="0.8.2">
<doc xml:whitespace="preserve">The #GtkClutterViewportClass structure contains only private data and
should be accessed using the provided functions.</doc>
<field name="parent_class">
<type name="Clutter.ActorClass" c:type="ClutterActorClass"/>
</field>
</record>
<record name="ViewportPrivate"
c:type="GtkClutterViewportPrivate"
disguised="1">
</record>
<interface name="Zoomable"
c:symbol-prefix="zoomable"
c:type="GtkClutterZoomable"
glib:type-name="GtkClutterZoomable"
glib:get-type="gtk_clutter_zoomable_get_type"
glib:type-struct="ZoomableIface">
<virtual-method name="get_adjustment"
invoker="get_adjustment"
version="0.10">
<doc xml:whitespace="preserve">Retrieves the adjustment used to determine the zoom factor of
the zoomable actor</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkAdjustment</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</virtual-method>
<virtual-method name="set_adjustment"
invoker="set_adjustment"
version="0.10">
<doc xml:whitespace="preserve">Sets the adjustment used to determine the zoom factor of
the zoomable actor</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="z_adjust" transfer-ownership="none" allow-none="1">
<doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</virtual-method>
<method name="get_adjustment"
c:identifier="gtk_clutter_zoomable_get_adjustment"
version="0.10">
<doc xml:whitespace="preserve">Retrieves the adjustment used to determine the zoom factor of
the zoomable actor</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkAdjustment</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</return-value>
</method>
<method name="set_adjustment"
c:identifier="gtk_clutter_zoomable_set_adjustment"
version="0.10">
<doc xml:whitespace="preserve">Sets the adjustment used to determine the zoom factor of
the zoomable actor</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="z_adjust" transfer-ownership="none" allow-none="1">
<doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</method>
<property name="zadjustment"
version="0.10"
writable="1"
construct="1"
transfer-ownership="none">
<doc xml:whitespace="preserve">The #GtkAdjustment that determines the value of
the zoom factor for this zoomable actor</doc>
<type name="Gtk.Adjustment"/>
</property>
</interface>
<record name="ZoomableIface"
c:type="GtkClutterZoomableIface"
glib:is-gtype-struct-for="Zoomable"
version="1.0">
<doc xml:whitespace="preserve">The #GtkClutterZoomableIface structure contains only private data</doc>
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="set_adjustment">
<callback name="set_adjustment">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="zoomable" transfer-ownership="none">
<type name="Zoomable" c:type="GtkClutterZoomable*"/>
</parameter>
<parameter name="z_adjust"
transfer-ownership="none"
allow-none="1">
<doc xml:whitespace="preserve">a #GtkAdjustment, or %NULL</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_adjustment">
<callback name="get_adjustment">
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkAdjustment</doc>
<type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
</return-value>
<parameters>
<parameter name="zoomable" transfer-ownership="none">
<type name="Zoomable" c:type="GtkClutterZoomable*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<function name="get_base_color"
c:identifier="gtk_clutter_get_base_color"
version="0.8">
<doc xml:whitespace="preserve">Retrieves the base color of @widget for the given @state and copies it
into @color.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkWidget</doc>
<type name="Gtk.Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:whitespace="preserve">a state</doc>
<type name="Gtk.StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
<type name="Clutter.Color" c:type="ClutterColor*"/>
</parameter>
</parameters>
</function>
<function name="get_bg_color"
c:identifier="gtk_clutter_get_bg_color"
version="0.8">
<doc xml:whitespace="preserve">Retrieves the background color of @widget for the given @state and copies
it into @color.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkWidget</doc>
<type name="Gtk.Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:whitespace="preserve">a state</doc>
<type name="Gtk.StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
<type name="Clutter.Color" c:type="ClutterColor*"/>
</parameter>
</parameters>
</function>
<function name="get_dark_color"
c:identifier="gtk_clutter_get_dark_color"
version="0.8">
<doc xml:whitespace="preserve">Retrieves the dark color of @widget for the given @state and copies it
into @color.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkWidget</doc>
<type name="Gtk.Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:whitespace="preserve">a state</doc>
<type name="Gtk.StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
<type name="Clutter.Color" c:type="ClutterColor*"/>
</parameter>
</parameters>
</function>
<function name="get_fg_color"
c:identifier="gtk_clutter_get_fg_color"
version="0.8">
<doc xml:whitespace="preserve">Retrieves the foreground color of @widget for the given @state and copies
it into @color.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkWidget</doc>
<type name="Gtk.Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:whitespace="preserve">a state</doc>
<type name="Gtk.StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
<type name="Clutter.Color" c:type="ClutterColor*"/>
</parameter>
</parameters>
</function>
<function name="get_light_color"
c:identifier="gtk_clutter_get_light_color"
version="0.8">
<doc xml:whitespace="preserve">Retrieves the light color of @widget for the given @state and copies it
into @color.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkWidget</doc>
<type name="Gtk.Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:whitespace="preserve">a state</doc>
<type name="Gtk.StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
<type name="Clutter.Color" c:type="ClutterColor*"/>
</parameter>
</parameters>
</function>
<function name="get_mid_color"
c:identifier="gtk_clutter_get_mid_color"
version="0.8">
<doc xml:whitespace="preserve">Retrieves the mid color of @widget for the given @state and copies it
into @color.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkWidget</doc>
<type name="Gtk.Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:whitespace="preserve">a state</doc>
<type name="Gtk.StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
<type name="Clutter.Color" c:type="ClutterColor*"/>
</parameter>
</parameters>
</function>
<function name="get_text_aa_color"
c:identifier="gtk_clutter_get_text_aa_color"
version="0.8">
<doc xml:whitespace="preserve">Retrieves the text-aa color of @widget for the given @state and copies it
into @color.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkWidget</doc>
<type name="Gtk.Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:whitespace="preserve">a state</doc>
<type name="Gtk.StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
<type name="Clutter.Color" c:type="ClutterColor*"/>
</parameter>
</parameters>
</function>
<function name="get_text_color"
c:identifier="gtk_clutter_get_text_color"
version="0.8">
<doc xml:whitespace="preserve">Retrieves the text color of @widget for the given @state and copies it
into @color.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkWidget</doc>
<type name="Gtk.Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:whitespace="preserve">a state</doc>
<type name="Gtk.StateType" c:type="GtkStateType"/>
</parameter>
<parameter name="color" transfer-ownership="none">
<doc xml:whitespace="preserve">return location for a #ClutterColor</doc>
<type name="Clutter.Color" c:type="ClutterColor*"/>
</parameter>
</parameters>
</function>
<function name="init" c:identifier="gtk_clutter_init" version="0.8">
<doc xml:whitespace="preserve">This function should be called instead of clutter_init() and
gtk_init().
on failure.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">%CLUTTER_INIT_SUCCESS on success, a negative integer</doc>
<type name="Clutter.InitError" c:type="ClutterInitError"/>
</return-value>
<parameters>
<parameter name="argc"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
<doc xml:whitespace="preserve">pointer to the arguments count, or %NULL</doc>
<type name="gint" c:type="int*"/>
</parameter>
<parameter name="argv"
direction="inout"
caller-allocates="0"
transfer-ownership="full"
allow-none="1">
<doc xml:whitespace="preserve">pointer to the arguments vector, or %NULL</doc>
<array length="0" c:type="char***">
<type name="utf8"/>
</array>
</parameter>
</parameters>
</function>
<function name="init_with_args"
c:identifier="gtk_clutter_init_with_args"
version="0.10"
throws="1">
<doc xml:whitespace="preserve">This function should be called instead of clutter_init() and
gtk_init_with_args().
on failure.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">%CLUTTER_INIT_SUCCESS on success, a negative integer</doc>
<type name="Clutter.InitError" c:type="ClutterInitError"/>
</return-value>
<parameters>
<parameter name="argc"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
<doc xml:whitespace="preserve">a pointer to the number of command line arguments.</doc>
<type name="gint" c:type="int*"/>
</parameter>
<parameter name="argv"
direction="inout"
caller-allocates="0"
transfer-ownership="full"
allow-none="1">
<doc xml:whitespace="preserve">a pointer to the array of command line arguments.</doc>
<array length="0" c:type="char***">
<type name="utf8"/>
</array>
</parameter>
<parameter name="parameter_string"
transfer-ownership="none"
allow-none="1">
<doc xml:whitespace="preserve">a string which is displayed in the first line of &lt;option&gt;--help&lt;/option&gt; output, after &lt;literal&gt;&lt;replaceable&gt;programname&lt;/replaceable&gt; [OPTION...]&lt;/literal&gt;</doc>
<type name="utf8" c:type="char*"/>
</parameter>
<parameter name="entries" transfer-ownership="none" allow-none="1">
<doc xml:whitespace="preserve">a %NULL-terminated array of #GOptionEntry&lt;!-- --&gt;s describing the options of your program, or %NULL</doc>
<type name="GLib.OptionEntry" c:type="GOptionEntry*"/>
</parameter>
<parameter name="translation_domain"
transfer-ownership="none"
allow-none="1">
<doc xml:whitespace="preserve">a translation domain to use for translating the &lt;option&gt;--help&lt;/option&gt; output for the options in @entries with gettext(), or %NULL</doc>
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
</function>
<function name="texture_error_quark"
c:identifier="gtk_clutter_texture_error_quark">
<return-value transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
</function>
<function name="texture_new_from_icon_name"
c:identifier="gtk_clutter_texture_new_from_icon_name"
version="0.8"
introspectable="0">
<doc xml:whitespace="preserve">Creates a new #ClutterTexture and sets its contents to be
the @icon_name from the current icon theme.
was %NULL and @icon_name was not found.</doc>
<return-value>
<doc xml:whitespace="preserve">the newly created texture, or %NULL if @widget</doc>
<type name="Clutter.Actor" c:type="ClutterActor*"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkWidget or %NULL</doc>
<type name="Gtk.Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="icon_name" transfer-ownership="none">
<doc xml:whitespace="preserve">the name of the icon</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:whitespace="preserve">the size of the icon, or -1</doc>
<type name="Gtk.IconSize" c:type="GtkIconSize"/>
</parameter>
</parameters>
</function>
<function name="texture_new_from_pixbuf"
c:identifier="gtk_clutter_texture_new_from_pixbuf"
version="0.8"
introspectable="0">
<doc xml:whitespace="preserve">Creates a new #ClutterTexture and sets its contents with a copy
of @pixbuf.</doc>
<return-value>
<doc xml:whitespace="preserve">the newly created #ClutterTexture</doc>
<type name="Clutter.Actor" c:type="ClutterActor*"/>
</return-value>
<parameters>
<parameter name="pixbuf" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GdkPixbuf</doc>
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</function>
<function name="texture_new_from_stock"
c:identifier="gtk_clutter_texture_new_from_stock"
version="0.8"
introspectable="0">
<doc xml:whitespace="preserve">Creates a new #ClutterTexture and sets its contents using the stock
icon @stock_id as rendered by @widget.</doc>
<return-value>
<doc xml:whitespace="preserve">the newly created #ClutterTexture</doc>
<type name="Clutter.Actor" c:type="ClutterActor*"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkWidget</doc>
<type name="Gtk.Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="stock_id" transfer-ownership="none">
<doc xml:whitespace="preserve">the stock id of the icon</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:whitespace="preserve">the size of the icon, or -1</doc>
<type name="Gtk.IconSize" c:type="GtkIconSize"/>
</parameter>
</parameters>
</function>
<function name="texture_set_from_icon_name"
c:identifier="gtk_clutter_texture_set_from_icon_name"
version="0.8"
throws="1">
<doc xml:whitespace="preserve">Sets the contents of @texture using the @icon_name from the
current icon theme.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">%TRUE on success, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="texture" transfer-ownership="none">
<doc xml:whitespace="preserve">a #ClutterTexture</doc>
<type name="Clutter.Texture" c:type="ClutterTexture*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkWidget or %NULL</doc>
<type name="Gtk.Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="icon_name" transfer-ownership="none">
<doc xml:whitespace="preserve">the name of the icon</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:whitespace="preserve">the icon size or -1</doc>
<type name="Gtk.IconSize" c:type="GtkIconSize"/>
</parameter>
</parameters>
</function>
<function name="texture_set_from_pixbuf"
c:identifier="gtk_clutter_texture_set_from_pixbuf"
version="0.8"
throws="1">
<doc xml:whitespace="preserve">Sets the contents of @texture with a copy of @pixbuf.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">%TRUE on success, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="texture" transfer-ownership="none">
<doc xml:whitespace="preserve">a #ClutterTexture</doc>
<type name="Clutter.Texture" c:type="ClutterTexture*"/>
</parameter>
<parameter name="pixbuf" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GdkPixbuf</doc>
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
</parameter>
</parameters>
</function>
<function name="texture_set_from_stock"
c:identifier="gtk_clutter_texture_set_from_stock"
version="0.8"
throws="1">
<doc xml:whitespace="preserve">Sets the contents of @texture using the stock icon @stock_id, as
rendered by @widget.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">%TRUE on success, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="texture" transfer-ownership="none">
<doc xml:whitespace="preserve">a #ClutterTexture</doc>
<type name="Clutter.Texture" c:type="ClutterTexture*"/>
</parameter>
<parameter name="widget" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GtkWidget</doc>
<type name="Gtk.Widget" c:type="GtkWidget*"/>
</parameter>
<parameter name="stock_id" transfer-ownership="none">
<doc xml:whitespace="preserve">the stock id of the icon</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:whitespace="preserve">the size of the icon, or -1</doc>
<type name="Gtk.IconSize" c:type="GtkIconSize"/>
</parameter>
</parameters>
</function>
</namespace>
</repository>

View File

@ -19,5 +19,5 @@ LIBRARY: clutter.gtk
} cond
>>
GIR: vocab:clutter/gtk/GtkClutter-0.10.gir
GIR: GtkClutter-0.10.gir

File diff suppressed because it is too large Load Diff

View File

@ -19,5 +19,5 @@ LIBRARY: clutter.json
} cond
>>
GIR: vocab:clutter/json/Json-1.0.gir
GIR: Json-1.0.gir

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -18,5 +18,5 @@ LIBRARY: gstreamer.base
} cond
>>
GIR: vocab:gstreamer/base/GstBase-0.10.gir
GIR: GstBase-0.10.gir

File diff suppressed because it is too large Load Diff

View File

@ -18,5 +18,5 @@ LIBRARY: gstreamer.controller
} cond
>>
GIR: vocab:gstreamer/controller/GstController-0.10.gir
GIR: GstController-0.10.gir

View File

@ -34,5 +34,5 @@ FOREIGN-ATOMIC-TYPE: libxml2.NsPtr xmlNsPtr
PRIVATE>
GIR: vocab:gstreamer/Gst-0.10.gir
GIR: Gst-0.10.gir

View File

@ -1,299 +0,0 @@
<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository version="1.2"
xmlns="http://www.gtk.org/introspection/core/1.0"
xmlns:c="http://www.gtk.org/introspection/c/1.0"
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
<include name="GLib" version="2.0"/>
<include name="GModule" version="2.0"/>
<include name="GObject" version="2.0"/>
<include name="Gst" version="0.10"/>
<include name="libxml2" version="2.0"/>
<package name="gstreamer-net-0.10"/>
<c:include name="gst/net/gstnet.h"/>
<namespace name="GstNet"
version="0.10"
shared-library="libgstreamer-0.10.so.0,libgstnet-0.10.so.0"
c:identifier-prefixes="Gst"
c:symbol-prefixes="gst">
<constant name="NET_TIME_PACKET_SIZE" value="16">
<type name="gint" c:type="gint"/>
</constant>
<class name="NetClientClock"
c:symbol-prefix="net_client_clock"
c:type="GstNetClientClock"
parent="Gst.SystemClock"
glib:type-name="GstNetClientClock"
glib:get-type="gst_net_client_clock_get_type"
glib:type-struct="NetClientClockClass">
<doc xml:whitespace="preserve">Opaque #GstNetClientClock structure.</doc>
<constructor name="new" c:identifier="gst_net_client_clock_new">
<doc xml:whitespace="preserve">Create a new #GstNetClientClock that will report the time
provided by the #GstNetTimeProvider on @remote_address and
clock.</doc>
<return-value transfer-ownership="full">
<doc xml:whitespace="preserve">a new #GstClock that receives a time from the remote</doc>
<type name="Gst.Clock" c:type="GstClock*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:whitespace="preserve">a name for the clock</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="remote_address" transfer-ownership="none">
<doc xml:whitespace="preserve">the address of the remote clock provider</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="remote_port" transfer-ownership="none">
<doc xml:whitespace="preserve">the port of the remote clock provider</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="base_time" transfer-ownership="none">
<doc xml:whitespace="preserve">initial time of the clock</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</constructor>
<property name="address" writable="1" transfer-ownership="none">
<type name="utf8"/>
</property>
<property name="port" writable="1" transfer-ownership="none">
<type name="gint"/>
</property>
<field name="clock">
<type name="Gst.SystemClock" c:type="GstSystemClock"/>
</field>
<field name="address">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="port">
<type name="gint" c:type="gint"/>
</field>
<field name="sock">
<type name="gint" c:type="int"/>
</field>
<field name="control_sock">
<array zero-terminated="0" c:type="gint" fixed-size="2">
<type name="gint" c:type="int"/>
</array>
</field>
<field name="current_timeout">
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</field>
<field name="servaddr">
<type name="gpointer" c:type="gpointer*"/>
</field>
<field name="thread">
<type name="GLib.Thread" c:type="GThread*"/>
</field>
<field name="priv">
<type name="NetClientClockPrivate" c:type="GstNetClientClockPrivate*"/>
</field>
<field name="_gst_reserved">
<array zero-terminated="0" c:type="gpointer" fixed-size="3">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="NetClientClockClass"
c:type="GstNetClientClockClass"
glib:is-gtype-struct-for="NetClientClock">
<field name="parent_class">
<type name="Gst.SystemClockClass" c:type="GstSystemClockClass"/>
</field>
<field name="_gst_reserved">
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="NetClientClockPrivate"
c:type="GstNetClientClockPrivate"
disguised="1">
</record>
<record name="NetTimePacket" c:type="GstNetTimePacket">
<doc xml:whitespace="preserve">Content of a #GstNetTimePacket.</doc>
<field name="local_time" writable="1">
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</field>
<field name="remote_time" writable="1">
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</field>
<method name="send" c:identifier="gst_net_time_packet_send">
<doc xml:whitespace="preserve">Sends a #GstNetTimePacket over a socket. Essentially a thin wrapper around
sendto(2) and gst_net_time_packet_serialize().
MT safe.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">The return value of sendto(2).</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="fd" transfer-ownership="none">
<doc xml:whitespace="preserve">a file descriptor created by socket(2)</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="addr" transfer-ownership="none">
<doc xml:whitespace="preserve">a pointer to a sockaddr to hold the address of the sender</doc>
<type name="gpointer" c:type="gpointer*"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:whitespace="preserve">the size of the data pointed to by @addr</doc>
<type name="gint32" c:type="socklen_t"/>
</parameter>
</parameters>
</method>
<method name="serialize" c:identifier="gst_net_time_packet_serialize">
<doc xml:whitespace="preserve">Serialized a #GstNetTimePacket into a newly-allocated sequence of
#GST_NET_TIME_PACKET_SIZE bytes, in network byte order. The value returned is
suitable for passing to write(2) or sendto(2) for communication over the
network.
MT safe. Caller owns return value (g_free to free).</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">A newly allocated sequence of #GST_NET_TIME_PACKET_SIZE bytes.</doc>
<type name="guint8" c:type="guint8*"/>
</return-value>
</method>
</record>
<class name="NetTimeProvider"
c:symbol-prefix="net_time_provider"
c:type="GstNetTimeProvider"
parent="Gst.Object"
glib:type-name="GstNetTimeProvider"
glib:get-type="gst_net_time_provider_get_type"
glib:type-struct="NetTimeProviderClass">
<doc xml:whitespace="preserve">Opaque #GstNetTimeProvider structure.</doc>
<constructor name="new" c:identifier="gst_net_time_provider_new">
<doc xml:whitespace="preserve">Allows network clients to get the current time of @clock.</doc>
<return-value transfer-ownership="full">
<doc xml:whitespace="preserve">the new #GstNetTimeProvider, or NULL on error</doc>
<type name="NetTimeProvider" c:type="GstNetTimeProvider*"/>
</return-value>
<parameters>
<parameter name="clock" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstClock to export over the network</doc>
<type name="Gst.Clock" c:type="GstClock*"/>
</parameter>
<parameter name="address" transfer-ownership="none">
<doc xml:whitespace="preserve">an address to bind on as a dotted quad (xxx.xxx.xxx.xxx), or NULL to bind to all addresses</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="port" transfer-ownership="none">
<doc xml:whitespace="preserve">a port to bind on, or 0 to let the kernel choose</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</constructor>
<property name="active" writable="1" transfer-ownership="none">
<type name="gboolean"/>
</property>
<property name="address" writable="1" transfer-ownership="none">
<type name="utf8"/>
</property>
<property name="clock" writable="1" transfer-ownership="none">
<type name="Gst.Clock"/>
</property>
<property name="port" writable="1" transfer-ownership="none">
<type name="gint"/>
</property>
<field name="parent">
<type name="Gst.Object" c:type="GstObject"/>
</field>
<field name="address">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="port">
<type name="gint" c:type="int"/>
</field>
<field name="sock">
<type name="gint" c:type="int"/>
</field>
<field name="control_sock">
<array zero-terminated="0" c:type="gint" fixed-size="2">
<type name="gint" c:type="int"/>
</array>
</field>
<field name="thread">
<type name="GLib.Thread" c:type="GThread*"/>
</field>
<field name="clock">
<type name="Gst.Clock" c:type="GstClock*"/>
</field>
<union name="active" c:type="active">
<field name="_gst_reserved1" writable="1">
<type name="gpointer" c:type="gpointer"/>
</field>
<field name="active" writable="1">
<type name="gint" c:type="gint"/>
</field>
</union>
<field name="priv">
<type name="NetTimeProviderPrivate"
c:type="GstNetTimeProviderPrivate*"/>
</field>
<field name="_gst_reserved">
<array zero-terminated="0" c:type="gpointer" fixed-size="2">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="NetTimeProviderClass"
c:type="GstNetTimeProviderClass"
glib:is-gtype-struct-for="NetTimeProvider">
<field name="parent_class">
<type name="Gst.ObjectClass" c:type="GstObjectClass"/>
</field>
</record>
<record name="NetTimeProviderPrivate"
c:type="GstNetTimeProviderPrivate"
disguised="1">
</record>
<function name="net_time_packet_new"
c:identifier="gst_net_time_packet_new"
introspectable="0">
<doc xml:whitespace="preserve">Creates a new #GstNetTimePacket from a buffer received over the network. The
caller is responsible for ensuring that @buffer is at least
#GST_NET_TIME_PACKET_SIZE bytes long.
If @buffer is #NULL, the local and remote times will be set to
#GST_CLOCK_TIME_NONE.
MT safe. Caller owns return value (g_free to free).</doc>
<return-value>
<doc xml:whitespace="preserve">The new #GstNetTimePacket.</doc>
<type name="NetTimePacket" c:type="GstNetTimePacket*"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:whitespace="preserve">a buffer from which to construct the packet, or NULL</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
</parameters>
</function>
<function name="net_time_packet_receive"
c:identifier="gst_net_time_packet_receive"
introspectable="0">
<doc xml:whitespace="preserve">Receives a #GstNetTimePacket over a socket. Handles interrupted system calls,
but otherwise returns NULL on error. See recvfrom(2) for more information on
how to interpret @sockaddr.
MT safe. Caller owns return value (g_free to free).</doc>
<return-value>
<doc xml:whitespace="preserve">The new #GstNetTimePacket.</doc>
<type name="NetTimePacket" c:type="GstNetTimePacket*"/>
</return-value>
<parameters>
<parameter name="fd" transfer-ownership="none">
<doc xml:whitespace="preserve">a file descriptor created by socket(2)</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="addr" transfer-ownership="none">
<doc xml:whitespace="preserve">a pointer to a sockaddr to hold the address of the sender</doc>
<type name="gpointer" c:type="gpointer*"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:whitespace="preserve">a pointer to the size of the data pointed to by @addr</doc>
<type name="gint32" c:type="socklen_t*"/>
</parameter>
</parameters>
</function>
</namespace>
</repository>

View File

@ -18,5 +18,5 @@ LIBRARY: gstreamer.net
} cond
>>
GIR: vocab:gstreamer/net/GstNet-0.10.gir
GIR: GstNet-0.10.gir