From 479304d0a7c25319ef6b225dba65a60f62074506 Mon Sep 17 00:00:00 2001 From: Anton Gorenko Date: Sun, 6 Mar 2011 14:06:00 +0600 Subject: [PATCH 1/6] gobject-introspection: clean up; --- .../common/common.factor | 5 ++++- basis/gobject-introspection/ffi/ffi.factor | 17 +++++----------- .../loader/loader.factor | 20 +++++++++++++++---- .../repository/repository.factor | 3 ++- 4 files changed, 27 insertions(+), 18 deletions(-) diff --git a/basis/gobject-introspection/common/common.factor b/basis/gobject-introspection/common/common.factor index 4a88268878..1c8ad490e0 100644 --- a/basis/gobject-introspection/common/common.factor +++ b/basis/gobject-introspection/common/common.factor @@ -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? ; diff --git a/basis/gobject-introspection/ffi/ffi.factor b/basis/gobject-introspection/ffi/ffi.factor index 3b56c78a2a..82a1d638dd 100644 --- a/basis/gobject-introspection/ffi/ffi.factor +++ b/basis/gobject-introspection/ffi/ffi.factor @@ -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 ; : 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 ] diff --git a/basis/gobject-introspection/loader/loader.factor b/basis/gobject-introspection/loader/loader.factor index aedd07231a..8e17fa5973 100644 --- a/basis/gobject-introspection/loader/loader.factor +++ b/basis/gobject-introspection/loader/loader.factor @@ -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 diff --git a/basis/gobject-introspection/repository/repository.factor b/basis/gobject-introspection/repository/repository.factor index 87ebcb1308..676e2b296f 100644 --- a/basis/gobject-introspection/repository/repository.factor +++ b/basis/gobject-introspection/repository/repository.factor @@ -46,7 +46,8 @@ TUPLE: alias TUPLE: const name value - type ; + type + c-identifier ; TUPLE: type name From 1dcb49b0d4128e080b346a1187b24e558db7bc88 Mon Sep 17 00:00:00 2001 From: Anton Gorenko Date: Wed, 9 Mar 2011 15:37:48 +0600 Subject: [PATCH 2/6] gobject-introspection: GIR: tries to find .gir in a current vocabulary's directory, in system gir-1.0 (/usr/share/gir-1.0, /usr/local/share/gir-1.0) or user-defined (GIR_DIRS env. variable) directories; --- .../gobject-introspection.factor | 42 ++++++++++++++++--- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/basis/gobject-introspection/gobject-introspection.factor b/basis/gobject-introspection/gobject-introspection.factor index 00ef41eefb..e2c000348f 100755 --- a/basis/gobject-introspection/gobject-introspection.factor +++ b/basis/gobject-introspection/gobject-introspection.factor @@ -1,15 +1,47 @@ ! 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 ; + 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-dirs ( -- dirs ) + [ + current-vocab vocab-name "." split "/" join dup , + dup file-name "ffi" = [ parent-directory , ] [ drop ] if + ] { } 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 ] From 6c6fc9fe7b0e7ece1afdc18a43cfbff6a5ca4f9f Mon Sep 17 00:00:00 2001 From: Anton Gorenko Date: Wed, 9 Mar 2011 15:50:14 +0600 Subject: [PATCH 3/6] gobject-introspection: add gsize and gssize standard types; --- .../standard-types/standard-types.factor | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/basis/gobject-introspection/standard-types/standard-types.factor b/basis/gobject-introspection/standard-types/standard-types.factor index 53f1d1f85c..67398e3928 100644 --- a/basis/gobject-introspection/standard-types/standard-types.factor +++ b/basis/gobject-introspection/standard-types/standard-types.factor @@ -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 From 6d09bc9b07ef939935c15e496345cc9a9f4e11f0 Mon Sep 17 00:00:00 2001 From: Anton Gorenko Date: Tue, 15 Mar 2011 22:38:51 +0600 Subject: [PATCH 4/6] gobject-introspection: fix incorrect resolving of current vocab's path; clutter: remove all girs, add Cally; --- .../gobject-introspection.factor | 7 +- extra/clutter/Clutter-1.0.gir | 40940 ---------------- extra/clutter/cally/cally.factor | 5 + extra/clutter/cally/ffi/ffi.factor | 23 + extra/clutter/cogl/Cogl-1.0.gir | 7107 --- extra/clutter/cogl/ffi/ffi.factor | 2 +- extra/clutter/ffi/ffi.factor | 2 +- extra/clutter/gtk/GtkClutter-0.10.gir | 912 - extra/clutter/gtk/ffi/ffi.factor | 2 +- extra/clutter/json/Json-1.0.gir | 2925 -- extra/clutter/json/ffi/ffi.factor | 2 +- 11 files changed, 37 insertions(+), 51890 deletions(-) delete mode 100644 extra/clutter/Clutter-1.0.gir create mode 100644 extra/clutter/cally/cally.factor create mode 100644 extra/clutter/cally/ffi/ffi.factor delete mode 100644 extra/clutter/cogl/Cogl-1.0.gir delete mode 100644 extra/clutter/gtk/GtkClutter-0.10.gir delete mode 100644 extra/clutter/json/Json-1.0.gir diff --git a/basis/gobject-introspection/gobject-introspection.factor b/basis/gobject-introspection/gobject-introspection.factor index e2c000348f..5d02cc7966 100755 --- a/basis/gobject-introspection/gobject-introspection.factor +++ b/basis/gobject-introspection/gobject-introspection.factor @@ -24,10 +24,13 @@ M: gir-not-found summary : 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 vocab-name "." split "/" join dup , - dup file-name "ffi" = [ parent-directory , ] [ drop ] if + current-vocab-path + [ , ] [ "/ffi" ?tail [ , ] [ drop ] if ] bi ] { } make ; :: resolve-gir-path ( path -- path ) diff --git a/extra/clutter/Clutter-1.0.gir b/extra/clutter/Clutter-1.0.gir deleted file mode 100644 index e8fc46fe3f..0000000000 --- a/extra/clutter/Clutter-1.0.gir +++ /dev/null @@ -1,40940 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The <structname>ClutterAction</structname> structure contains only -private data and should be accessed using the provided API - - - - - - The <structname>ClutterActionClass</structname> structure contains -only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Base class for actors. - - - - - Called by the parent of an actor to assign the actor its size. -Should never be called by applications (except when implementing -a container or layout manager). -Actors can know from their allocation box whether they have moved -with respect to their parent actor. The @flags parameter describes -additional information about the allocation, for instance whether -the parent has moved with respect to the stage, for example because -a grandparent's origin has moved. - - - - - - new allocation of the actor, in parent-relative coordinates - - - - flags that control the allocation - - - - - - - - - - - - - - - - Returns the accessible object that describes the actor to an -assistive technology. -If no class-specific #AtkObject implementation is available for the -actor instance in question, it will inherit an #AtkObject -implementation from the first ancestor class for which such an -implementation is defined. -The documentation of the <ulink -url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink> -library contains more information about accessible objects and -their uses. - - the #AtkObject associated with @actor - - - - - Computes the requested minimum and natural heights for an actor, -or if they are already computed, returns the cached values. -An actor may not get its request - depending on the layout -manager that's in effect. -A request should not incorporate the actor's scale or anchor point; -those transformations do not affect layout, only rendering. - - - - - - available width to assume in computing desired height, or a negative value to indicate that no width is defined - - - - return location for minimum height, or %NULL - - - - return location for natural height, or %NULL - - - - - - Computes the requested minimum and natural widths for an actor, -optionally depending on the specified height, or if they are -already computed, returns the cached values. -An actor may not get its request - depending on the layout -manager that's in effect. -A request should not incorporate the actor's scale or anchor point; -those transformations do not affect layout, only rendering. - - - - - - available height when computing the preferred width, or a negative value to indicate that no height is defined - - - - return location for minimum width, or %NULL - - - - return location for the natural width, or %NULL - - - - - - Calls clutter_actor_hide() on all child actors (if any). - - - - - - Sets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly maps -and realizes its children if they are visible. Does nothing if the -actor is not visible. -#ClutterActor <function>map()</function> virtual function in an actor -and you need to map the children of that actor. It is not necessary -to call this if you implement #ClutterContainer because the default -implementation will automatically map children of containers. -When overriding map, it is mandatory to chain up to the parent -implementation. - - - - - - Calls clutter_actor_show() on all children of an actor (if any). - - - - - - Unsets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly -unmaps its children if they were mapped. -#ClutterActor <function>unmap()</function> virtual function in an actor -and you need to unmap the children of that actor. It is not necessary -to call this if you implement #ClutterContainer because the default -implementation will automatically unmap children of containers. -When overriding unmap, it is mandatory to chain up to the parent -implementation. - - - - - - Adds @action to the list of actions applied to @self -A #ClutterAction can only belong to one actor at a time -The #ClutterActor will hold a reference on @action until either -clutter_actor_remove_action() or clutter_actor_clear_actions() -is called - - - - - - a #ClutterAction - - - - - - A convenience function for setting the name of a #ClutterAction -while adding it to the list of actions applied to @self -This function is the logical equivalent of: -|[ -clutter_actor_meta_set_name (CLUTTER_ACTOR_META (action), name); -clutter_actor_add_action (self, action); -]| - - - - - - the name to set on the action - - - - a #ClutterAction - - - - - - Adds @constraint to the list of #ClutterConstraint<!-- -->s applied -to @self -The #ClutterActor will hold a reference on the @constraint until -either clutter_actor_remove_constraint() or -clutter_actor_clear_constraints() is called. - - - - - - a #ClutterConstraint - - - - - - A convenience function for setting the name of a #ClutterConstraint -while adding it to the list of constraints applied to @self -This function is the logical equivalent of: -|[ -clutter_actor_meta_set_name (CLUTTER_ACTOR_META (constraint), name); -clutter_actor_add_constraint (self, constraint); -]| - - - - - - the name to set on the constraint - - - - a #ClutterConstraint - - - - - - Adds @effect to the list of #ClutterEffect<!-- -->s applied to @self -The #ClutterActor will hold a reference on the @effect until either -clutter_actor_remove_effect() or clutter_actor_clear_effects() is -called. - - - - - - a #ClutterEffect - - - - - - A convenience function for setting the name of a #ClutterEffect -while adding it to the list of effectss applied to @self -This function is the logical equivalent of: -|[ -clutter_actor_meta_set_name (CLUTTER_ACTOR_META (effect), name); -clutter_actor_add_effect (self, effect); -]| - - - - - - the name to set on the effect - - - - a #ClutterEffect - - - - - - Called by the parent of an actor to assign the actor its size. -Should never be called by applications (except when implementing -a container or layout manager). -Actors can know from their allocation box whether they have moved -with respect to their parent actor. The @flags parameter describes -additional information about the allocation, for instance whether -the parent has moved with respect to the stage, for example because -a grandparent's origin has moved. - - - - - - new allocation of the actor, in parent-relative coordinates - - - - flags that control the allocation - - - - - - Allocates @self by taking into consideration the available allocation -area; an alignment factor on either axis; and whether the actor should -fill the allocation on either axis. -The @box should contain the available allocation width and height; -if the x1 and y1 members of #ClutterActorBox are not set to 0, the -allocation will be offset by their value. -This function takes into consideration the geometry request specified by -the #ClutterActor:request-mode property, and the text direction. -This function is useful for fluid layout managers, like #ClutterBinLayout -or #ClutterTableLayout - - - - - - a #ClutterActorBox, containing the available width and height - - - - the horizontal alignment, between 0 and 1 - - - - the vertical alignment, between 0 and 1 - - - - whether the actor should fill horizontally - - - - whether the actor should fill vertically - - - - allocation flags to be passed to clutter_actor_allocate() - - - - - - Allocates @self taking into account the #ClutterActor<!-- -->'s -preferred size, but limiting it to the maximum available width -and height provided. -This function will do the right thing when dealing with the -actor's request mode. -The implementation of this function is equivalent to: -|[ -if (request_mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH) -{ -clutter_actor_get_preferred_width (self, available_height, -&amp;min_width, -&amp;natural_width); -width = CLAMP (natural_width, min_width, available_width); -clutter_actor_get_preferred_height (self, width, -&amp;min_height, -&amp;natural_height); -height = CLAMP (natural_height, min_height, available_height); -} -else -{ -clutter_actor_get_preferred_height (self, available_width, -&amp;min_height, -&amp;natural_height); -height = CLAMP (natural_height, min_height, available_height); -clutter_actor_get_preferred_width (self, height, -&amp;min_width, -&amp;natural_width); -width = CLAMP (natural_width, min_width, available_width); -} -box.x1 = x; box.y1 = y; -box.x2 = box.x1 + available_width; -box.y2 = box.y1 + available_height; -clutter_actor_allocate (self, &amp;box, flags); -]| -This function can be used by fluid layout managers to allocate -an actor's preferred size without making it bigger than the area -available for the container. - - - - - - the actor's X coordinate - - - - the actor's Y coordinate - - - - the maximum available width, or -1 to use the actor's natural width - - - - the maximum available height, or -1 to use the actor's natural height - - - - flags controlling the allocation - - - - - - Allocates the natural size of @self. -This function is a utility call for #ClutterActor implementations -that allocates the actor's preferred natural size. It can be used -by fixed layout managers (like #ClutterGroup or so called -'composite actors') inside the ClutterActor::allocate -implementation to give each child exactly how much space it -requires. -This function is not meant to be used by applications. It is also -not meant to be used outside the implementation of the -ClutterActor::allocate virtual function. - - - - - - flags controlling the allocation - - - - - - Animates the given list of properties of @actor between the current -value for each property and a new final value. The animation has a -definite duration and a speed given by the @mode. -For example, this: -|[ -clutter_actor_animate (rectangle, CLUTTER_LINEAR, 250, -"width", 100.0, -"height", 100.0, -NULL); -]| -will make width and height properties of the #ClutterActor "rectangle" -grow linearly between the current value and 100 pixels, in 250 milliseconds. -The animation @mode is a logical id, either from the #ClutterAnimationMode -enumeration of from clutter_alpha_register_func(). -All the properties specified will be animated between the current value -and the final value. If a property should be set at the beginning of -the animation but not updated during the animation, it should be prefixed -by the "fixed::" string, for instance: -|[ -clutter_actor_animate (actor, CLUTTER_EASE_IN_SINE, 100, -"rotation-angle-z", 360.0, -"fixed::rotation-center-z", &amp;center, -NULL); -]| -Will animate the "rotation-angle-z" property between the current value -and 360 degrees, and set the "rotation-center-z" property to the fixed -value of the #ClutterVertex "center". -This function will implicitly create a #ClutterAnimation object which -will be assigned to the @actor and will be returned to the developer -to control the animation or to know when the animation has been -completed. -If a name argument starts with "signal::", "signal-after::", -"signal-swapped::" or "signal-swapped-after::" the two following arguments -are used as callback function and data for a signal handler installed on -the #ClutterAnimation object for the specified signal name, for instance: -|[ -static void -on_animation_completed (ClutterAnimation *animation, -ClutterActor *actor) -{ -clutter_actor_hide (actor); -} -clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100, -"opacity", 0, -"signal::completed", on_animation_completed, actor, -NULL); -]| -or, to automatically destroy an actor at the end of the animation: -|[ -clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100, -"opacity", 0, -"signal-swapped-after::completed", -clutter_actor_destroy, -actor, -NULL); -]| -The "signal::" modifier is the equivalent of using g_signal_connect(); -the "signal-after::" modifier is the equivalent of using -g_signal_connect_after() or g_signal_connect_data() with the -%G_CONNECT_AFTER; the "signal-swapped::" modifier is the equivalent -of using g_signal_connect_swapped() or g_signal_connect_data() with the -%G_CONNECT_SWAPPED flah; finally, the "signal-swapped-after::" modifier -is the equivalent of using g_signal_connect_data() with both the -%G_CONNECT_AFTER and %G_CONNECT_SWAPPED flags. The clutter_actor_animate() -function will not keep track of multiple connections to the same signal, -so it is your responsability to avoid them when calling -clutter_actor_animate() multiple times on the same actor. -Calling this function on an actor that is already being animated -will cause the current animation to change with the new final values, -the new easing mode and the new duration - that is, this code: -|[ -clutter_actor_animate (actor, CLUTTER_LINEAR, 250, -"width", 100.0, -"height", 100.0, -NULL); -clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500, -"x", 100.0, -"y", 100.0, -"width", 200.0, -NULL); -]| -is the equivalent of: -|[ -clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500, -"x", 100.0, -"y", 100.0, -"width", 200.0, -"height", 100.0, -NULL); -]| -<note>Unless the animation is looping, the #ClutterAnimation created by -clutter_actor_animate() will become invalid as soon as it is -complete.</note> -Since the created #ClutterAnimation instance attached to @actor -is guaranteed to be valid throughout the #ClutterAnimation::completed -signal emission chain, you will not be able to create a new animation -using clutter_actor_animate() on the same @actor from within the -#ClutterAnimation::completed signal handler unless you use -g_signal_connect_after() to connect the callback function, for instance: -|[ -static void -on_animation_completed (ClutterAnimation *animation, -ClutterActor *actor) -{ -clutter_actor_animate (actor, CLUTTER_EASE_OUT_CUBIC, 250, -"x", 500.0, -"y", 500.0, -NULL); -} -... -animation = clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 250, -"x", 100.0, -"y", 100.0, -NULL); -g_signal_connect (animation, "completed", -G_CALLBACK (on_animation_completed), -actor); -... -]| -owned by the #ClutterActor and should not be unreferenced with -g_object_unref() - - a #ClutterAnimation object. The object is - - - - - an animation mode logical id - - - - duration of the animation, in milliseconds - - - - the name of a property - - - - - - - - - - Animates the given list of properties of @actor between the current -value for each property and a new final value. The animation has a -definite behaviour given by the passed @alpha. -See clutter_actor_animate() for further details. -This function is useful if you want to use an existing #ClutterAlpha -to animate @actor. -#ClutterActor and should not be unreferenced with g_object_unref() - - a #ClutterAnimation object. The object is owned by the - - - - - a #ClutterAlpha - - - - the name of a property - - - - - - - - - - Animates the given list of properties of @actor between the current -value for each property and a new final value. The animation has a -definite behaviour given by the passed @alpha. -See clutter_actor_animate() for further details. -This function is useful if you want to use an existing #ClutterAlpha -to animate @actor. -This is the vector-based variant of clutter_actor_animate_with_alpha(), -useful for language bindings. -<warning>Unlike clutter_actor_animate_with_alpha(), this function will -not allow you to specify "signal::" names and callbacks.</warning> -#ClutterActor and should not be unreferenced with g_object_unref() - - a #ClutterAnimation object. The object is owned by the - - - - - a #ClutterAlpha - - - - number of property names and values - - - - a vector containing the property names to set - - - - - - a vector containing the property values to set - - - - - - - - Animates the given list of properties of @actor between the current -value for each property and a new final value. The animation has a -definite duration given by @timeline and a speed given by the @mode. -See clutter_actor_animate() for further details. -This function is useful if you want to use an existing timeline -to animate @actor. -owned by the #ClutterActor and should not be unreferenced with -g_object_unref() - - a #ClutterAnimation object. The object is - - - - - an animation mode logical id - - - - a #ClutterTimeline - - - - the name of a property - - - - - - - - - - Animates the given list of properties of @actor between the current -value for each property and a new final value. The animation has a -definite duration given by @timeline and a speed given by the @mode. -See clutter_actor_animate() for further details. -This function is useful if you want to use an existing timeline -to animate @actor. -This is the vector-based variant of clutter_actor_animate_with_timeline(), -useful for language bindings. -<warning>Unlike clutter_actor_animate_with_timeline(), this function -will not allow you to specify "signal::" names and callbacks.</warning> -owned by the #ClutterActor and should not be unreferenced with -g_object_unref() - - a #ClutterAnimation object. The object is - - - - - an animation mode logical id - - - - a #ClutterTimeline - - - - number of property names and values - - - - a vector containing the property names to set - - - - - - a vector containing the property values to set - - - - - - - - Animates the given list of properties of @actor between the current -value for each property and a new final value. The animation has a -definite duration and a speed given by the @mode. -This is the vector-based variant of clutter_actor_animate(), useful -for language bindings. -<warning>Unlike clutter_actor_animate(), this function will not -allow you to specify "signal::" names and callbacks.</warning> -owned by the #ClutterActor and should not be unreferenced with -g_object_unref() - - a #ClutterAnimation object. The object is - - - - - an animation mode logical id - - - - duration of the animation, in milliseconds - - - - number of property names and values - - - - a vector containing the property names to set - - - - - - a vector containing the property values to set - - - - - - - - Transforms @point in coordinates relative to the actor into -ancestor-relative coordinates using the relevant transform -stack (i.e. scale, rotation, etc). -If @ancestor is %NULL the ancestor will be the #ClutterStage. In -this case, the coordinates returned will be the coordinates on -the stage before the projection is applied. This is different from -the behaviour of clutter_actor_apply_transform_to_point(). - - - - - - A #ClutterActor ancestor, or %NULL to use the default #ClutterStage - - - - A point as #ClutterVertex - - - - The translated #ClutterVertex - - - - - - Transforms @point in coordinates relative to the actor -into screen-relative coordinates with the current actor -transformation (i.e. scale, rotation, etc) - - - - - - A point as #ClutterVertex - - - - The translated #ClutterVertex - - - - - - Clears the list of actions applied to @self - - - - - - Clears the list of constraints applied to @self - - - - - - Clears the list of effects applied to @self - - - - - - Determines if @descendant is contained inside @self (either as an -immediate child, or as a deeper descendant). - - whether @descendent is contained within @self - - - - - A #ClutterActor, possibly contained in @self - - - - - - Creates a #PangoContext for the given actor. The #PangoContext -is already configured using the appropriate font map, resolution -and font options. -See also clutter_actor_get_pango_context(). -Use g_object_unref() on the returned value to deallocate its -resources - - the newly created #PangoContext. - - - - - Creates a new #PangoLayout from the same #PangoContext used -by the #ClutterActor. The #PangoLayout is already configured -with the font map, resolution and font options, and the -given @text. -If you want to keep around a #PangoLayout created by this -function you will have to connect to the #ClutterBackend::font-changed -and #ClutterBackend::resolution-changed signals, and call -pango_layout_context_changed() in response to them. -Use g_object_unref() when done - - the newly created #PangoLayout. - - - - - (allow-none) the text to set on the #PangoLayout, or %NULL - - - - - - Destroys an actor. When an actor is destroyed, it will break any -references it holds to other objects. If the actor is inside a -container, the actor will be removed. -When you destroy a container, its children will be destroyed as well. -clutter_stage_get_default(). - - - - - - Detaches the #ClutterAnimation used by @actor, if clutter_actor_animate() -has been called on @actor. -Once the animation has been detached, it loses a reference. If it was -the only reference then the #ClutterAnimation becomes invalid. -The #ClutterAnimation::completed signal will not be emitted. - - - - - - This function is used to emit an event on the main stage. -You should rarely need to use this function, except for -synthetising events. -if the actor handled the event, or %FALSE if the event was -not handled - - the return value from the signal emission: %TRUE - - - - - a #ClutterEvent - - - - TRUE if event in in capture phase, FALSE otherwise. - - - - - - Calculates the transformed screen coordinates of the four corners of -the actor; the returned vertices relate to the #ClutterActorBox -coordinates as follows: -<itemizedlist> -<listitem><para>v[0] contains (x1, y1)</para></listitem> -<listitem><para>v[1] contains (x2, y1)</para></listitem> -<listitem><para>v[2] contains (x1, y2)</para></listitem> -<listitem><para>v[3] contains (x2, y2)</para></listitem> -</itemizedlist> - - - - - - Pointer to a location of an array of 4 #ClutterVertex where to store the result. - - - - - - - - Returns the accessible object that describes the actor to an -assistive technology. -If no class-specific #AtkObject implementation is available for the -actor instance in question, it will inherit an #AtkObject -implementation from the first ancestor class for which such an -implementation is defined. -The documentation of the <ulink -url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink> -library contains more information about accessible objects and -their uses. - - the #AtkObject associated with @actor - - - - - Retrieves the #ClutterAction with the given name in the list -of actions applied to @self -name, or %NULL. The returned #ClutterAction is owned by the -actor and it should not be unreferenced directly - - a #ClutterAction for the given - - - - - the name of the action to retrieve - - - - - - Retrieves the list of actions applied to @self -of the list of #ClutterAction<!-- -->s. The contents of the list are -owned by the #ClutterActor. Use g_list_free() to free the resources -allocated by the returned #GList - - a copy - - - - - - - Gets the layout box an actor has been assigned. The allocation can -only be assumed valid inside a paint() method; anywhere else, it -may be out-of-date. -An allocation does not incorporate the actor's scale or anchor point; -those transformations do not affect layout, only rendering. -<note>Do not call any of the clutter_actor_get_allocation_*() family -of functions inside the implementation of the get_preferred_width() -or get_preferred_height() virtual functions.</note> - - - - - - the function fills this in with the actor's allocation - - - - - - Gets the layout box an actor has been assigned. The allocation can -only be assumed valid inside a paint() method; anywhere else, it -may be out-of-date. -An allocation does not incorporate the actor's scale or anchor point; -those transformations do not affect layout, only rendering. -The returned rectangle is in pixels. - - - - - - allocation geometry in pixels - - - - - - Calculates the transformed coordinates of the four corners of the -actor in the plane of @ancestor. The returned vertices relate to -the #ClutterActorBox coordinates as follows: -<itemizedlist> -<listitem><para>@verts[0] contains (x1, y1)</para></listitem> -<listitem><para>@verts[1] contains (x2, y1)</para></listitem> -<listitem><para>@verts[2] contains (x1, y2)</para></listitem> -<listitem><para>@verts[3] contains (x2, y2)</para></listitem> -</itemizedlist> -If @ancestor is %NULL the ancestor will be the #ClutterStage. In -this case, the coordinates returned will be the coordinates on -the stage before the projection is applied. This is different from -the behaviour of clutter_actor_get_abs_allocation_vertices(). - - - - - - A #ClutterActor to calculate the vertices against, or %NULL to use the #ClutterStage - - - - return location for an array of 4 #ClutterVertex in which to store the result - - - - - - - - Gets the current anchor point of the @actor in pixels. - - - - - - return location for the X coordinate of the anchor point - - - - return location for the Y coordinate of the anchor point - - - - - - Retrieves the anchor position expressed as a #ClutterGravity. If -the anchor point was specified using pixels or units this will -return %CLUTTER_GRAVITY_NONE. - - the #ClutterGravity used by the anchor point - - - - - Retrieves the #ClutterAnimation used by @actor, if clutter_actor_animate() -has been called on @actor. - - a #ClutterAnimation, or %NULL - - - - - Gets the clip area for @self, if any is set - - - - - - return location for the X offset of the clip rectangle, or %NULL - - - - return location for the Y offset of the clip rectangle, or %NULL - - - - return location for the width of the clip rectangle, or %NULL - - - - return location for the height of the clip rectangle, or %NULL - - - - - - Retrieves the value set using clutter_actor_set_clip_to_allocation() - - %TRUE if the #ClutterActor is clipped to its allocation - - - - - Retrieves the #ClutterConstraint with the given name in the list -of constraints applied to @self -name, or %NULL. The returned #ClutterConstraint is owned by the -actor and it should not be unreferenced directly - - a #ClutterConstraint for the given - - - - - the name of the constraint to retrieve - - - - - - Retrieves the list of constraints applied to @self -of the list of #ClutterConstraint<!-- -->s. The contents of the list are -owned by the #ClutterActor. Use g_list_free() to free the resources -allocated by the returned #GList - - a copy - - - - - - - Retrieves the depth of @self. - - the depth of the actor - - - - - Retrieves the #ClutterEffect with the given name in the list -of effects applied to @self -name, or %NULL. The returned #ClutterEffect is owned by the -actor and it should not be unreferenced directly - - a #ClutterEffect for the given - - - - - the name of the effect to retrieve - - - - - - Retrieves the #ClutterEffect<!-- -->s applied on @self, if any -of #ClutterEffect<!-- -->s, or %NULL. The elements of the returned -list are owned by Clutter and they should not be freed. You should -free the returned list using g_list_free() when done - - a list - - - - - - - Checks whether an actor has a fixed position set (and will thus be -unaffected by any layout manager). - - %TRUE if the fixed position is set on the actor - - - - - Retrieves the flags set on @self - - a bitwise or of #ClutterActorFlags or 0 - - - - - Gets the size and position of an actor relative to its parent -actor. This is the same as calling clutter_actor_get_position() and -clutter_actor_get_size(). It tries to "do what you mean" and get the -requested size and position if the actor's allocation is invalid. - - - - - - A location to store actors #ClutterGeometry - - - - - - Retrieves the unique id for @self. - - Globally unique value for this object instance. - - - - - Retrieves the height of a #ClutterActor. -If the actor has a valid allocation, this function will return the -height of the allocated area given to the actor. -If the actor does not have a valid allocation, this function will -return the actor's natural height, that is the preferred height of -the actor. -If you care whether you get the preferred height or the height that -has been assigned to the actor, you should probably call a different -function like clutter_actor_get_allocation_box() to retrieve the -allocated size or clutter_actor_get_preferred_height() to retrieve the -preferred height. -If an actor has a fixed height, for instance a height that has been -assigned using clutter_actor_set_height(), the height returned will -be the same value. - - the height of the actor, in pixels - - - - - Retrieves the name of @self. -owned by the actor and should not be modified or freed. - - the name of the actor, or %NULL. The returned string is - - - - - Retrieves the opacity value of an actor, as set by -clutter_actor_set_opacity(). -For retrieving the absolute opacity of the actor inside a paint -virtual function, see clutter_actor_get_paint_opacity(). - - the opacity of the actor - - - - - Retrieves the absolute opacity of the actor, as it appears on the stage. -This function traverses the hierarchy chain and composites the opacity of -the actor with that of its parents. -This function is intended for subclasses to use in the paint virtual -function, to paint themselves with the correct opacity. - - The actor opacity value. - - - - - Retrieves the 'paint' visibility of an actor recursively checking for non -visible parents. -This is by definition the same as CLUTTER_ACTOR_IS_MAPPED(). - - TRUE if the actor is visibile and will be painted. - - - - - Retrieves the #PangoContext for @self. The actor's #PangoContext -is already configured using the appropriate font map, resolution -and font options. -Unlike clutter_actor_create_pango_context(), this context is owend -by the #ClutterActor and it will be updated each time the options -stored by the #ClutterBackend change. -You can use the returned #PangoContext to create a #PangoLayout -and render text using cogl_pango_render_layout() to reuse the -glyphs cache also used by Clutter. -The returned #PangoContext is owned by the actor and should not be -unreferenced by the application code - - the #PangoContext for a #ClutterActor. - - - - - Retrieves the parent of @self. -if no parent is set - - The #ClutterActor parent, or %NULL - - - - - This function tries to "do what you mean" and tell you where the -actor is, prior to any transformations. Retrieves the fixed -position of an actor in pixels, if one has been set; otherwise, if -the allocation is valid, returns the actor's allocated position; -otherwise, returns 0,0. -The returned position is in pixels. - - - - - - return location for the X coordinate, or %NULL - - - - return location for the Y coordinate, or %NULL - - - - - - Computes the requested minimum and natural heights for an actor, -or if they are already computed, returns the cached values. -An actor may not get its request - depending on the layout -manager that's in effect. -A request should not incorporate the actor's scale or anchor point; -those transformations do not affect layout, only rendering. - - - - - - available width to assume in computing desired height, or a negative value to indicate that no width is defined - - - - return location for minimum height, or %NULL - - - - return location for natural height, or %NULL - - - - - - Computes the preferred minimum and natural size of an actor, taking into -account the actor's geometry management (either height-for-width -or width-for-height). -The width and height used to compute the preferred height and preferred -width are the actor's natural ones. -If you need to control the height for the preferred width, or the width for -the preferred height, you should use clutter_actor_get_preferred_width() -and clutter_actor_get_preferred_height(), and check the actor's preferred -geometry management using the #ClutterActor:request-mode property. - - - - - - return location for the minimum width, or %NULL - - - - return location for the minimum height, or %NULL - - - - return location for the natural width, or %NULL - - - - return location for the natural height, or %NULL - - - - - - Computes the requested minimum and natural widths for an actor, -optionally depending on the specified height, or if they are -already computed, returns the cached values. -An actor may not get its request - depending on the layout -manager that's in effect. -A request should not incorporate the actor's scale or anchor point; -those transformations do not affect layout, only rendering. - - - - - - available height when computing the preferred width, or a negative value to indicate that no height is defined - - - - return location for minimum width, or %NULL - - - - return location for the natural width, or %NULL - - - - - - Checks whether @actor is marked as reactive. - - %TRUE if the actor is reactive - - - - - Retrieves the geometry request mode of @self - - the request mode for the actor - - - - - Retrieves the angle and center of rotation on the given axis, -set using clutter_actor_set_rotation(). - - the angle of rotation - - - - - the axis of rotation - - - - return value for the X coordinate of the center of rotation - - - - return value for the Y coordinate of the center of rotation - - - - return value for the Z coordinate of the center of rotation - - - - - - Retrieves an actors scale factors. - - - - - - Location to store horizonal scale factor, or %NULL. - - - - Location to store vertical scale factor, or %NULL. - - - - - - Retrieves the scale center coordinate in pixels relative to the top -left corner of the actor. If the scale center was specified using a -#ClutterGravity this will calculate the pixel offset using the -current size of the actor. - - - - - - Location to store the X position of the scale center, or %NULL. - - - - Location to store the Y position of the scale center, or %NULL. - - - - - - Retrieves the scale center as a compass direction. If the scale -center was specified in pixels or units this will return -%CLUTTER_GRAVITY_NONE. - - the scale gravity - - - - - Queries the currently set #ClutterShader on @self. -or %NULL if no shader is set. - - The currently set #ClutterShader - - - - - This function tries to "do what you mean" and return -the size an actor will have. If the actor has a valid -allocation, the allocation will be returned; otherwise, -the actors natural size request will be returned. -If you care whether you get the request vs. the allocation, you -should probably call a different function like -clutter_actor_get_allocation_box() or -clutter_actor_get_preferred_width(). - - - - - - return location for the width, or %NULL. - - - - return location for the height, or %NULL. - - - - - - Retrieves the #ClutterStage where @actor is contained. - - the stage containing the actor, or %NULL - - - - - Retrieves the value set using clutter_actor_set_text_direction() -If no text direction has been previously set, the default text -direction, as returned by clutter_get_default_text_direction(), will -be returned instead - - the #ClutterTextDirection for the actor - - - - - Retrieves the transformations applied to @self relative to its -parent. - - - - - - the return location for a #CoglMatrix - - - - - - Gets the absolute position of an actor, in pixels relative to the stage. - - - - - - return location for the X coordinate, or %NULL - - - - return location for the Y coordinate, or %NULL - - - - - - Gets the absolute size of an actor in pixels, taking into account the -scaling factors. -If the actor has a valid allocation, the allocated size will be used. -If the actor has not a valid allocation then the preferred size will -be transformed and returned. -If you want the transformed allocation, see -clutter_actor_get_abs_allocation_vertices() instead. -<note>When the actor (or one of its ancestors) is rotated around the -X or Y axis, it no longer appears as on the stage as a rectangle, but -as a generic quadrangle; in that case this function returns the size -of the smallest rectangle that encapsulates the entire quad. Please -note that in this case no assumptions can be made about the relative -position of this envelope to the absolute position of the actor, as -returned by clutter_actor_get_transformed_position(); if you need this -information, you need to use clutter_actor_get_abs_allocation_vertices() -to get the coords of the actual quadrangle.</note> - - - - - - return location for the width, or %NULL - - - - return location for the height, or %NULL - - - - - - Retrieves the width of a #ClutterActor. -If the actor has a valid allocation, this function will return the -width of the allocated area given to the actor. -If the actor does not have a valid allocation, this function will -return the actor's natural width, that is the preferred width of -the actor. -If you care whether you get the preferred width or the width that -has been assigned to the actor, you should probably call a different -function like clutter_actor_get_allocation_box() to retrieve the -allocated size or clutter_actor_get_preferred_width() to retrieve the -preferred width. -If an actor has a fixed width, for instance a width that has been -assigned using clutter_actor_set_width(), the width returned will -be the same value. - - the width of the actor, in pixels - - - - - - - - - - - - - - - Retrieves the center for the rotation around the Z axis as a -compass direction. If the center was specified in pixels or units -this will return %CLUTTER_GRAVITY_NONE. - - the Z rotation center - - - - - Sets the key focus of the #ClutterStage including @self -to this #ClutterActor. - - - - - - Checks if the actor has an up-to-date allocation assigned to -visible and has a parent. It also means that there is no -outstanding relayout request in progress for the actor or its -children (There might be other outstanding layout requests in -progress that will cause the actor to get a new allocation -when the stage is laid out, however). -If this function returns %FALSE, then the actor will normally -be allocated before it is next drawn on the screen. - - %TRUE if the actor has an up-to-date allocation - - - - - Determines whether the actor has a clip area set or not. - - %TRUE if the actor has a clip area set. - - - - - Checks whether @self is the #ClutterActor that has key focus - - %TRUE if the actor has key focus, and %FALSE otherwise - - - - - Checks whether an actor contains the the pointer of a -#ClutterInputDevice -%FALSE otherwise - - %TRUE if the actor contains the pointer, and - - - - - Flags an actor to be hidden. A hidden actor will not be -rendered on the stage. -Actors are visible by default. -If this function is called on an actor without a parent, the -#ClutterActor:show-on-set-parent property will be set to %FALSE -as a side-effect. - - - - - - Calls clutter_actor_hide() on all child actors (if any). - - - - - - Checks whether @self is being currently painted by a #ClutterClone -This function is useful only inside the ::paint virtual function -implementations or within handlers for the #ClutterActor::paint -signal -This function should not be used by applications -by a #ClutterClone, and %FALSE otherwise - - %TRUE if the #ClutterActor is currently being painted - - - - - Checks whether any rotation is applied to the actor. - - %TRUE if the actor is rotated. - - - - - Checks whether the actor is scaled in either dimension. - - %TRUE if the actor is scaled. - - - - - Puts @self below @above. -Both actors must have the same parent, and the parent must implement -the #ClutterContainer interface. -This function is the equivalent of clutter_container_lower_child(). - - - - - - A #ClutterActor to lower below - - - - - - Lowers @self to the bottom. -This function calls clutter_actor_lower() internally. - - - - - - Sets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly maps -and realizes its children if they are visible. Does nothing if the -actor is not visible. -#ClutterActor <function>map()</function> virtual function in an actor -and you need to map the children of that actor. It is not necessary -to call this if you implement #ClutterContainer because the default -implementation will automatically map children of containers. -When overriding map, it is mandatory to chain up to the parent -implementation. - - - - - - Sets an anchor point for the actor, and adjusts the actor postion so that -the relative position of the actor toward its parent remains the same. - - - - - - X coordinate of the anchor point - - - - Y coordinate of the anchor point - - - - - - Sets an anchor point on the actor based on the given gravity, adjusting the -actor postion so that its relative position within its parent remains -unchanged. -Since version 1.0 the anchor point will be stored as a gravity so -that if the actor changes size then the anchor point will move. For -example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST -and later double the size of the actor, the anchor point will move -to the bottom right. - - - - - - #ClutterGravity. - - - - - - Moves an actor by the specified distance relative to its current -position in pixels. -This function modifies the fixed position of an actor and thus removes -it from any layout management. Another way to move an actor is with an -anchor point, see clutter_actor_set_anchor_point(). - - - - - - Distance to move Actor on X axis. - - - - Distance to move Actor on Y axis. - - - - - - Renders the actor to display. -This function should not be called directly by applications. -Call clutter_actor_queue_redraw() to queue paints, instead. -This function is context-aware, and will either cause a -regular paint or a pick paint. -This function will emit the #ClutterActor::paint signal or -the #ClutterActor::pick signal, depending on the context. -This function does not paint the actor if the actor is set to 0, -unless it is performing a pick paint. - - - - - - Disables the effects of clutter_actor_pop_internal() - - - - - - Should be used by actors implementing the #ClutterContainer and with -internal children added through clutter_actor_set_parent(), for instance: -|[ -static void -my_actor_init (MyActor *self) -{ -self->priv = SELF_ACTOR_GET_PRIVATE (self); -clutter_actor_push_internal (CLUTTER_ACTOR (self)); -/&ast; calling clutter_actor_set_parent() now will result in -&ast; the internal flag being set on a child of MyActor -&ast;/ -/&ast; internal child - a background texture &ast;/ -self->priv->background_tex = clutter_texture_new (); -clutter_actor_set_parent (self->priv->background_tex, -CLUTTER_ACTOR (self)); -/&ast; internal child - a label &ast;/ -self->priv->label = clutter_text_new (); -clutter_actor_set_parent (self->priv->label, -CLUTTER_ACTOR (self)); -clutter_actor_pop_internal (CLUTTER_ACTOR (self)); -/&ast; calling clutter_actor_set_parent() now will not result in -&ast; the internal flag being set on a child of MyActor -&ast;/ -} -]| -This function will be used by Clutter to toggle an "internal child" -flag whenever clutter_actor_set_parent() is called; internal children -are handled differently by Clutter, specifically when destroying their -parent. -Call clutter_actor_pop_internal() when you finished adding internal -children. -Nested calls to clutter_actor_push_internal() are allowed, but each -one must by followed by a clutter_actor_pop_internal() call. - - - - - - Queues up a redraw of an actor and any children. The redraw occurs -once the main loop becomes idle (after the current batch of events -has been processed, roughly). -Applications rarely need to call this, as redraws are handled -automatically by modification functions. -This function will not do anything if @self is not visible, or -if the actor is inside an invisible part of the scenegraph. -Also be aware that painting is a NOP for actors with an opacity of -0 -When you are implementing a custom actor you must queue a redraw -whenever some private state changes that will affect painting or -picking of your actor. - - - - - - Indicates that the actor's size request or other layout-affecting -properties may have changed. This function is used inside #ClutterActor -subclass implementations, not by applications directly. -Queueing a new layout automatically queues a redraw as well. - - - - - - Puts @self above @below. -Both actors must have the same parent, and the parent must implement -the #ClutterContainer interface -This function is the equivalent of clutter_container_raise_child(). - - - - - - A #ClutterActor to raise above. - - - - - - Raises @self to the top. -This function calls clutter_actor_raise() internally. - - - - - - Realization informs the actor that it is attached to a stage. It -can use this to allocate resources if it wanted to delay allocation -until it would be rendered. However it is perfectly acceptable for -an actor to create resources before being realized because Clutter -only ever has a single rendering context so that actor is free to -be moved from one stage to another. -This function does nothing if the actor is already realized. -Because a realized actor must have realized parent actors, calling -clutter_actor_realize() will also realize all parents of the actor. -This function does not realize child actors, except in the special -case that realizing the stage, when the stage is visible, will -suddenly map (and thus realize) the children of the stage. - - - - - - Removes @action from the list of actions applied to @self -The reference held by @self on the #ClutterAction will be released - - - - - - a #ClutterAction - - - - - - Removes the #ClutterAction with the given name from the list -of actions applied to @self - - - - - - the name of the action to remove - - - - - - - - - - - Removes @constraint from the list of constraints applied to @self -The reference held by @self on the #ClutterConstraint will be released - - - - - - a #ClutterConstraint - - - - - - Removes the #ClutterConstraint with the given name from the list -of constraints applied to @self - - - - - - the name of the constraint to remove - - - - - - Removes @effect from the list of effects applied to @self -The reference held by @self on the #ClutterEffect will be released - - - - - - a #ClutterEffect - - - - - - Removes the #ClutterEffect with the given name from the list -of effects applied to @self - - - - - - the name of the effect to remove - - - - - - This function resets the parent actor of @self. It is -logically equivalent to calling clutter_actor_unparent() -and clutter_actor_set_parent(), but more efficiently -implemented, ensures the child is not finalized -when unparented, and emits the parent-set signal only -one time. - - - - - - the new #ClutterActor parent - - - - - - Sets an anchor point for @self. The anchor point is a point in the -coordinate space of an actor to which the actor position within its -parent is relative; the default is (0, 0), i.e. the top-left corner -of the actor. - - - - - - X coordinate of the anchor point - - - - Y coordinate of the anchor point - - - - - - Sets an anchor point on the actor, based on the given gravity (this is a -convenience function wrapping clutter_actor_set_anchor_point()). -Since version 1.0 the anchor point will be stored as a gravity so -that if the actor changes size then the anchor point will move. For -example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST -and later double the size of the actor, the anchor point will move -to the bottom right. - - - - - - #ClutterGravity. - - - - - - Sets clip area for @self. The clip area is always computed from the -upper left corner of the actor, even if the anchor point is set -otherwise. - - - - - - X offset of the clip rectangle - - - - Y offset of the clip rectangle - - - - Width of the clip rectangle - - - - Height of the clip rectangle - - - - - - Sets whether @self should be clipped to the same size as its -allocation - - - - - - %TRUE to apply a clip tracking the allocation - - - - - - Sets the Z coordinate of @self to @depth. -The unit used by @depth is dependant on the perspective setup. See -also clutter_stage_set_perspective(). - - - - - - Z co-ord - - - - - - Sets whether an actor has a fixed position set (and will thus be -unaffected by any layout manager). - - - - - - whether to use fixed position - - - - - - Sets @flags on @self -This function will emit notifications for the changed properties - - - - - - the flags to set - - - - - - Sets the actor's fixed position and forces its minimum and natural -size, in pixels. This means the untransformed actor will have the -given geometry. This is the same as calling clutter_actor_set_position() -and clutter_actor_set_size(). - - - - - - A #ClutterGeometry - - - - - - - - - - - - - - - - Sets the given name to @self. The name can be used to identify -a #ClutterActor. - - - - - - Textual tag to apply to actor - - - - - - Sets the actor's opacity, with zero being completely transparent and -255 (0xff) being fully opaque. - - - - - - New opacity value for the actor. - - - - - - Sets the parent of @self to @parent. The opposite function is -clutter_actor_unparent(). -This function should not be used by applications, but by custom -container actor subclasses. - - - - - - A new #ClutterActor parent - - - - - - - - - - - - - - - - - - - Sets @actor as reactive. Reactive actors will receive events. - - - - - - whether the actor should be reactive to events - - - - - - Sets the geometry request mode of @self. -The @mode determines the order for invoking -clutter_actor_get_preferred_width() and -clutter_actor_get_preferred_height() - - - - - - the request mode - - - - - - Sets the rotation angle of @self around the given axis. -The rotation center coordinates used depend on the value of @axis: -<itemizedlist> -<listitem><para>%CLUTTER_X_AXIS requires @y and @z</para></listitem> -<listitem><para>%CLUTTER_Y_AXIS requires @x and @z</para></listitem> -<listitem><para>%CLUTTER_Z_AXIS requires @x and @y</para></listitem> -</itemizedlist> -The rotation coordinates are relative to the anchor point of the -actor, set using clutter_actor_set_anchor_point(). If no anchor -point is set, the upper left corner is assumed as the origin. - - - - - - the axis of rotation - - - - the angle of rotation - - - - X coordinate of the rotation center - - - - Y coordinate of the rotation center - - - - Z coordinate of the rotation center - - - - - - Scales an actor with the given factors. The scaling is relative to -the scale center and the anchor point. The scale center is -unchanged by this function and defaults to 0,0. - - - - - - double factor to scale actor by horizontally. - - - - double factor to scale actor by vertically. - - - - - - Scales an actor with the given factors around the given center -point. The center point is specified in pixels relative to the -anchor point (usually the top left corner of the actor). - - - - - - double factor to scale actor by horizontally. - - - - double factor to scale actor by vertically. - - - - X coordinate of the center of the scale. - - - - Y coordinate of the center of the scale - - - - - - Scales an actor with the given factors around the given -center point. The center point is specified as one of the compass -directions in #ClutterGravity. For example, setting it to north -will cause the top of the actor to remain unchanged and the rest of -the actor to expand left, right and downwards. - - - - - - double factor to scale actor by horizontally. - - - - double factor to scale actor by vertically. - - - - the location of the scale center expressed as a compass direction. - - - - - - Sets the #ClutterShader to be used when rendering @self. -If @shader is %NULL it will unset any currently set shader -for the actor. - - %TRUE if the shader was successfully applied - - - - - a #ClutterShader or %NULL to unset the shader. - - - - - - Sets the value for a named parameter of the shader applied -to @actor. - - - - - - the name of the parameter - - - - the value of the parameter - - - - - - Sets the value for a named float parameter of the shader applied -to @actor. - - - - - - the name of the parameter - - - - the value of the parameter - - - - - - Sets the value for a named int parameter of the shader applied to - - - - - - the name of the parameter - - - - the value of the parameter - - - - - - - - - - - - - - - - - - - Sets the #ClutterTextDirection for an actor -The passed text direction must not be %CLUTTER_TEXT_DIRECTION_DEFAULT -If @self implements #ClutterContainer then this function will recurse -inside all the children of @self (including the internal ones). -Composite actors not implementing #ClutterContainer, or actors requiring -special handling when the text direction changes, should connect to -the #GObject::notify signal for the #ClutterActor:text-direction property - - - - - - the text direction for @self - - - - - - - - - - - - - - - - Sets the actor's X coordinate, relative to its parent, in pixels. -Overrides any layout manager and forces a fixed position for -the actor. - - - - - - the actor's position on the X axis - - - - - - Sets the actor's Y coordinate, relative to its parent, in pixels.# -Overrides any layout manager and forces a fixed position for -the actor. - - - - - - the actor's position on the Y axis - - - - - - Sets the rotation angle of @self around the Z axis using the center -point specified as a compass point. For example to rotate such that -the center of the actor remains static you can use -%CLUTTER_GRAVITY_CENTER. If the actor changes size the center point -will move accordingly. - - - - - - the angle of rotation - - - - the center point of the rotation - - - - - - Should be called inside the implementation of the -#ClutterActor::pick virtual function in order to check whether -the actor should paint itself in pick mode or not. -This function should never be called directly by applications. -%FALSE otherwise - - %TRUE if the actor should paint its silhouette, - - - - - Flags an actor to be displayed. An actor that isn't shown will not -be rendered on the stage. -Actors are visible by default. -If this function is called on an actor without a parent, the -#ClutterActor:show-on-set-parent will be set to %TRUE as a side -effect. - - - - - - Calls clutter_actor_show() on all children of an actor (if any). - - - - - - This function translates screen coordinates (@x, @y) to -coordinates relative to the actor. For example, it can be used to translate -screen events from global screen coordinates into actor-local coordinates. -The conversion can fail, notably if the transform stack results in the -actor being projected on the screen as a mere line. -The conversion should not be expected to be pixel-perfect due to the -nature of the operation. In general the error grows when the skewing -of the actor rectangle on screen increases. -<note><para>This function can be computationally intensive.</para></note> -<note><para>This function only works when the allocation is up-to-date, -i.e. inside of paint().</para></note> - - %TRUE if conversion was successful. - - - - - x screen coordinate of the point to unproject - - - - y screen coordinate of the point to unproject - - - - return location for the unprojected x coordinance - - - - return location for the unprojected y coordinance - - - - - - Unsets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly -unmaps its children if they were mapped. -#ClutterActor <function>unmap()</function> virtual function in an actor -and you need to unmap the children of that actor. It is not necessary -to call this if you implement #ClutterContainer because the default -implementation will automatically unmap children of containers. -When overriding unmap, it is mandatory to chain up to the parent -implementation. - - - - - - Removes the parent of @self. -This function should not be used in applications. It should be called by -implementations of container actors, to dissociate a child from the -container. - - - - - - Unrealization informs the actor that it may be being destroyed or -moved to another stage. The actor may want to destroy any -underlying graphics resources at this point. However it is -perfectly acceptable for it to retain the resources until the actor -is destroyed because Clutter only ever uses a single rendering -context and all of the graphics resources are valid on any stage. -Because mapped actors must be realized, actors may not be -unrealized if they are mapped. This function hides the actor to be -sure it isn't mapped, an application-visible side effect that you -may not be expecting. -This function should not be called by application code. - - - - - - Unsets @flags on @self -This function will emit notifications for the changed properties - - - - - - the flags to unset - - - - - - Adds a #ClutterAction to the actor - - - - The allocation for the actor, in pixels -This is property is read-only, but you might monitor it to know when an -actor moves or resizes - - - - The anchor point expressed as a #ClutterGravity - - - - The X coordinate of an actor's anchor point, relative to -the actor coordinate space, in pixels - - - - The Y coordinate of an actor's anchor point, relative to -the actor coordinate space, in pixels - - - - The clip region for the actor, in actor-relative coordinates -Every part of the actor outside the clip region will not be -painted - - - - Whether the clip region should track the allocated area -of the actor. -This property is ignored if a clip area has been explicitly -set using clutter_actor_set_clip(). - - - - Adds a #ClutterConstraint to the actor - - - - The position of the actor on the Z axis - - - - Adds #ClutterEffect to the list of effects be applied on a #ClutterActor - - - - This flag controls whether the #ClutterActor:fixed-x and -#ClutterActor:fixed-y properties are used - - - - The fixed X position of the actor in pixels. -Writing this property sets #ClutterActor:fixed-position-set -property as well, as a side effect - - - - The fixed Y position of the actor in pixels. -Writing this property sets the #ClutterActor:fixed-position-set -property as well, as a side effect - - - - Whether the actor has the #ClutterActor:clip property set or not - - - - Whether the actor contains the pointer of a #ClutterInputDevice -or not. - - - - Height of the actor (in pixels). If written, forces the minimum and -natural size request of the actor to the given height. If read, returns -the allocated height if available, otherwise the height request. - - - - Whether the actor is mapped (will be painted when the stage -to which it belongs is mapped) - - - - A forced minimum height request for the actor, in pixels -Writing this property sets the #ClutterActor:min-height-set property -as well, as a side effect. This property overrides the usual height -request of the actor. - - - - This flag controls whether the #ClutterActor:min-height property -is used - - - - A forced minimum width request for the actor, in pixels -Writing this property sets the #ClutterActor:min-width-set property -as well, as a side effect. -This property overrides the usual width request of the actor. - - - - This flag controls whether the #ClutterActor:min-width property -is used - - - - The name of the actor - - - - A forced natural height request for the actor, in pixels -Writing this property sets the #ClutterActor:natural-height-set -property as well, as a side effect. This property overrides the -usual height request of the actor - - - - This flag controls whether the #ClutterActor:natural-height property -is used - - - - A forced natural width request for the actor, in pixels -Writing this property sets the #ClutterActor:natural-width-set -property as well, as a side effect. This property overrides the -usual width request of the actor - - - - This flag controls whether the #ClutterActor:natural-width property -is used - - - - Opacity of an actor, between 0 (fully transparent) and -255 (fully opaque) - - - - Whether the actor is reactive to events or not -Only reactive actors will emit event-related signals - - - - Whether the actor has been realized - - - - Request mode for the #ClutterActor. The request mode determines the -type of geometry management used by the actor, either height for width -(the default) or width for height. -For actors implementing height for width, the parent container should get -the preferred width first, and then the preferred height for that width. -For actors implementing width for height, the parent container should get -the preferred height first, and then the preferred width for that height. -For instance: -|[ -ClutterRequestMode mode; -gfloat natural_width, min_width; -gfloat natural_height, min_height; -mode = clutter_actor_get_request_mode (child); -if (mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH) -{ -clutter_actor_get_preferred_width (child, -1, -&amp;min_width, -&amp;natural_width); -clutter_actor_get_preferred_height (child, natural_width, -&amp;min_height, -&amp;natural_height); -} -else -{ -clutter_actor_get_preferred_height (child, -1, -&amp;min_height, -&amp;natural_height); -clutter_actor_get_preferred_width (child, natural_height, -&amp;min_width, -&amp;natural_width); -} -]| -will retrieve the minimum and natural width and height depending on the -preferred request mode of the #ClutterActor "child". -The clutter_actor_get_preferred_size() function will implement this -check for you. - - - - The rotation angle on the X axis - - - - The rotation angle on the Y axis - - - - The rotation angle on the Z axis - - - - The rotation center on the X axis. - - - - The rotation center on the Y axis. - - - - The rotation center on the Z axis. - - - - The rotation center on the Z axis expressed as a #ClutterGravity. - - - - The horizontal center point for scaling - - - - The vertical center point for scaling - - - - The center point for scaling expressed as a #ClutterGravity - - - - The horizontal scale of the actor - - - - The vertical scale of the actor - - - - If %TRUE, the actor is automatically shown when parented. -Calling clutter_actor_hide() on an actor which has not been -parented will set this property to %FALSE as a side effect. - - - - - - - Whether the actor is set to be visible or not -See also #ClutterActor:mapped - - - - Width of the actor (in pixels). If written, forces the minimum and -natural size request of the actor to the given width. If read, returns -the allocated width if available, otherwise the width request. - - - - X coordinate of the actor in pixels. If written, forces a fixed -position for the actor. If read, returns the fixed position if any, -otherwise the allocation if available, otherwise 0. - - - - Y coordinate of the actor in pixels. If written, forces a fixed -position for the actor. If read, returns the fixed position if -any, otherwise the allocation if available, otherwise 0. - - - - - - - - - - - - - - - - The ::allocation-changed signal is emitted when the -#ClutterActor:allocation property changes. Usually, application -code should just use the notifications for the :allocation property -but if you want to track the allocation flags as well, for instance -to know whether the absolute origin of @actor changed, then you might -want use this signal instead. - - - - - - a #ClutterActorBox with the new allocation - - - - #ClutterAllocationFlags for the allocation - - - - - - The ::button-press-event signal is emitted each time a mouse button -is pressed on @actor. -or %FALSE to continue the emission. - - %TRUE if the event has been handled by the actor, - - - - - a #ClutterButtonEvent - - - - - - The ::button-release-event signal is emitted each time a mouse button -is released on @actor. -or %FALSE to continue the emission. - - %TRUE if the event has been handled by the actor, - - - - - a #ClutterButtonEvent - - - - - - The ::captured-event signal is emitted when an event is captured -by Clutter. This signal will be emitted starting from the top-level -container (the #ClutterStage) to the actor which received the event -going down the hierarchy. This signal can be used to intercept every -event before the specialized events (like -ClutterActor::button-press-event or ::key-released-event) are -emitted. -or %FALSE to continue the emission. - - %TRUE if the event has been handled by the actor, - - - - - a #ClutterEvent - - - - - - The ::destroy signal is emitted when an actor is destroyed, -either by direct invocation of clutter_actor_destroy() or -when the #ClutterGroup that contains the actor is destroyed. - - - - - - The ::enter-event signal is emitted when the pointer enters the @actor -or %FALSE to continue the emission. - - %TRUE if the event has been handled by the actor, - - - - - a #ClutterCrossingEvent - - - - - - The ::event signal is emitted each time an event is received -by the @actor. This signal will be emitted on every actor, -following the hierarchy chain, until it reaches the top-level -container (the #ClutterStage). -or %FALSE to continue the emission. - - %TRUE if the event has been handled by the actor, - - - - - a #ClutterEvent - - - - - - The ::hide signal is emitted when an actor is no longer rendered -on the stage. - - - - - - The ::key-focus-in signal is emitted when @actor receives key focus. - - - - - - The ::key-focus-out signal is emitted when @actor loses key focus. - - - - - - The ::key-press-event signal is emitted each time a keyboard button -is pressed while @actor has key focus (see clutter_stage_set_key_focus()). -or %FALSE to continue the emission. - - %TRUE if the event has been handled by the actor, - - - - - a #ClutterKeyEvent - - - - - - The ::key-release-event signal is emitted each time a keyboard button -is released while @actor has key focus (see -clutter_stage_set_key_focus()). -or %FALSE to continue the emission. - - %TRUE if the event has been handled by the actor, - - - - - a #ClutterKeyEvent - - - - - - The ::leave-event signal is emitted when the pointer leaves the @actor. -or %FALSE to continue the emission. - - %TRUE if the event has been handled by the actor, - - - - - a #ClutterCrossingEvent - - - - - - The ::motion-event signal is emitted each time the mouse pointer is -moved over @actor. -or %FALSE to continue the emission. - - %TRUE if the event has been handled by the actor, - - - - - a #ClutterMotionEvent - - - - - - The ::paint signal is emitted each time an actor is being painted. -Subclasses of #ClutterActor should override the class signal handler -and paint themselves in that function. -It is possible to connect a handler to the ::paint signal in order -to set up some custom aspect of a paint. - - - - - - This signal is emitted when the parent of the actor changes. - - - - - - the previous parent of the actor, or %NULL - - - - - - The ::pick signal is emitted each time an actor is being painted -in "pick mode". The pick mode is used to identify the actor during -the event handling phase, or by clutter_stage_get_actor_at_pos(). -The actor should paint its shape using the passed @pick_color. -Subclasses of #ClutterActor should override the class signal handler -and paint themselves in that function. -It is possible to connect a handler to the ::pick signal in order -to set up some custom aspect of a paint in pick mode. - - - - - - the #ClutterColor to be used when picking - - - - - - The ::queue_redraw signal is emitted when clutter_actor_queue_redraw() -is called on @origin. -The default implementation for #ClutterActor chains up to the -parent actor and queues a redraw on the parent, thus "bubbling" -the redraw queue up through the actor graph. The default -implementation for #ClutterStage queues a clutter_redraw() in a -main loop idle handler. -Note that the @origin actor may be the stage, or a container; it -does not have to be a leaf node in the actor graph. -Toolkits embedding a #ClutterStage which require a redraw and -relayout cycle can stop the emission of this signal using the -GSignal API, redraw the UI and then call clutter_redraw() -themselves, like: -|[ -static void -on_redraw_complete (void) -{ -/&ast; execute the Clutter drawing pipeline &ast;/ -clutter_redraw (); -} -static void -on_stage_queue_redraw (ClutterStage *stage) -{ -/&ast; this prevents the default handler to run &ast;/ -g_signal_stop_emission_by_name (stage, "queue-redraw"); -/&ast; queue a redraw with the host toolkit and call -&ast; a function when the redraw has been completed -&ast;/ -queue_a_redraw (G_CALLBACK (on_redraw_complete)); -} -]| -<note><para>This signal is emitted before the Clutter paint -pipeline is executed. If you want to know when the pipeline has -been completed you should connect to the ::paint signal on the -Stage with g_signal_connect_after().</para></note> - - - - - - the actor which initiated the redraw request - - - - - - - - - - - The ::realize signal is emitted each time an actor is being -realized. - - - - - - The ::scroll-event signal is emitted each time the mouse is -scrolled on @actor -or %FALSE to continue the emission. - - %TRUE if the event has been handled by the actor, - - - - - a #ClutterScrollEvent - - - - - - The ::show signal is emitted when an actor is visible and -rendered on the stage. - - - - - - The ::unrealize signal is emitted each time an actor is being -unrealized. - - - - - - - Bounding box of an actor. The coordinates of the top left and right bottom -corners of an actor. The coordinates of the two points are expressed in -pixels with sub-pixel precision - - - - - - - - - - - - - - Allocates a new #ClutterActorBox using the passed coordinates -for the top left and bottom right points -clutter_actor_box_free() to free the resources - - the newly allocated #ClutterActorBox. Use - - - - - X coordinate of the top left point - - - - Y coordinate of the top left point - - - - X coordinate of the bottom right point - - - - Y coordinate of the bottom right point - - - - - - Clamps the components of @box to the nearest integer - - - - - - Checks whether a point with @x, @y coordinates is contained -withing @box - - %TRUE if the point is contained by the #ClutterActorBox - - - - - X coordinate of the point - - - - Y coordinate of the point - - - - - - Copies @box -clutter_actor_box_free() to free the allocated resources - - a newly allocated copy of #ClutterActorBox. Use - - - - - Checks @box_a and @box_b for equality - - %TRUE if the passed #ClutterActorBox are equal - - - - - a #ClutterActorBox - - - - - - Frees a #ClutterActorBox allocated using clutter_actor_box_new() -or clutter_actor_box_copy() - - - - - - Calculates the bounding box represented by the four vertices; for details -of the vertex array see clutter_actor_get_abs_allocation_vertices(). - - - - - - array of four #ClutterVertex - - - - - - - - Retrieves the area of @box - - the area of a #ClutterActorBox, in pixels - - - - - Retrieves the height of the @box - - the height of the box - - - - - Retrieves the origin of @box - - - - - - return location for the X coordinate, or %NULL - - - - return location for the Y coordinate, or %NULL - - - - - - Retrieves the size of @box - - - - - - return location for the width, or %NULL - - - - return location for the height, or %NULL - - - - - - Retrieves the width of the @box - - the width of the box - - - - - Retrieves the X coordinate of the origin of @box - - the X coordinate of the origin - - - - - Retrieves the Y coordinate of the origin of @box - - the Y coordinate of the origin - - - - - Interpolates between @initial and @final #ClutterActorBox<!-- -->es -using @progress - - - - - - the final #ClutterActorBox - - - - the interpolation progress - - - - return location for the interpolation - - - - - - - Base class for actors. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - available height when computing the preferred width, or a negative value to indicate that no height is defined - - - - return location for minimum width, or %NULL - - - - return location for the natural width, or %NULL - - - - - - - - - - - - - - - - available width to assume in computing desired height, or a negative value to indicate that no width is defined - - - - return location for minimum height, or %NULL - - - - return location for natural height, or %NULL - - - - - - - - - - - - - - - - new allocation of the actor, in parent-relative coordinates - - - - flags that control the allocation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - the #AtkObject associated with @actor - - - - - - - - - - - - - - - - - Flags used to signal the state of an actor. - - - - - - - - The <structname>ClutterActorMeta</structname> structure contains only -private data and should be accessed using the provided API - - - - - - - - - - - - Retrieves a pointer to the #ClutterActor that owns @meta - - a pointer to a #ClutterActor or %NULL - - - - - Retrieves whether @meta is enabled - - %TRUE if the #ClutterActorMeta instance is enabled - - - - - Retrieves the name set using clutter_actor_meta_set_name() -instance, or %NULL if none was set. The returned string is owned -by the #ClutterActorMeta instance and it should not be modified -or freed - - the name of the #ClutterActorMeta - - - - - Sets whether @meta should be enabled or not - - - - - - whether @meta is enabled - - - - - - Sets the name of @meta -The name can be used to identify the #ClutterActorMeta instance - - - - - - the name of @meta - - - - - - The #ClutterActor attached to the #ClutterActorMeta instance - - - - Whether or not the #ClutterActorMeta is enabled - - - - The unique name to access the #ClutterActorMeta - - - - - - - - - - - The <structname>ClutterActorMetaClass</structname> structure contains -only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies the axis on which #ClutterAlignConstraint should maintain -the alignment - - - - - <structname>ClutterAlignConstraint</structname> is an opaque structure -whose members cannot be directly accesses - - Creates a new constraint, aligning a #ClutterActor's position with -regards of the size of the actor to @source, with the given -alignment @factor - - the newly created #ClutterAlignConstraint - - - - - the #ClutterActor to use as the source of the alignment, or %NULL - - - - the axis to be used to compute the alignment - - - - the alignment factor, between 0.0 and 1.0 - - - - - - Retrieves the value set using clutter_align_constraint_set_align_axis() - - the alignment axis - - - - - Retrieves the factor set using clutter_align_constraint_set_factor() - - the alignment factor - - - - - Retrieves the source of the alignment -of the alignment - - the #ClutterActor used as the source - - - - - Sets the axis to which the alignment refers to - - - - - - the axis to which the alignment refers to - - - - - - Sets the alignment factor of the constraint -The factor depends on the #ClutterAlignConstraint:align-axis property -and it is a value between 0.0 (meaning left, when -#ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or -meaning top, when #ClutterAlignConstraint:align-axis is set to -%CLUTTER_ALIGN_Y_AXIS) and 1.0 (meaning right, when -#ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or -meaning bottom, when #ClutterAlignConstraint:align-axis is set to -%CLUTTER_ALIGN_Y_AXIS). A value of 0.5 aligns in the middle in either -cases - - - - - - the alignment factor, between 0.0 and 1.0 - - - - - - Sets the source of the alignment constraint - - - - - - a #ClutterActor, or %NULL to unset the source - - - - - - The axis to be used to compute the alignment - - - - The alignment factor, as a normalized value between 0.0 and 1.0 -The factor depends on the #ClutterAlignConstraint:align-axis property: -with an align-axis value of %CLUTTER_ALIGN_X_AXIS, 0.0 means left and -1.0 means right; with a value of %CLUTTER_ALIGN_Y_AXIS, 0.0 means top -and 1.0 means bottom. - - - - The #ClutterActor used as the source for the alignment - - - - - Flags passed to the #ClutterActor::allocate() virtual function and -to the clutter_actor_allocate() function - - - - - #ClutterAlpha combines a #ClutterTimeline and a function. -The contents of the #ClutterAlpha structure are private and should -only be accessed using the provided API. - - - Creates a new #ClutterAlpha instance. You must set a function -to compute the alpha value using clutter_alpha_set_func() and -bind a #ClutterTimeline object to the #ClutterAlpha instance -using clutter_alpha_set_timeline(). -You should use the newly created #ClutterAlpha instance inside -a #ClutterBehaviour object. - - the newly created empty #ClutterAlpha instance. - - - - - Creates a new #ClutterAlpha instance and sets the timeline -and animation mode. -See also clutter_alpha_set_timeline() and clutter_alpha_set_mode(). - - the newly created #ClutterAlpha - - - - - #ClutterTimeline timeline - - - - animation mode - - - - - - Creates a new #ClutterAlpha instances and sets the timeline -and the alpha function. -This function will not register @func as a global alpha function. -See also clutter_alpha_set_timeline() and clutter_alpha_set_func(). - - the newly created #ClutterAlpha - - - - - a #ClutterTimeline - - - - a #ClutterAlphaFunc - - - - data to pass to the function, or %NULL - - - - function to call when removing the alpha function, or %NULL - - - - - - #GClosure variant of clutter_alpha_register_func(). -Registers a global alpha function and returns its logical id -to be used by clutter_alpha_set_mode() or by #ClutterAnimation. -The logical id is always greater than %CLUTTER_ANIMATION_LAST. - - the logical id of the alpha function - - - - - a #GClosure - - - - - - Registers a global alpha function and returns its logical id -to be used by clutter_alpha_set_mode() or by #ClutterAnimation. -The logical id is always greater than %CLUTTER_ANIMATION_LAST. - - the logical id of the alpha function - - - - - a #ClutterAlphaFunc - - - - user data to pass to @func, or %NULL - - - - - - Query the current alpha value. - - The current alpha value for the alpha - - - - - Retrieves the #ClutterAnimationMode used by @alpha. - - the animation mode - - - - - Gets the #ClutterTimeline bound to @alpha. - - a #ClutterTimeline instance - - - - - Sets the #GClosure used to compute the alpha value at each -frame of the #ClutterTimeline bound to @alpha. - - - - - - A #GClosure - - - - - - Sets the #ClutterAlphaFunc function used to compute -the alpha value at each frame of the #ClutterTimeline -bound to @alpha. -This function will not register @func as a global alpha function. - - - - - - A #ClutterAlphaFunc - - - - user data to be passed to the alpha function, or %NULL - - - - notify function used when disposing the alpha function - - - - - - Sets the progress function of @alpha using the symbolic value -of @mode, as taken by the #ClutterAnimationMode enumeration or -using the value returned by clutter_alpha_register_func(). - - - - - - a #ClutterAnimationMode - - - - - - Binds @alpha to @timeline. - - - - - - A #ClutterTimeline - - - - - - The alpha value as computed by the alpha function. The linear -interval is 0.0 to 1.0, but the Alpha allows overshooting by -one unit in each direction, so the valid interval is -1.0 to 2.0. - - - - The progress function logical id - either a value from the -#ClutterAnimationMode enumeration or a value returned by -clutter_alpha_register_func(). -If %CLUTTER_CUSTOM_MODE is used then the function set using -clutter_alpha_set_closure() or clutter_alpha_set_func() -will be used. - - - - A #ClutterTimeline instance used to drive the alpha function. - - - - - - - - - - - Base class for #ClutterAlpha - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A function returning a value depending on the position of -the #ClutterTimeline bound to @alpha. - - a floating point value - - - - - a #ClutterAlpha - - - - user data passed to the function - - - - - - - - - - - - - - - - - #ClutterAnimatable is an opaque structure whose members cannot be directly -accessed - - Calls the animate_property() virtual function for @animatable. -The @initial_value and @final_value #GValue<!-- -->s must contain -the same type; @value must have been initialized to the same -type of @initial_value and @final_value. -All implementation of the #ClutterAnimatable interface must -implement this function. -be applied to the #ClutterAnimatable, and %FALSE otherwise - - %TRUE if the value has been validated and can - - - - - a #ClutterAnimation - - - - the name of the animated property - - - - the initial value of the animation interval - - - - the final value of the animation interval - - - - the progress factor - - - - return location for the animation value - - - - - - Finds the #GParamSpec for @property_name -or %NULL - - The #GParamSpec for the given property - - - - - the name of the animatable property to find - - - - - - Retrieves the current state of @property_name and sets @value with it - - - - - - the name of the animatable property to retrieve - - - - a #GValue initialized to the type of the property to retrieve - - - - - - Sets the current state of @property_name to @value - - - - - - the name of the animatable property to set - - - - the value of the animatable property to set - - - - - - Calls the animate_property() virtual function for @animatable. -The @initial_value and @final_value #GValue<!-- -->s must contain -the same type; @value must have been initialized to the same -type of @initial_value and @final_value. -All implementation of the #ClutterAnimatable interface must -implement this function. -be applied to the #ClutterAnimatable, and %FALSE otherwise - - %TRUE if the value has been validated and can - - - - - a #ClutterAnimation - - - - the name of the animated property - - - - the initial value of the animation interval - - - - the final value of the animation interval - - - - the progress factor - - - - return location for the animation value - - - - - - Finds the #GParamSpec for @property_name -or %NULL - - The #GParamSpec for the given property - - - - - the name of the animatable property to find - - - - - - Retrieves the current state of @property_name and sets @value with it - - - - - - the name of the animatable property to retrieve - - - - a #GValue initialized to the type of the property to retrieve - - - - - - Sets the current state of @property_name to @value - - - - - - the name of the animatable property to set - - - - the value of the animatable property to set - - - - - - - Base interface for #GObject<!-- -->s that can be animated by a -a #ClutterAnimation. - - - - - - - %TRUE if the value has been validated and can - - - - - - - - a #ClutterAnimation - - - - the name of the animated property - - - - the initial value of the animation interval - - - - the final value of the animation interval - - - - the progress factor - - - - return location for the animation value - - - - - - - - - The #GParamSpec for the given property - - - - - - - - the name of the animatable property to find - - - - - - - - - - - - - - - - the name of the animatable property to retrieve - - - - a #GValue initialized to the type of the property to retrieve - - - - - - - - - - - - - - - - the name of the animatable property to set - - - - the value of the animatable property to set - - - - - - - - The #ClutterAnimation structure contains only private data and should -be accessed using the provided functions. - - - Creates a new #ClutterAnimation instance. You should set the -#GObject to be animated using clutter_animation_set_object(), -set the duration with clutter_animation_set_duration() and the -easing mode using clutter_animation_set_mode(). -Use clutter_animation_bind() or clutter_animation_bind_interval() -to define the properties to be animated. The interval and the -animated properties can be updated at runtime. -The clutter_actor_animate() and relative family of functions provide -an easy way to animate a #ClutterActor and automatically manage the -lifetime of a #ClutterAnimation instance, so you should consider using -those functions instead of manually creating an animation. -to release the associated resources - - the newly created #ClutterAnimation. Use g_object_unref() - - - - - Adds a single property with name @property_name to the -animation @animation. For more information about animations, -see clutter_actor_animate(). -This method returns the animation primarily to make chained -calls convenient in language bindings. - - The animation itself. - - - - - the property to control - - - - The final value of the property - - - - - - Binds @interval to the @property_name of the #GObject -attached to @animation. The #ClutterAnimation will take -ownership of the passed #ClutterInterval. For more information -about animations, see clutter_actor_animate(). -If you need to update the interval instance use -clutter_animation_update_property() instead. - - The animation itself. - - - - - the property to control - - - - a #ClutterInterval - - - - - - Emits the ::completed signal on @animation -When using this function with a #ClutterAnimation created -by the clutter_actor_animate() family of functions, @animation -will be unreferenced and it will not be valid anymore, -unless g_object_ref() was called before calling this function -or unless a reference was taken inside a handler for the -#ClutterAnimation::completed signal - - - - - - Retrieves the #ClutterAlpha used by @animation. - - the alpha object used by the animation - - - - - Retrieves the duration of @animation, in milliseconds. - - the duration of the animation - - - - - Retrieves the #ClutterInterval associated to @property_name -inside @animation. -property with the same name was found. The returned interval is -owned by the #ClutterAnimation and should not be unreferenced - - a #ClutterInterval or %NULL if no - - - - - name of the property - - - - - - Retrieves whether @animation is looping. - - %TRUE if the animation is looping - - - - - Retrieves the animation mode of @animation, as set by -clutter_animation_set_mode(). - - the mode for the animation - - - - - Retrieves the #GObject attached to @animation. - - a #GObject - - - - - Retrieves the #ClutterTimeline used by @animation - - the timeline used by the animation - - - - - Checks whether @animation is controlling @property_name. -#ClutterAnimation, %FALSE otherwise - - %TRUE if the property is animated by the - - - - - name of the property - - - - - - Sets @alpha as the #ClutterAlpha used by @animation. -If @alpha is not %NULL, the #ClutterAnimation will take ownership -of the #ClutterAlpha instance. - - - - - - a #ClutterAlpha, or %NULL to unset the current #ClutterAlpha - - - - - - Sets the duration of @animation in milliseconds. -This function will set #ClutterAnimation:alpha and -#ClutterAnimation:timeline if needed. - - - - - - the duration in milliseconds - - - - - - Sets whether @animation should loop over itself once finished. -A looping #ClutterAnimation will not emit the #ClutterAnimation::completed -signal when finished. -This function will set #ClutterAnimation:alpha and -#ClutterAnimation:timeline if needed. - - - - - - %TRUE if the animation should loop - - - - - - Sets the animation @mode of @animation. The animation @mode is -a logical id, either coming from the #ClutterAnimationMode enumeration -or the return value of clutter_alpha_register_func(). -This function will also set #ClutterAnimation:alpha if needed. - - - - - - an animation mode logical id - - - - - - Attaches @animation to @object. The #ClutterAnimation will take a -reference on @object. - - - - - - a #GObject - - - - - - Sets the #ClutterTimeline used by @animation. - - - - - - a #ClutterTimeline, or %NULL to unset the current #ClutterTimeline - - - - - - Removes @property_name from the list of animated properties. - - - - - - name of the property - - - - - - Updates the @final value of the interval for @property_name - - The animation itself. - - - - - name of the property - - - - The final value of the property - - - - - - Changes the @interval for @property_name. The #ClutterAnimation -will take ownership of the passed #ClutterInterval. - - - - - - name of the property - - - - a #ClutterInterval - - - - - - The #ClutterAlpha used by the animation. - - - - The duration of the animation, expressed in milliseconds. - - - - Whether the animation should loop. - - - - The animation mode, either a value from #ClutterAnimationMode -or a value returned by clutter_alpha_register_func(). The -default value is %CLUTTER_LINEAR. - - - - The #GObject to which the animation applies. - - - - The #ClutterTimeline used by the animation. - - - - - - - - - - The ::completed signal is emitted once the animation has -been completed. -The @animation instance is guaranteed to be valid for the entire -duration of the signal emission chain. - - - - - - The ::started signal is emitted once the animation has been -started - - - - - - - The #ClutterAnimationClass structure contains only private data and -should be accessed using the provided functions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The animation modes used by #ClutterAlpha and #ClutterAnimation. This -enumeration can be expanded in later versions of Clutter. See the -#ClutterAlpha documentation for a graph of all the animation modes. -Every global alpha function registered using clutter_alpha_register_func() -or clutter_alpha_register_closure() will have a logical id greater than -%CLUTTER_ANIMATION_LAST. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterAnimator structure contains only private data and -should be accessed using the provided API - - - Creates a new #ClutterAnimator instance - - a new #ClutterAnimator. - - - - - Compute the value for a managed property at a given progress. -If the property is an ease-in property, the current value of the property -on the object will be used as the starting point for computation. -an error occurs or the progress is before any of the keys) %FALSE is -returned and the #GValue is left untouched - - %TRUE if the computation yields has a value, otherwise (when - - - - - a #GObject - - - - the name of the property on object to check - - - - a value between 0.0 and 1.0 - - - - an initialized value to store the computed result - - - - - - Retrieves the current duration of an animator - - the duration of the animation, in milliseconds - - - - - Returns a list of pointers to opaque structures with accessor functions -that describe the keys added to an animator. -list of #ClutterAnimatorKey<!-- -->s; the contents of the list are owned -by the #ClutterAnimator, but you should free the returned list when done, -using g_list_free() - - a - - - - - - - a #GObject to search for, or %NULL for all objects - - - - a specific property name to query for, or %NULL for all properties - - - - a specific progress to search for, or a negative value for all progresses - - - - - - Get the timeline hooked up for driving the #ClutterAnimator - - the #ClutterTimeline that drives the animator - - - - - Checks if a property value is to be eased into the animation. - - %TRUE if the property is eased in - - - - - a #GObject - - - - the name of a property on object - - - - - - Get the interpolation used by animator for a property on a particular -object. - - a ClutterInterpolation value. - - - - - a #GObject - - - - the name of a property on object - - - - - - Sets whether a property value is to be eased into the animation. - - - - - - a #GObject - - - - the name of a property on object - - - - we are going to be easing in this property - - - - - - Set the interpolation method to use, %CLUTTER_INTERPOLATION_LINEAR causes -the values to linearly change between the values, and -%CLUTTER_INTERPOLATION_CUBIC causes the values to smoothly change between -the values. - - - - - - a #GObject - - - - the name of a property on object - - - - the #ClutterInterpolation to use - - - - - - Removes all keys matching the conditions specificed in the arguments. - - - - - - a #GObject to search for, or %NULL for all - - - - a specific property name to query for, or %NULL for all - - - - a specific progress to search for or a negative value for all - - - - - - Adds multiple keys to a #ClutterAnimator, specifying the value a given -property should have at a given progress of the animation. The mode -specified is the mode used when going to this key from the previous key of -the @property_name -If a given (object, property, progress) tuple already exist the mode and -value will be replaced with the new values. - - - - - - a #GObject - - - - the property to specify a key for - - - - the id of the alpha function to use - - - - at which stage of the animation this value applies; the range is a normalized floating point value between 0 and 1 - - - - - - - - - - Runs the timeline of the #ClutterAnimator with a duration in msecs -as specified. - - - - - - milliseconds a run of the animator should last. - - - - - - Sets a single key in the #ClutterAnimator for the @property_name of - - The animator instance - - - - - a #GObject - - - - the property to specify a key for - - - - the id of the alpha function to use - - - - the normalized range at which stage of the animation this value applies - - - - the value property_name should have at progress. - - - - - - Sets an external timeline that will be used for driving the animation - - - - - - a #ClutterTimeline - - - - - - Start the ClutterAnimator, this is a thin wrapper that rewinds -and starts the animators current timeline. -the animator. The returned timeline is owned by the #ClutterAnimator -and it should not be unreferenced - - the #ClutterTimeline that drives - - - - - The duration of the #ClutterTimeline used by the #ClutterAnimator -to drive the animation - - - - The #ClutterTimeline used by the #ClutterAnimator to drive the -animation - - - - - - - - - - - The #ClutterAnimatorClass structure contains only private data - - - - - - - - - - - A key frame inside a #ClutterAnimator - - Retrieves the mode of a #ClutterAnimator key, for the first key of a -property for an object this represents the whether the animation is -open ended and or curved for the remainding keys for the property it -represents the easing mode. - - the mode of a #ClutterAnimatorKey - - - - - Retrieves the object a key applies to. - - the object an animator_key exist for. - - - - - Retrieves the progress of an clutter_animator_key - - the progress defined for a #ClutterAnimator key. - - - - - Retrieves the name of the property a key applies to. - - the name of the property an animator_key exist for. - - - - - Retrieves the #GType of the property a key applies to -You can use this type to initialize the #GValue to pass to -clutter_animator_key_get_value() - - the #GType of the property - - - - - Retrieves a copy of the value for a #ClutterAnimatorKey. -The passed in #GValue needs to be already initialized for the value -type of the key or to a type that allow transformation from the value -type of the key. -Use g_value_unset() when done. -%FALSE otherwise - - %TRUE if the passed #GValue was successfully set, and - - - - - a #GValue initialized with the correct type for the animator key - - - - - - - - - Common members for a #ClutterEvent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Retrieves the distance used to verify a double click event - - a distance, in pixels. - - - - - Gets the maximum time between two button press events, as set -by clutter_backend_set_double_click_time(). - - a time in milliseconds - - - - - Retrieves the default font name as set by -clutter_backend_set_font_name(). -owned by the #ClutterBackend and should never be modified or freed - - the font name for the backend. The returned string is - - - - - Retrieves the font options for @backend. -The returned #cairo_font_options_t is owned by the backend and should -not be modified or freed - - the font options of the #ClutterBackend. - - - - - Gets the resolution for font handling on the screen. -The resolution is a scale factor between points specified in a -#PangoFontDescription and cairo units. The default value is 96.0, -meaning that a 10 point font will be 13 units -high (10 * 96. / 72. = 13.3). -Clutter will set the resolution using the current backend when -initializing; the resolution is also stored in the -#ClutterSettings:font-dpi property. -has been set. - - the current resolution, or -1 if no resolution - - - - - Sets the maximum distance used to verify a double click event. - - - - - - a distance, in pixels - - - - - - Sets the maximum time between two button press events, used to -verify whether it's a double click event or not. - - - - - - milliseconds between two button press events - - - - - - Sets the default font to be used by Clutter. The @font_name string -must either be %NULL, which means that the font name from the -default #ClutterBackend will be used; or be something that can -be parsed by the pango_font_description_from_string() function. - - - - - - the name of the font - - - - - - Sets the new font options for @backend. The #ClutterBackend will -copy the #cairo_font_options_t. -If @options is %NULL, the first following call to -clutter_backend_get_font_options() will return the default font -options for @backend. -This function is intended for actors creating a Pango layout -using the PangoCairo API. - - - - - - Cairo font options for the backend, or %NULL - - - - - - Sets the resolution for font handling on the screen. This is a -scale factor between points specified in a #PangoFontDescription -and cairo units. The default value is 96, meaning that a 10 point -font will be 13 units high. (10 * 96. / 72. = 13.3). -Applications should never need to call this function. - - - - - - the resolution in "dots per inch" (Physical inches aren't actually involved; the terminology is conventional). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #ClutterBehaviour-struct contains only private data and should -be accessed with the functions below. - - - - - - - - - - - - - Calls @func for every actor driven by @behave. - - - - - - a function called for each actor - - - - optional data to be passed to the function, or %NULL - - - - - - Applies @behave to @actor. This function adds a reference on -the actor. - - - - - - a #ClutterActor - - - - - - Retrieves all the actors to which @behave applies. It is not recommended -for derived classes to use this in there alpha notify method but use -#clutter_behaviour_actors_foreach as it avoids alot of needless allocations. -actors. You should free the returned list with g_slist_free() when -finished using it. - - a list of - - - - - - - Retrieves the #ClutterAlpha object bound to @behave. -object has been bound to this behaviour. - - a #ClutterAlpha object, or %NULL if no alpha - - - - - Gets the number of actors this behaviour is applied too. - - The number of applied actors - - - - - Gets an actor the behaviour was applied to referenced by index num. - - A Clutter actor or NULL if @index_ is invalid. - - - - - the index of an actor this behaviour is applied too. - - - - - - Check if @behave applied to @actor. - - TRUE if actor has behaviour. FALSE otherwise. - - - - - a #ClutterActor - - - - - - Removes @actor from the list of #ClutterActor<!-- -->s to which - - - - - - a #ClutterActor - - - - - - Removes every actor from the list that @behave holds. - - - - - - Binds @alpha to a #ClutterBehaviour. The #ClutterAlpha object -used by #ClutterAlpha a new value of the alpha parameter is -computed by the alpha function; the value should be used by -the #ClutterBehaviour to update one or more properties of the -actors to which the behaviour applies. -If @alpha is not %NULL, the #ClutterBehaviour will take ownership -of the #ClutterAlpha instance. - - - - - - a #ClutterAlpha or %NULL to unset a previously set alpha - - - - - - The #ClutterAlpha object used to drive this behaviour. A #ClutterAlpha -object binds a #ClutterTimeline and a function which computes a value -(the "alpha") depending on the time. Each time the alpha value changes -the alpha-notify virtual function is called. - - - - - - - - - - The ::apply signal is emitted each time the behaviour is applied -to an actor. - - - - - - the actor the behaviour was applied to. - - - - - - The ::removed signal is emitted each time a behaviour is not applied -to an actor anymore. - - - - - - the removed actor - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterBehaviourDepth structure contains only private data -and should be accessed using the provided API - - - Creates a new #ClutterBehaviourDepth which can be used to control -the ClutterActor:depth property of a set of #ClutterActor<!-- -->s. -If @alpha is not %NULL, the #ClutterBehaviour will take ownership -of the #ClutterAlpha instance. In the case when @alpha is %NULL, -it can be set later with clutter_behaviour_set_alpha(). - - the newly created behaviour - - - - - a #ClutterAlpha instance, or %NULL - - - - initial value of the depth - - - - final value of the depth - - - - - - Gets the boundaries of the @behaviour - - - - - - return location for the initial depth value, or %NULL - - - - return location for the final depth value, or %NULL - - - - - - Sets the boundaries of the @behaviour. - - - - - - initial value of the depth - - - - final value of the depth - - - - - - End depth level to apply to the actors. - - - - Start depth level to apply to the actors. - - - - - - - - - - - The #ClutterBehaviourDepthClass structure contains only private data - - - - - - - - The #ClutterBehaviourEllipse struct contains only private data -and should be accessed using the provided API - - - Creates a behaviour that drives actors along an elliptical path with -given center, width and height; the movement starts at @start -degrees (with 0 corresponding to 12 o'clock) and ends at @end -degrees. Angles greated than 360 degrees get clamped to the canonical -interval <0, 360); if @start is equal to @end, the behaviour will -rotate by exacly 360 degrees. -If @alpha is not %NULL, the #ClutterBehaviour will take ownership -of the #ClutterAlpha instance. In the case when @alpha is %NULL, -it can be set later with clutter_behaviour_set_alpha(). - - the newly created #ClutterBehaviourEllipse - - - - - a #ClutterAlpha instance, or %NULL - - - - x coordinace of the center - - - - y coordiance of the center - - - - width of the ellipse - - - - height of the ellipse - - - - #ClutterRotateDirection of rotation - - - - angle in degrees at which movement starts, between 0 and 360 - - - - angle in degrees at which movement ends, between 0 and 360 - - - - - - Gets the at which movements ends. - - angle in degrees - - - - - Gets the angle at which movements starts. - - angle in degrees - - - - - Gets the tilt of the ellipse around the center in the given axis. - - angle in degrees. - - - - - a #ClutterRotateAxis - - - - - - Gets the center of the elliptical path path. - - - - - - return location for the X coordinate of the center, or %NULL - - - - return location for the Y coordinate of the center, or %NULL - - - - - - Retrieves the #ClutterRotateDirection used by the ellipse behaviour. - - the rotation direction - - - - - Gets the height of the elliptical path. - - the height of the path - - - - - Gets the tilt of the ellipse around the center in Y axis. - - - - - - return location for tilt angle on the X axis, or %NULL. - - - - return location for tilt angle on the Y axis, or %NULL. - - - - return location for tilt angle on the Z axis, or %NULL. - - - - - - Gets the width of the elliptical path. - - the width of the path - - - - - Sets the angle at which movement ends; angles >= 360 degress get clamped -to the canonical interval <0, 360). - - - - - - angle at which movement ends in degrees, between 0 and 360. - - - - - - Sets the angle at which movement starts; angles >= 360 degress get clamped -to the canonical interval <0, 360). - - - - - - angle at which movement starts in degrees, between 0 and 360. - - - - - - Sets the angle at which the ellipse should be tilted around it's center. - - - - - - a #ClutterRotateAxis - - - - tilt of the elipse around the center in the given axis in degrees. - - - - - - Sets the center of the elliptical path to the point represented by knot. - - - - - - x coordinace of centre - - - - y coordinace of centre - - - - - - Sets the rotation direction used by the ellipse behaviour. - - - - - - the rotation direction - - - - - - Sets the height of the elliptical path. - - - - - - height of the ellipse - - - - - - Sets the angles at which the ellipse should be tilted around it's center. - - - - - - tilt of the elipse around the center in X axis in degrees. - - - - tilt of the elipse around the center in Y axis in degrees. - - - - tilt of the elipse around the center in Z axis in degrees. - - - - - - Sets the width of the elliptical path. - - - - - - width of the ellipse - - - - - - The final angle to where the rotation should end. - - - - The initial angle from where the rotation should start. - - - - The tilt angle for the rotation around center in X axis - - - - The tilt angle for the rotation around center in Y axis - - - - The tilt angle for the rotation on the Z axis - - - - The center of the ellipse. - - - - The direction of the rotation. - - - - Height of the ellipse, in pixels - - - - Width of the ellipse, in pixels - - - - - - - - - - - The #ClutterBehaviourEllipseClass struct contains only private data - - - - - - - - This function is passed to clutter_behaviour_foreach_actor() and -will be called for each actor driven by @behaviour. - - - - - - the #ClutterBehaviour - - - - an actor driven by @behaviour - - - - optional data passed to the function - - - - - - The #ClutterBehaviourOpacity structure contains only private data and -should be accessed using the provided API - - - Creates a new #ClutterBehaviourOpacity object, driven by @alpha -which controls the opacity property of every actor, making it -change in the interval between @opacity_start and @opacity_end. -If @alpha is not %NULL, the #ClutterBehaviour will take ownership -of the #ClutterAlpha instance. In the case when @alpha is %NULL, -it can be set later with clutter_behaviour_set_alpha(). - - the newly created #ClutterBehaviourOpacity - - - - - a #ClutterAlpha instance, or %NULL - - - - minimum level of opacity - - - - maximum level of opacity - - - - - - Gets the initial and final levels of the opacity applied by @behaviour -on each actor it controls. - - - - - - return location for the minimum level of opacity, or %NULL - - - - return location for the maximum level of opacity, or %NULL - - - - - - Sets the initial and final levels of the opacity applied by @behaviour -on each actor it controls. - - - - - - minimum level of opacity - - - - maximum level of opacity - - - - - - Final opacity level of the behaviour. - - - - Initial opacity level of the behaviour. - - - - - - - - - - - The #ClutterBehaviourOpacityClass structure contains only private data - - - - - - - - The #ClutterBehaviourPath structure contains only private data -and should be accessed using the provided API - - - Creates a new path behaviour. You can use this behaviour to drive -actors along the nodes of a path, described by @path. -This will claim the floating reference on the #ClutterPath so you -do not need to unref if it. -If @alpha is not %NULL, the #ClutterBehaviour will take ownership -of the #ClutterAlpha instance. In the case when @alpha is %NULL, -it can be set later with clutter_behaviour_set_alpha(). - - a #ClutterBehaviour - - - - - a #ClutterAlpha instance, or %NULL - - - - a #ClutterPath or %NULL for an empty path - - - - - - Creates a new path behaviour using the path described by @desc. See -clutter_path_add_string() for a description of the format. -If @alpha is not %NULL, the #ClutterBehaviour will take ownership -of the #ClutterAlpha instance. In the case when @alpha is %NULL, -it can be set later with clutter_behaviour_set_alpha(). - - a #ClutterBehaviour - - - - - a #ClutterAlpha instance, or %NULL - - - - a string description of the path - - - - - - Creates a new path behaviour that will make the actors visit all of -the given knots in order with straight lines in between. -A path will be created where the first knot is used in a -%CLUTTER_PATH_MOVE_TO and the subsequent knots are used in -%CLUTTER_PATH_LINE_TO<!-- -->s. -If @alpha is not %NULL, the #ClutterBehaviour will take ownership -of the #ClutterAlpha instance. In the case when @alpha is %NULL, -it can be set later with clutter_behaviour_set_alpha(). - - a #ClutterBehaviour - - - - - a #ClutterAlpha instance, or %NULL - - - - an array of #ClutterKnot<!-- -->s - - - - number of entries in @knots - - - - - - Get the current path of the behaviour - - the path - - - - - Change the path that the actors will follow. This will take the -floating reference on the #ClutterPath so you do not need to unref -it. - - - - - - the new path to follow - - - - - - - - - - - - - - - This signal is emitted each time a node defined inside the path -is reached. - - - - - - the index of the #ClutterKnot reached - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterBehaviourRotate struct contains only private data and -should be accessed using the provided API - - - Creates a new #ClutterBehaviourRotate. This behaviour will rotate actors -bound to it on @axis, following @direction, between @angle_start and -<0, 360), if angle_start == angle_end, the behaviour will carry out a -single rotation of 360 degrees. -If @alpha is not %NULL, the #ClutterBehaviour will take ownership -of the #ClutterAlpha instance. In the case when @alpha is %NULL, -it can be set later with clutter_behaviour_set_alpha(). - - the newly created #ClutterBehaviourRotate. - - - - - a #ClutterAlpha instance, or %NULL - - - - the rotation axis - - - - the rotation direction - - - - the starting angle in degrees, between 0 and 360. - - - - the final angle in degrees, between 0 and 360. - - - - - - Retrieves the #ClutterRotateAxis used by the rotate behaviour. - - the rotation axis - - - - - Retrieves the rotation boundaries of the rotate behaviour. - - - - - - return value for the initial angle - - - - return value for the final angle - - - - - - Retrieves the center of rotation set using -clutter_behaviour_rotate_set_center(). - - - - - - return location for the X center of rotation - - - - return location for the Y center of rotation - - - - return location for the Z center of rotation - - - - - - Retrieves the #ClutterRotateDirection used by the rotate behaviour. - - the rotation direction - - - - - Sets the axis used by the rotate behaviour. - - - - - - a #ClutterRotateAxis - - - - - - Sets the initial and final angles of a rotation behaviour; angles >= 360 -degrees get clamped to the canonical interval <0, 360). - - - - - - initial angle in degrees, between 0 and 360. - - - - final angle in degrees, between 0 and 360. - - - - - - Sets the center of rotation. The coordinates are relative to the plane -normal to the rotation axis set with clutter_behaviour_rotate_set_axis(). - - - - - - X axis center of rotation - - - - Y axis center of rotation - - - - Z axis center of rotation - - - - - - Sets the rotation direction used by the rotate behaviour. - - - - - - the rotation direction - - - - - - The final angle to where the rotation should end. - - - - The initial angle from whence the rotation should start. - - - - The axis of rotation. - - - - The x center of rotation. - - - - The y center of rotation. - - - - The z center of rotation. - - - - The direction of the rotation. - - - - - - - - - - - The #ClutterBehaviourRotateClass struct contains only private data - - - - - - - - The #ClutterBehaviourScale struct contains only private data and -should be accessed using the provided API - - - Creates a new #ClutterBehaviourScale instance. -If @alpha is not %NULL, the #ClutterBehaviour will take ownership -of the #ClutterAlpha instance. In the case when @alpha is %NULL, -it can be set later with clutter_behaviour_set_alpha(). - - the newly created #ClutterBehaviourScale - - - - - a #ClutterAlpha instance, or %NULL - - - - initial scale factor on the X axis - - - - initial scale factor on the Y axis - - - - final scale factor on the X axis - - - - final scale factor on the Y axis - - - - - - Retrieves the bounds used by scale behaviour. - - - - - - return location for the initial scale factor on the X axis, or %NULL - - - - return location for the initial scale factor on the Y axis, or %NULL - - - - return location for the final scale factor on the X axis, or %NULL - - - - return location for the final scale factor on the Y axis, or %NULL - - - - - - Sets the bounds used by scale behaviour. - - - - - - initial scale factor on the X axis - - - - initial scale factor on the Y axis - - - - final scale factor on the X axis - - - - final scale factor on the Y axis - - - - - - The final scaling factor on the X axis for the actors. - - - - The initial scaling factor on the X axis for the actors. - - - - The final scaling factor on the Y axis for the actors. - - - - The initial scaling factor on the Y axis for the actors. - - - - - - - - - - - The #ClutterBehaviourScaleClass struct contains only private data - - - - - - - - The alignment policies available on each axis for #ClutterBinLayout - - - - - - - - The #ClutterBinLayout structure contains only private data -and should be accessed using the provided API - - Creates a new #ClutterBinLayout layout manager - - the newly created layout manager - - - - - the default alignment policy to be used on the horizontal axis - - - - the default alignment policy to be used on the vertical axis - - - - - - Adds a #ClutterActor to the container using @self and -sets the alignment policies for it -This function is equivalent to clutter_container_add_actor() -and clutter_layout_manager_child_set_property() but it does not -require a pointer to the #ClutterContainer associated to the -#ClutterBinLayout - - - - - - a #ClutterActor - - - - horizontal alignment policy for @child - - - - vertical alignment policy for @child - - - - - - Retrieves the horizontal and vertical alignment policies for -a child of @self -If @child is %NULL the default alignment policies will be returned -instead - - - - - - a child of @container - - - - return location for the horizontal alignment policy - - - - return location for the vertical alignment policy - - - - - - Sets the horizontal and vertical alignment policies to be applied -to a @child of @self -If @child is %NULL then the @x_align and @y_align values will -be set as the default alignment policies - - - - - - a child of @container - - - - the horizontal alignment policy to be used for the @child inside @container - - - - the vertical aligment policy to be used on the @child inside @container - - - - - - The default horizontal alignment policy for actors managed -by the #ClutterBinLayout - - - - The default vertical alignment policy for actors managed -by the #ClutterBinLayout - - - - - - - - - - - The #ClutterBinLayoutClass structure contains only private -data and should be accessed using the provided API - - - - - - - - <structname>ClutterBindConstraint</structname> is an opaque structure -whose members cannot be directly accessed - - Creates a new constraint, binding a #ClutterActor's position to -the given @coordinate of the position of @source - - the newly created #ClutterBindConstraint - - - - - the #ClutterActor to use as the source of the binding, or %NULL - - - - the coordinate to bind - - - - the offset to apply to the binding, in pixels - - - - - - Retrieves the bound coordinate of the constraint - - the bound coordinate - - - - - Retrieves the offset set using clutter_bind_constraint_set_offset() - - the offset, in pixels - - - - - Retrieves the #ClutterActor set using clutter_bind_constraint_set_source() - - a pointer to the source actor - - - - - Sets the coordinate to bind in the constraint - - - - - - the coordinate to bind - - - - - - Sets the offset to be applied to the constraint - - - - - - the offset to apply, in pixels - - - - - - Sets the source #ClutterActor for the constraint - - - - - - a #ClutterActor, or %NULL to unset the source - - - - - - The coordinate to be bound - - - - The offset, in pixels, to be applied to the binding - - - - The #ClutterActor used as the source for the binding - - - - - Specifies which property should be used in a binding - - - - - - - The prototype for the callback function registered with -clutter_binding_pool_install_action() and invoked by -clutter_binding_pool_activate(). -binding has been handled, and return %FALSE otherwise - - the function should return %TRUE if the key - - - - - a #GObject - - - - the name of the action - - - - the key symbol - - - - bitmask of the modifier flags - - - - - - Container of key bindings. The #ClutterBindingPool struct is -private. - - Creates a new #ClutterBindingPool that can be used to store -key bindings for an actor. The @name must be a unique identifier -for the binding pool, so that clutter_binding_pool_find() will -be able to return the correct binding pool. -name. Use g_object_unref() when done. - - the newly created binding pool with the given - - - - - the name of the binding pool - - - - - - Finds the #ClutterBindingPool with @name. - - a pointer to the #ClutterBindingPool, or %NULL - - - - - the name of the binding pool to find - - - - - - Retrieves the #ClutterBindingPool for the given #GObject class -and, eventually, creates it. This function is a wrapper around -clutter_binding_pool_new() and uses the class type name as the -unique name for the binding pool. -Calling this function multiple times will return the same -#ClutterBindingPool. -A binding pool for a class can also be retrieved using -clutter_binding_pool_find() with the class type name: -|[ -pool = clutter_binding_pool_find (G_OBJECT_TYPE_NAME (instance)); -]| -The returned #ClutterBindingPool is owned by Clutter and should not -be freed directly - - the binding pool for the given class. - - - - - a #GObjectClass pointer - - - - - - Activates the callback associated to the action that is -bound to the @key_val and @modifiers pair. -The callback has the following signature: -|[ -void (* callback) (GObject *gobject, -const gchar *action_name, -guint key_val, -ClutterModifierType modifiers, -gpointer user_data); -]| -Where the #GObject instance is @gobject and the user data -is the one passed when installing the action with -clutter_binding_pool_install_action(). -If the action bound to the @key_val, @modifiers pair has been -blocked using clutter_binding_pool_block_action(), the callback -will not be invoked, and this function will return %FALSE. - - %TRUE if an action was found and was activated - - - - - the key symbol - - - - bitmask for the modifiers - - - - a #GObject - - - - - - Blocks all the actions with name @action_name inside @pool. - - - - - - an action name - - - - - - Retrieves the name of the action matching the given key symbol -and modifiers bitmask. -returned string is owned by the binding pool and should never -be modified or freed - - the name of the action, if found, or %NULL. The - - - - - a key symbol - - - - a bitmask for the modifiers - - - - - - Installs a new action inside a #ClutterBindingPool. The action -is bound to @key_val and @modifiers. -The same action name can be used for multiple @key_val, @modifiers -pairs. -When an action has been activated using clutter_binding_pool_activate() -the passed @callback will be invoked (with @data). -Actions can be blocked with clutter_binding_pool_block_action() -and then unblocked using clutter_binding_pool_unblock_action(). - - - - - - the name of the action - - - - key symbol - - - - bitmask of modifiers - - - - function to be called when the action is activated - - - - data to be passed to @callback - - - - function to be called when the action is removed from the pool - - - - - - A #GClosure variant of clutter_binding_pool_install_action(). -Installs a new action inside a #ClutterBindingPool. The action -is bound to @key_val and @modifiers. -The same action name can be used for multiple @key_val, @modifiers -pairs. -When an action has been activated using clutter_binding_pool_activate() -the passed @closure will be invoked. -Actions can be blocked with clutter_binding_pool_block_action() -and then unblocked using clutter_binding_pool_unblock_action(). - - - - - - the name of the action - - - - key symbol - - - - bitmask of modifiers - - - - a #GClosure - - - - - - Allows overriding the action for @key_val and @modifiers inside a -#ClutterBindingPool. See clutter_binding_pool_install_action(). -When an action has been activated using clutter_binding_pool_activate() -the passed @callback will be invoked (with @data). -Actions can be blocked with clutter_binding_pool_block_action() -and then unblocked using clutter_binding_pool_unblock_action(). - - - - - - key symbol - - - - bitmask of modifiers - - - - function to be called when the action is activated - - - - data to be passed to @callback - - - - function to be called when the action is removed from the pool - - - - - - A #GClosure variant of clutter_binding_pool_override_action(). -Allows overriding the action for @key_val and @modifiers inside a -#ClutterBindingPool. See clutter_binding_pool_install_closure(). -When an action has been activated using clutter_binding_pool_activate() -the passed @callback will be invoked (with @data). -Actions can be blocked with clutter_binding_pool_block_action() -and then unblocked using clutter_binding_pool_unblock_action(). - - - - - - key symbol - - - - bitmask of modifiers - - - - a #GClosure - - - - - - Removes the action matching the given @key_val, @modifiers pair, -if any exists. - - - - - - a key symbol - - - - a bitmask for the modifiers - - - - - - Unblockes all the actions with name @action_name inside @pool. -Unblocking an action does not cause the callback bound to it to -be invoked in case clutter_binding_pool_activate() was called on -an action previously blocked with clutter_binding_pool_block_action(). - - - - - - an action name - - - - - - The unique name of the #ClutterBindingPool. - - - - - - - - - - - <structname>ClutterBlurEffect</structname> is an opaque structure -whose members cannot be accessed directly - - Creates a new #ClutterBlurEffect to be used with -clutter_actor_add_effect() - - the newly created #ClutterBlurEffect or %NULL - - - - - - - - - - - - The #ClutterBox structure contains only private data and should -be accessed using the provided API - - - - - - Creates a new #ClutterBox. The children of the box will be layed -out by the passed @manager - - the newly created #ClutterBox actor - - - - - a #ClutterLayoutManager - - - - - - Retrieves the background color of @box -If the #ClutterBox:color-set property is set to %FALSE the -returned #ClutterColor is undefined - - - - - - return location for a #ClutterColor - - - - - - Retrieves the #ClutterLayoutManager instance used by @box -#ClutterLayoutManager is owned by the #ClutterBox and it should not -be unreferenced - - a #ClutterLayoutManager. The returned - - - - - Adds @actor to @box and sets layout properties at the same time, -if the #ClutterLayoutManager used by @box has them -This function is a wrapper around clutter_container_add_actor() -and clutter_layout_manager_child_set() -Language bindings should use the vector-based clutter_box_addv() -variant instead - - - - - - a #ClutterActor - - - - the name of the first property to set, or %NULL - - - - - - - - - - Adds @actor to @box, placing it after @sibling, and sets layout -properties at the same time, if the #ClutterLayoutManager used by -If @sibling is %NULL then @actor is placed at the end of the -list of children, to be allocated and painted after every other child -This function is a wrapper around clutter_container_add_actor(), -clutter_container_raise_child() and clutter_layout_manager_child_set() - - - - - - a #ClutterActor - - - - a #ClutterActor or %NULL - - - - the name of the first property to set, or %NULL - - - - - - - - - - Adds @actor to @box, placing it at @position, and sets layout -properties at the same time, if the #ClutterLayoutManager used by -If @position is a negative number, or is larger than the number of -children of @box, the new child is added at the end of the list of -children - - - - - - a #ClutterActor - - - - the position to insert the @actor at - - - - the name of the first property to set, or %NULL - - - - - - - - - - Adds @actor to @box, placing it before @sibling, and sets layout -properties at the same time, if the #ClutterLayoutManager used by -If @sibling is %NULL then @actor is placed at the beginning of the -list of children, to be allocated and painted below every other child -This function is a wrapper around clutter_container_add_actor(), -clutter_container_lower_child() and clutter_layout_manager_child_set() - - - - - - a #ClutterActor - - - - a #ClutterActor or %NULL - - - - the name of the first property to set, or %NULL - - - - - - - - - - Vector-based variant of clutter_box_pack(), intended for language -bindings to use - - - - - - a #ClutterActor - - - - the number of properties to set - - - - a vector containing the property names to set - - - - - - a vector containing the property values to set - - - - - - - - Sets (or unsets) the background color for @box - - - - - - the background color, or %NULL to unset - - - - - - Sets the #ClutterLayoutManager for @box -A #ClutterLayoutManager is a delegate object that controls the -layout of the children of @box - - - - - - a #ClutterLayoutManager - - - - - - The color to be used to paint the background of the -#ClutterBox. Setting this property will set the -#ClutterBox:color-set property as a side effect - - - - Whether the #ClutterBox:color property has been set - - - - The #ClutterLayoutManager used by the #ClutterBox - - - - - - - - - - - The alignment policies available on each axis of the #ClutterBoxLayout - - - - - - The #ClutterBoxClass structure contains only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterBoxLayout structure contains only private data -and should be accessed using the provided API - - Creates a new #ClutterBoxLayout layout manager - - the newly created #ClutterBoxLayout - - - - - Retrieves the horizontal and vertical alignment policies for @actor -as set using clutter_box_layout_pack() or clutter_box_layout_set_alignment() - - - - - - a #ClutterActor child of @layout - - - - return location for the horizontal alignment policy - - - - return location for the vertical alignment policy - - - - - - Retrieves the duration set using clutter_box_layout_set_easing_duration() - - the duration of the animations, in milliseconds - - - - - Retrieves the easing mode set using clutter_box_layout_set_easing_mode() - - an easing mode - - - - - Retrieves whether @actor should expand inside @layout - - %TRUE if the #ClutterActor should expand, %FALSE otherwise - - - - - a #ClutterActor child of @layout - - - - - - Retrieves the horizontal and vertical fill policies for @actor -as set using clutter_box_layout_pack() or clutter_box_layout_set_fill() - - - - - - a #ClutterActor child of @layout - - - - return location for the horizontal fill policy - - - - return location for the vertical fill policy - - - - - - Retrieves if the children sizes are allocated homogeneously. -homogeneously, and %FALSE otherwise - - %TRUE if the #ClutterBoxLayout is arranging its children - - - - - Retrieves the value set using clutter_box_layout_set_pack_start() -at the beginning of the layout, and %FALSE otherwise - - %TRUE if the #ClutterBoxLayout should pack children - - - - - Retrieves the spacing set using clutter_box_layout_set_spacing() - - the spacing between children of the #ClutterBoxLayout - - - - - Retrieves whether @layout should animate changes in the layout properties -Since clutter_box_layout_set_use_animations() - - %TRUE if the animations should be used, %FALSE otherwise - - - - - Retrieves the orientation of the @layout as set using the -clutter_box_layout_set_vertical() function -vertically, and %FALSE otherwise - - %TRUE if the #ClutterBoxLayout is arranging its children - - - - - Packs @actor inside the #ClutterContainer associated to @layout -and sets the layout properties - - - - - - a #ClutterActor - - - - whether the @actor should expand - - - - whether the @actor should fill horizontally - - - - whether the @actor should fill vertically - - - - the horizontal alignment policy for @actor - - - - the vertical alignment policy for @actor - - - - - - Sets the horizontal and vertical alignment policies for @actor -inside @layout - - - - - - a #ClutterActor child of @layout - - - - Horizontal alignment policy for @actor - - - - Vertical alignment policy for @actor - - - - - - Sets the duration of the animations used by @layout when animating changes -in the layout properties -Use clutter_box_layout_set_use_animations() to enable and disable the -animations - - - - - - the duration of the animations, in milliseconds - - - - - - Sets the easing mode to be used by @layout when animating changes in layout -properties -Use clutter_box_layout_set_use_animations() to enable and disable the -animations - - - - - - an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func() - - - - - - Sets whether @actor should expand inside @layout - - - - - - a #ClutterActor child of @layout - - - - whether @actor should expand - - - - - - Sets the horizontal and vertical fill policies for @actor -inside @layout - - - - - - a #ClutterActor child of @layout - - - - whether @actor should fill horizontally the allocated space - - - - whether @actor should fill vertically the allocated space - - - - - - Sets whether the size of @layout children should be -homogeneous - - - - - - %TRUE if the layout should be homogeneous - - - - - - Sets whether children of @layout should be layed out by appending -them or by prepending them - - - - - - %TRUE if the @layout should pack children at the beginning of the layout - - - - - - Sets the spacing between children of @layout - - - - - - the spacing between children of the layout, in pixels - - - - - - Sets whether @layout should animate changes in the layout properties -The duration of the animations is controlled by -clutter_box_layout_set_easing_duration(); the easing mode to be used -by the animations is controlled by clutter_box_layout_set_easing_mode() - - - - - - %TRUE if the @layout should use animations - - - - - - Sets whether @layout should arrange its children vertically alongside -the Y axis, instead of horizontally alongside the X axis - - - - - - %TRUE if the layout should be vertical - - - - - - The duration of the animations, in case #ClutterBoxLayout:use-animations -is set to %TRUE -The duration is expressed in milliseconds - - - - The easing mode for the animations, in case -#ClutterBoxLayout:use-animations is set to %TRUE -either be a value from the #ClutterAnimationMode enumeration, like -%CLUTTER_EASE_OUT_CUBIC, or a logical id as returned by -clutter_alpha_register_func() -The default value is %CLUTTER_EASE_OUT_CUBIC - - - - Whether the #ClutterBoxLayout should arrange its children -homogeneously, i.e. all childs get the same size - - - - Whether the #ClutterBoxLayout should pack items at the start -or append them at the end - - - - The spacing between children of the #ClutterBoxLayout, in pixels - - - - Whether the #ClutterBoxLayout should animate changes in the -layout properties - - - - Whether the #ClutterBoxLayout should arrange its children -alongside the Y axis, instead of alongside the X axis - - - - - - - - - - - The #ClutterBoxLayoutClass structure contains only private -data and should be accessed using the provided API - - - - - - - - - - - - - - - - Button event. -The event coordinates are relative to the stage that received the -event, and can be transformed into actor-relative coordinates by -using clutter_actor_transform_stage_point(). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterCairoTexture struct contains only private data. - - - - - Creates a new #ClutterCairoTexture actor, with a surface of @width by - - the newly created #ClutterCairoTexture actor - - - - - the width of the surface - - - - the height of the surface - - - - - - Clears @self's internal drawing surface, so that the next upload -will replace the previous contents of the #ClutterCairoTexture -rather than adding to it. - - - - - - Creates a new Cairo context for the @cairo texture. It is -similar to using clutter_cairo_texture_create_region() with @x_offset -and @y_offset of 0, @width equal to the @cairo texture surface width -and @height equal to the @cairo texture surface height. -<warning><para>Do not call this function within the paint virtual -function or from a callback to the #ClutterActor::paint -signal.</para></warning> -to upload the contents of the context when done drawing - - a newly created Cairo context. Use cairo_destroy() - - - - - Creates a new Cairo context that will updat the region defined -by @x_offset, @y_offset, @width and @height. -<warning><para>Do not call this function within the paint virtual -function or from a callback to the #ClutterActor::paint -signal.</para></warning> -to upload the contents of the context when done drawing - - a newly created Cairo context. Use cairo_destroy() - - - - - offset of the region on the X axis - - - - offset of the region on the Y axis - - - - width of the region, or -1 for the full surface width - - - - height of the region, or -1 for the full surface height - - - - - - Retrieves the surface width and height for @self. - - - - - - return location for the surface width, or %NULL - - - - return location for the surface height, or %NULL - - - - - - Resizes the Cairo surface used by @self to @width and @height. - - - - - - the new width of the surface - - - - the new height of the surface - - - - - - The height of the Cairo surface used by the #ClutterCairoTexture -actor, in pixels. - - - - The width of the Cairo surface used by the #ClutterCairoTexture -actor, in pixels. - - - - - - - - - - - The #ClutterCairoTextureClass struct contains only private data. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Generic callback - - - - - - a #ClutterActor - - - - user data - - - - - - - - - - - - - - - - - - - - - Base interface for container specific state for child actors. A child -data is meant to be used when you need to keep track of information -about each individual child added to a container. -In order to use it you should create your own subclass of -#ClutterChildMeta and set the #ClutterContainerIface::child_meta_type -interface member to your subclass type, like: -|[ -static void -my_container_iface_init (ClutterContainerIface *iface) -{ -/&ast; set the rest of the #ClutterContainer vtable &ast;/ -container_iface->child_meta_type = MY_TYPE_CHILD_META; -} -]| -This will automatically create a #ClutterChildMeta of type -MY_TYPE_CHILD_META for every actor that is added to the container. -The child data for an actor can be retrieved using the -clutter_container_get_child_meta() function. -The properties of the data and your subclass can be manipulated with -clutter_container_child_set() and clutter_container_child_get() which -act like g_object_set() and g_object_get(). -You can provide hooks for your own storage as well as control the -instantiation by overriding #ClutterContainerIface::create_child_meta, -#ClutterContainerIface::destroy_child_meta and -#ClutterContainerIface::get_child_meta. - - Retrieves the actor wrapped by @data - - a #ClutterActor - - - - - Retrieves the container using @data - - a #ClutterContainer - - - - - The #ClutterActor being wrapped by this #ClutterChildMeta - - - - The #ClutterContainer that created this #ClutterChildMeta. - - - - - - - - - - - - - - The #ClutterChildMetaClass contains only private data - - - - - - - - - - - - The <structname>ClutterClickAction</structname> structure contains -only private data and should be accessed using the provided API - - Creates a new #ClutterClickAction instance - - the newly created #ClutterClickAction - - - - - Retrieves the button that was pressed. - - the button value - - - - - Emulates a release of the pointer button, which ungrabs the pointer -and unsets the #ClutterClickAction:pressed state. -This function is useful to break a grab, for instance after a certain -amount of time has passed. - - - - - - Whether the clickable actor has the pointer grabbed - - - - Whether the clickable actor should be in "pressed" state - - - - - - - - - - The ::clicked signal is emitted when the #ClutterActor to which -a #ClutterClickAction has been applied should respond to a -pointer button press and release events - - - - - - the #ClutterActor attached to the @action - - - - - - - The <structname>ClutterClickActionClass</structname> structure -contains only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterClone structure contains only private data -and should be accessed using the provided API - - - - - Creates a new #ClutterActor which clones @source/ - - the newly created #ClutterClone - - - - - a #ClutterActor, or %NULL - - - - - - Retrieves the source #ClutterActor being cloned by @clone - - the actor source for the clone - - - - - Sets @source as the source actor to be cloned by @clone. - - - - - - a #ClutterActor, or %NULL - - - - - - This property specifies the source actor being cloned. - - - - - - - - - - - The #ClutterCloneClass structure contains only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Color representation. - - - - - - - - - - - - - - Creates a new #ClutterColor with the given values. -Use clutter_color_free() when done - - the newly allocated color. - - - - - red component of the color, between 0 and 255 - - - - green component of the color, between 0 and 255 - - - - blue component of the color, between 0 and 255 - - - - alpha component of the color, between 0 and 255 - - - - - - Adds @a to @b and saves the resulting color inside @result. -The alpha channel of @result is set as as the maximum value -between the alpha channels of @a and @b. - - - - - - a #ClutterColor - - - - return location for the result - - - - - - Makes a copy of the color structure. The result must be -freed using clutter_color_free(). - - an allocated copy of @color. - - - - - Darkens @color by a fixed amount, and saves the changed color -in @result. - - - - - - return location for the darker color - - - - - - Frees a color structure created with clutter_color_copy(). - - - - - - Converts a color expressed in HLS (hue, luminance and saturation) -values into a #ClutterColor. - - - - - - hue value, in the 0 .. 360 range - - - - luminance value, in the 0 .. 1 range - - - - saturation value, in the 0 .. 1 range - - - - - - Converts @pixel from the packed representation of a four 8 bit channel -color to a #ClutterColor. - - - - - - a 32 bit packed integer containing a color - - - - - - Parses a string definition of a color, filling the -<structfield>red</structfield>, <structfield>green</structfield>, -<structfield>blue</structfield> and <structfield>alpha</structfield> -channels of @color. If alpha is not specified it will be set full opaque. -The @color is not allocated. -The color may be defined by any of the formats understood by -pango_color_from_string(); these include literal color names, like -<literal>Red</literal> or <literal>DarkSlateGray</literal>, or -hexadecimal specifications like <literal>&num;3050b2</literal> or -<literal>&num;333</literal>. - - %TRUE if parsing succeeded. - - - - - a string specifiying a color (named color or #RRGGBBAA) - - - - - - Lightens @color by a fixed amount, and saves the changed color -in @result. - - - - - - return location for the lighter color - - - - - - Shades @color by @factor and saves the modified color into @result. - - - - - - the shade factor to apply - - - - return location for the shaded color - - - - - - Subtracts @b from @a and saves the resulting color inside @result. -This function assumes that the components of @a are greater than the -components of @b; the result is, otherwise, undefined. -The alpha channel of @result is set as the minimum value -between the alpha channels of @a and @b. - - - - - - a #ClutterColor - - - - return location for the result - - - - - - Converts @color to the HLS format. -The @hue value is in the 0 .. 360 range. The @luminance and - - - - - - return location for the hue value or %NULL - - - - return location for the luminance value or %NULL - - - - return location for the saturation value or %NULL - - - - - - Converts @color into a packed 32 bit integer, containing -all the four 8 bit channels used by #ClutterColor. - - a packed color - - - - - Returns a textual specification of @color in the hexadecimal form -<literal>&num;rrggbbaa</literal>, where <literal>r</literal>, -<literal>g</literal>, <literal>b</literal> and <literal>a</literal> are -hex digits representing the red, green, blue and alpha components -respectively. - - a newly-allocated text string - - - - - - <structname>ClutterColorizeEffect</structname> is an opaque structure -whose members cannot be directly accessed -SinceL 1.4 - - Creates a new #ClutterColorizeEffect to be used with -clutter_actor_add_effect() - - the newly created #ClutterColorizeEffect or %NULL - - - - - the color to be used - - - - - - Retrieves the tint used by @effect - - - - - - return location for the color used - - - - - - Sets the tint to be used when colorizing - - - - - - the color to be used - - - - - - The tint to apply to the actor - - - - - - - - The <structname>ClutterConstraint</structname> structure contains only -private data and should be accessed using the provided API - - - - - - - - - - - - - - - - - - - The <structname>ClutterConstraintClass</structname> structure contains -only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #ClutterContainer is an opaque structure whose members cannot be directly -accessed - - - - - - - - - - - - Creates the #ClutterChildMeta wrapping @actor inside the -class member is not set to %G_TYPE_INVALID. -This function is only useful when adding a #ClutterActor to -a #ClutterContainer implementation outside of the -#ClutterContainer::add() virtual function implementation. -Applications should not call this function. - - - - - - a #ClutterActor - - - - - - Destroys the #ClutterChildMeta wrapping @actor inside the -This function is only useful when removing a #ClutterActor to -a #ClutterContainer implementation outside of the -#ClutterContainer::add() virtual function implementation. -Applications should not call this function. - - - - - - a #ClutterActor - - - - - - Calls @callback for each child of @container that was added -by the application (with clutter_container_add_actor()). Does -not iterate over "internal" children that are part of the -container's own implementation, if any. - - - - - - a function to be called for each child - - - - data to be passed to the function, or %NULL - - - - - - Calls @callback for each child of @container, including "internal" -children built in to the container itself that were never added -by the application. - - - - - - a function to be called for each child - - - - data to be passed to the function, or %NULL - - - - - - Retrieves the #ClutterChildMeta which contains the data about the -of @container or %NULL if the specifiec actor does not exist or the -container is not configured to provide #ClutterChildMeta<!-- -->s - - the #ClutterChildMeta for the @actor child - - - - - a #ClutterActor that is a child of @container. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Sorts a container's children using their depth. This function should not -be normally used by applications. - - - - - - Adds a list of #ClutterActor<!-- -->s to @container. Each time and -actor is added, the "actor-added" signal is emitted. Each actor should -be parented to @container, which takes a reference on the actor. You -cannot add a #ClutterActor to more than one #ClutterContainer. - - - - - - the first #ClutterActor to add - - - - - - - - - - Adds a #ClutterActor to @container. This function will emit the -"actor-added" signal. The actor should be parented to -#ClutterContainer. - - - - - - the first #ClutterActor to add - - - - - - Alternative va_list version of clutter_container_add(). - - - - - - the first #ClutterActor to add - - - - list of actors to add, followed by %NULL - - - - - - Gets @container specific properties of an actor. -In general, a copy is made of the property contents and the caller is -responsible for freeing the memory in the appropriate manner for the type, for -instance by calling g_free() or g_object_unref(). - - - - - - a #ClutterActor that is a child of @container. - - - - name of the first property to be set. - - - - - - - - - - Gets a container specific property of a child of @container, In general, -a copy is made of the property contents and the caller is responsible for -freeing the memory by calling g_value_unset(). -Note that clutter_container_child_set_property() is really intended for -language bindings, clutter_container_child_set() is much more convenient -for C programming. - - - - - - a #ClutterActor that is a child of @container. - - - - the name of the property to set. - - - - the value. - - - - - - Sets container specific properties on the child of a container. - - - - - - a #ClutterActor that is a child of @container. - - - - name of the first property to be set. - - - - - - - - - - Sets a container-specific property on a child of @container. - - - - - - a #ClutterActor that is a child of @container. - - - - the name of the property to set. - - - - the value. - - - - - - Creates the #ClutterChildMeta wrapping @actor inside the -class member is not set to %G_TYPE_INVALID. -This function is only useful when adding a #ClutterActor to -a #ClutterContainer implementation outside of the -#ClutterContainer::add() virtual function implementation. -Applications should not call this function. - - - - - - a #ClutterActor - - - - - - Destroys the #ClutterChildMeta wrapping @actor inside the -This function is only useful when removing a #ClutterActor to -a #ClutterContainer implementation outside of the -#ClutterContainer::add() virtual function implementation. -Applications should not call this function. - - - - - - a #ClutterActor - - - - - - Finds a child actor of a container by its name. Search recurses -into any child container. -or %NULL if no actor with that name was found. - - The child actor with the requested name, - - - - - the name of the requested child. - - - - - - Calls @callback for each child of @container that was added -by the application (with clutter_container_add_actor()). Does -not iterate over "internal" children that are part of the -container's own implementation, if any. - - - - - - a function to be called for each child - - - - data to be passed to the function, or %NULL - - - - - - Calls @callback for each child of @container, including "internal" -children built in to the container itself that were never added -by the application. - - - - - - a function to be called for each child - - - - data to be passed to the function, or %NULL - - - - - - Retrieves the #ClutterChildMeta which contains the data about the -of @container or %NULL if the specifiec actor does not exist or the -container is not configured to provide #ClutterChildMeta<!-- -->s - - the #ClutterChildMeta for the @actor child - - - - - a #ClutterActor that is a child of @container. - - - - - - Retrieves all the children of @container. -of #ClutterActor<!-- -->s. Use g_list_free() on the returned -list when done. - - a list - - - - - - - Lowers @actor to @sibling level, in the depth ordering. - - - - - - the actor to raise - - - - the sibling to lower to, or %NULL to lower to the bottom - - - - - - Raises @actor to @sibling level, in the depth ordering. - - - - - - the actor to raise - - - - the sibling to raise to, or %NULL to raise to the top - - - - - - Removes a %NULL terminated list of #ClutterActor<!-- -->s from -around you must hold a reference to it yourself, using g_object_ref(). -Each time an actor is removed, the "actor-removed" signal is -emitted by @container. - - - - - - first #ClutterActor to remove - - - - - - - - - - Removes @actor from @container. The actor should be unparented, so -if you want to keep it around you must hold a reference to it -yourself, using g_object_ref(). When the actor has been removed, -the "actor-removed" signal is emitted by @container. - - - - - - a #ClutterActor - - - - - - Alternative va_list version of clutter_container_remove(). - - - - - - the first #ClutterActor to add - - - - list of actors to remove, followed by %NULL - - - - - - Sorts a container's children using their depth. This function should not -be normally used by applications. - - - - - - The ::actor-added signal is emitted each time an actor -has been added to @container. - - - - - - the new child that has been added to @container - - - - - - The ::actor-removed signal is emitted each time an actor -is removed from @container. - - - - - - the child that has been removed from @container - - - - - - The ::child-notify signal is emitted each time a property is -being set through the clutter_container_child_set() and -clutter_container_child_set_property() calls. - - - - - - the child that has had a property set. - - - - - - - - - - Base interface for container actors. The @add, @remove and @foreach -virtual functions must be provided by any implementation; the other -virtual functions are optional. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a function to be called for each child - - - - data to be passed to the function, or %NULL - - - - - - - - - - - - - - - - a function to be called for each child - - - - data to be passed to the function, or %NULL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a #ClutterActor - - - - - - - - - - - - - - - - a #ClutterActor - - - - - - - - - the #ClutterChildMeta for the @actor child - - - - - - - - a #ClutterActor that is a child of @container. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Event for the movement of the pointer across different actors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The <structname>ClutterDeformEffect</structname> structure contains -only private data and should be accessed using the provided API - - - - - - - - - - - - - - - - - - Retrieves the handle to the back face material used by @effect -The returned material is owned by the #ClutterDeformEffect and it -should not be freed directly - - a handle for the material, or %NULL. - - - - - Retrieves the number of horizontal and vertical tiles used to sub-divide -the actor's geometry during the effect - - - - - - return location for the number of horizontal tiles, or %NULL - - - - return location for the number of vertical tiles, or %NULL - - - - - - Invalidates the @effect<!-- -->'s vertices and, if it is associated -to an actor, it will queue a redraw - - - - - - Sets the material that should be used when drawing the back face -of the actor during a deformation -The #ClutterDeformEffect will take a reference on the material's -handle - - - - - - a handle to a Cogl material - - - - - - Sets the number of horizontal and vertical tiles to be used -when applying the effect -More tiles allow a finer grained deformation at the expenses -of computation - - - - - - number of horizontal tiles - - - - number of vertical tiles - - - - - - A material to be used when painting the back of the actor -to which this effect has been applied -By default, no material will be used - - - - The number of horizontal tiles. The bigger the number, the -smaller the tiles - - - - The number of vertical tiles. The bigger the number, the -smaller the tiles - - - - - - - - - - - The <structname>ClutterDeformEffectClass</structname> structure contains -only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <structname>ClutterDesaturateEffect</structname> is an opaque structure -whose members cannot be directly accessed - - Creates a new #ClutterDesaturateEffect to be used with -clutter_actor_add_effect() - - the newly created #ClutterDesaturateEffect or %NULL - - - - - the desaturation factor, between 0.0 and 1.0 - - - - - - Retrieves the desaturation factor of @effect - - the desaturation factor - - - - - Sets the desaturation factor for @effect, with 0.0 being "do not desaturate" -and 1.0 being "fully desaturate" - - - - - - the desaturation factor, between 0.0 and 1.0 - - - - - - The desaturation factor, between 0.0 (no desaturation) and 1.0 (full -desaturation). - - - - - The #ClutterDeviceManager structure contains only private data - - Retrieves the device manager singleton -The returned instance is owned by Clutter and it should not be -modified or freed - - the #ClutterDeviceManager singleton. - - - - - - - - - - - - - - - Retrieves the core #ClutterInputDevice of type @device_type -Core devices are devices created automatically by the default -Clutter backend -returned device is owned by the #ClutterDeviceManager and should -not be modified or freed - - a #ClutterInputDevice or %NULL. The - - - - - - - - - - Retrieves the #ClutterInputDevice with the given @device_id -returned device is owned by the #ClutterDeviceManager and should -never be modified or freed - - a #ClutterInputDevice or %NULL. The - - - - - - - - - - - - - - - - - - - - - - - - - - - Retrieves the core #ClutterInputDevice of type @device_type -Core devices are devices created automatically by the default -Clutter backend -returned device is owned by the #ClutterDeviceManager and should -not be modified or freed - - a #ClutterInputDevice or %NULL. The - - - - - the type of the core device - - - - - - Retrieves the #ClutterInputDevice with the given @device_id -returned device is owned by the #ClutterDeviceManager and should -never be modified or freed - - a #ClutterInputDevice or %NULL. The - - - - - the integer id of a device - - - - - - Lists all currently registered input devices -a newly allocated list of #ClutterInputDevice objects. Use -g_slist_free() to deallocate it when done - - - - - - - - Lists all currently registered input devices -a pointer to the internal list of #ClutterInputDevice objects. The -returned list is owned by the #ClutterDeviceManager and should never -be modified or freed - - - - - - - - - - - - - - - - - The ::device-added signal is emitted each time a device has been -added to the #ClutterDeviceManager - - - - - - the newly added #ClutterInputDevice - - - - - - The ::device-removed signal is emitted each time a device has been -removed from the #ClutterDeviceManager - - - - - - the removed #ClutterInputDevice - - - - - - - The #ClutterDeviceManagerClass structure contains only private data - - - - - - - - - - - - - - - - - - - - - a #ClutterInputDevice or %NULL. The - - - - - - - - - - - - - - - - a #ClutterInputDevice or %NULL. The - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The <structname>ClutterDragAction</structname> structure contains only -private data and should be accessed using the provided API - - Creates a new #ClutterDragAction instance - - the newly created #ClutterDragAction - - - - - Retrieves the axis constraint set by clutter_drag_action_set_drag_axis() - - the axis constraint - - - - - Retrieves the drag handle set by clutter_drag_action_set_drag_handle() -handle, or %NULL if none was set - - a #ClutterActor, used as the drag - - - - - Retrieves the values set by clutter_drag_action_set_drag_threshold() - - - - - - return location for the horizontal drag threshold value, in pixels - - - - return location for the vertical drag threshold value, in pixels - - - - - - Retrieves the coordinates, in stage space, of the latest motion -event during the dragging - - - - - - return location for the latest motion event's X coordinate - - - - return location for the latest motion event's Y coordinate - - - - - - Retrieves the coordinates, in stage space, of the press event -that started the dragging - - - - - - return location for the press event's X coordinate - - - - return location for the press event's Y coordinate - - - - - - Restricts the dragging action to a specific axis - - - - - - the axis to constraint the dragging to - - - - - - Sets the actor to be used as the drag handle - - - - - - a #ClutterActor - - - - - - Sets the horizontal and vertical drag thresholds that must be -cleared by the pointer before @action can begin the dragging - - - - - - a distance on the horizontal axis, in pixels - - - - a distance on the vertical axis, in pixels - - - - - - Constraints the dragging action to the specified axis - - - - The #ClutterActor that is effectively being dragged -A #ClutterDragAction will, be default, use the #ClutterActor that -has been attached to the action; it is possible to create a -separate #ClutterActor and use it instead. -Setting this property has no effect on the #ClutterActor argument -passed to the #ClutterDragAction signals - - - - The horizontal threshold, in pixels, that begins a drag action -When set to a non-zero value, #ClutterDragAction will only emit -#ClutterDragAction::drag-begin if the pointer has moved -horizontally at least of the given amount of pixels since -the button press event - - - - The vertical threshold, in pixels, that begins a drag action -When set to a non-zero value, #ClutterDragAction will only emit -#ClutterDragAction::drag-begin if the pointer has moved -vertically at least of the given amount of pixels since -the button press event - - - - - - - - - - The ::drag-begin signal is emitted when the #ClutterDragAction -starts the dragging -The emission of this signal can be delayed by using the -#ClutterDragAction:x-drag-threshold and -#ClutterDragAction:y-drag-threshold properties - - - - - - the #ClutterActor attached to the action - - - - the X coordinate (in stage space) of the press event - - - - the Y coordinate (in stage space) of the press event - - - - the modifiers of the press event - - - - - - The ::drag-end signal is emitted at the end of the dragging, -when the pointer button's is released -This signal is emitted if and only if the #ClutterDragAction::drag-begin -signal has been emitted first - - - - - - the #ClutterActor attached to the action - - - - the X coordinate (in stage space) of the release event - - - - the Y coordinate (in stage space) of the release event - - - - the modifiers of the release event - - - - - - - - - - - - - - - - - - - - - - - The <structname>ClutterDragActionClass</structname> structure contains -only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The axis of the constraint that should be applied on the -dragging action - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterEffect structure contains only private data and should -be accessed using the provided API - - - - - - - - - - - - - - - - The #ClutterEffectClass structure contains only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Generic event wrapper. - - - - - - - - - - - - - - - - - - - - - - - - - - Creates a new #ClutterEvent of the specified type. - - A newly allocated #ClutterEvent. - - - - - The type of event. - - - - - - Copies @event. - - A newly allocated #ClutterEvent - - - - - Frees all resources used by @event. - - - - - - Retrieves the button number of @event - - the button number - - - - - Retrieves the number of clicks of @event - - the click count - - - - - Retrieves the coordinates of @event and puts them into @x and @y. - - - - - - return location for the X coordinate, or %NULL - - - - return location for the Y coordinate, or %NULL - - - - - - Retrieves the #ClutterInputDevice for the event. -The #ClutterInputDevice structure is completely opaque and should -be cast to the platform-specific implementation. -returned device is owned by the #ClutterEvent and it should not -be unreferenced - - the #ClutterInputDevice or %NULL. The - - - - - Retrieves the events device id if set. -no specific device set. - - A unique identifier for the device or -1 if the event has - - - - - Retrieves the type of the device for @event -any is set - - the #ClutterInputDeviceType for the device, if - - - - - Retrieves the #ClutterEventFlags of @event - - the event flags - - - - - Retrieves the keycode of the key that caused @event - - The keycode representing the key - - - - - Retrieves the key symbol of @event - - the key symbol representing the key - - - - - Retrieves the unicode value for the key that caused @keyev. - - The unicode value representing the key - - - - - Retrieves the related actor of a crossing event. - - the related #ClutterActor, or %NULL - - - - - Retrieves the direction of the scrolling of @event - - the scrolling direction - - - - - Retrieves the source #ClutterActor the event originated from, or -NULL if the event has no source. - - a #ClutterActor - - - - - Retrieves the source #ClutterStage the event originated for, or -%NULL if the event has no stage. - - a #ClutterStage - - - - - Retrieves the modifier state of the event. - - the modifier state parameter, or 0 - - - - - Retrieves the time of the event. - - the time of the event, or %CLUTTER_CURRENT_TIME - - - - - Puts a copy of the event on the back of the event queue. The event will -have the %CLUTTER_EVENT_FLAG_SYNTHETIC flag set. If the source is set -event signals will be emitted for this source and capture/bubbling for -its ancestors. If the source is not set it will be generated by picking -or use the actor that currently has keyboard focus - - - - - - Retrieves the type of the event. - - a #ClutterEventType - - - - - - Flags for the #ClutterEvent - - - - - Types of events. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Runtime flags indicating specific features available via Clutter window -sysytem and graphics backend. - - - - - - - - - - - - - - - - - - - - - - - The #ClutterFixedLayout structure contains only private data and -it should be accessed using the provided API - - Creates a new #ClutterFixedLayout - - the newly created #ClutterFixedLayout - - - - - - - - - The #ClutterFixedLayoutClass structure contains only private data -and it should be accessed using the provided API - - - - - - The #ClutterFlowLayout structure contains only private data -and should be accessed using the provided API - - Creates a new #ClutterFlowLayout with the given @orientation - - the newly created #ClutterFlowLayout - - - - - the orientation of the flow layout - - - - - - Retrieves the spacing between columns -in pixels - - the spacing between columns of the #ClutterFlowLayout, - - - - - Retrieves the minimum and maximum column widths - - - - - - return location for the minimum column width, or %NULL - - - - return location for the maximum column width, or %NULL - - - - - - Retrieves whether the @layout is homogeneous - - %TRUE if the #ClutterFlowLayout is homogeneous - - - - - Retrieves the orientation of the @layout - - the orientation of the #ClutterFlowLayout - - - - - Retrieves the minimum and maximum row heights - - - - - - return location for the minimum row height, or %NULL - - - - return location for the maximum row height, or %NULL - - - - - - Retrieves the spacing between rows -in pixels - - the spacing between rows of the #ClutterFlowLayout, - - - - - Sets the space between columns, in pixels - - - - - - the space between columns - - - - - - Sets the minimum and maximum widths that a column can have - - - - - - minimum width of a column - - - - maximum width of a column - - - - - - Sets whether the @layout should allocate the same space for -each child - - - - - - whether the layout should be homogeneous or not - - - - - - Sets the orientation of the flow layout -The orientation controls the direction used to allocate -orientation also controls the direction of the overflowing - - - - - - the orientation of the layout - - - - - - Sets the minimum and maximum heights that a row can have - - - - - - the minimum height of a row - - - - the maximum height of a row - - - - - - Sets the spacing between rows, in pixels - - - - - - the space between rows - - - - - - The spacing between columns, in pixels; the value of this -property is honoured by horizontal non-overflowing layouts -and by vertical overflowing layouts - - - - Whether each child inside the #ClutterFlowLayout should receive -the same allocation - - - - Maximum width for each column in the layout, in pixels. If -set to -1 the width will be the maximum child width - - - - Maximum height for each row in the layout, in pixels. If -set to -1 the width will be the maximum child height - - - - Minimum width for each column in the layout, in pixels - - - - Minimum height for each row in the layout, in pixels - - - - The orientation of the #ClutterFlowLayout. The children -of the layout will be layed out following the orientation. -This property also controls the overflowing directions - - - - The spacing between rows, in pixels; the value of this -property is honoured by vertical non-overflowing layouts and -by horizontal overflowing layouts - - - - - - - - - - - The #ClutterFlowLayoutClass structure contains only private data -and should be accessed using the provided API - - - - - - - - The direction of the arrangement of the children inside -a #ClutterFlowLayout - - - - - Fog settings used to create the depth cueing effect. - - - - - - - - - Runtime flags to change the font quality. To be used with -clutter_set_font_flags(). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The rectangle containing an actor's bounding box, measured in pixels. - - - - - - - - - - - - - - Determines if @geometry0 and geometry1 intersect returning %TRUE if -they do else %FALSE. -%FALSE. - - %TRUE of @geometry0 and geometry1 intersect else - - - - - The second geometry to test - - - - - - Find the union of two rectangles represented as #ClutterGeometry. - - - - - - another #ClutterGeometry - - - - location to store the result - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gravity of the scaling operations. When a gravity different than -%CLUTTER_GRAVITY_NONE is used, an actor is scaled keeping the position -of the specified portion at the same coordinates. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterGroup structure contains only private data -and should be accessed using the provided API - - - - - - Create a new #ClutterGroup. - - the newly created #ClutterGroup actor - - - - - Gets the number of actors held in the group. - - The number of child actors held in the group. - - - - - Gets a groups child held at @index_ in stack. - - A Clutter actor, or %NULL if - - - - - the position of the requested actor. - - - - - - Removes all children actors from the #ClutterGroup. - - - - - - - - - - - - - The #ClutterGroupClass structure contains only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Error conditions returned by clutter_init() and clutter_init_with_args(). - - - - - - - - Generic representation of an input device. The actual contents of this -structure depend on the backend used. - - Retrieves the latest coordinates of the pointer of @device - - - - - - return location for the X coordinate - - - - return location for the Y coordinate - - - - - - Retrieves the unique identifier of @device - - the identifier of the device - - - - - Retrieves the name of the @device -is owned by the #ClutterInputDevice and should never be modified -or freed - - the name of the device, or %NULL. The returned string - - - - - Retrieves the type of @device - - the type of the device - - - - - Retrieves the #ClutterActor underneath the pointer of @device - - a pointer to the #ClutterActor or %NULL - - - - - Retrieves the #ClutterStage underneath the pointer of @device - - a pointer to the #ClutterStage or %NULL - - - - - Forcibly updates the state of the @device using a #ClutterEvent -for integration with embedding toolkits, like clutter-gtk -Embedding toolkits that disable the event collection inside Clutter -need to use this function to update the state of input devices depending -on a #ClutterEvent that they are going to submit to the event handling code -in Clutter though clutter_do_event(). Since the input devices hold the state -that is going to be used to fill in fields like the #ClutterButtonEvent -click count, or to emit synthesized events like %CLUTTER_ENTER and -%CLUTTER_LEAVE, it is necessary for embedding toolkits to also be -responsible of updating the input device state. -For instance, this might be the code to translate an embedding toolkit -native motion notification into a Clutter #ClutterMotionEvent and ask -Clutter to process it: -|[ -ClutterEvent c_event; -translate_native_event_to_clutter (native_event, &amp;c_event); -clutter_do_event (&amp;c_event); -]| -Before letting clutter_do_event() process the event, it is necessary to call -clutter_input_device_update_from_event(): -|[ -ClutterEvent c_event; -ClutterDeviceManager *manager; -ClutterInputDevice *device; -translate_native_event_to_clutter (native_event, &amp;c_event); -/&ast; get the device manager &ast;/ -manager = clutter_device_manager_get_default (); -/&ast; use the default Core Pointer that Clutter -&ast; backends register by default -&ast;/ -device = clutter_device_manager_get_core_device (manager, %CLUTTER_POINTER_DEVICE); -/&ast; update the state of the input device &ast;/ -clutter_input_device_update_from_event (device, &amp;c_event, FALSE); -clutter_do_event (&amp;c_event); -]| -The @update_stage boolean argument should be used when the input device -enters and leaves a #ClutterStage; it will use the #ClutterStage field -of the passed @event to update the stage associated to the input device. - - - - - - a #ClutterEvent - - - - whether to update the #ClutterStage of the @device using the stage of the event - - - - - - The type of the device - - - - The unique identifier of the device - - - - The name of the device - - - - - The #ClutterInputDeviceClass structure contains only private -data and should not be accessed directly - - - - - - The types of input devices available. -The #ClutterInputDeviceType enumeration can be extended at later -date; not every platform supports every input device type. - - - - - - - - - - The mode of interpolation between key frames - - - - - The #ClutterInterval structure contains only private data and should -be accessed using the provided functions. - - Creates a new #ClutterInterval holding values of type @gtype. -This function avoids using a #GValue for the initial and final values -of the interval: -|[ -interval = clutter_interval_new (G_TYPE_FLOAT, 0.0, 1.0); -interval = clutter_interval_new (G_TYPE_BOOLEAN, FALSE, TRUE); -interval = clutter_interval_new (G_TYPE_INT, 0, 360); -]| - - the newly created #ClutterInterval - - - - - the type of the values in the interval - - - - - - - - - - Creates a new #ClutterInterval of type @gtype, between @initial -and @final. -This function is useful for language bindings. - - the newly created #ClutterInterval - - - - - the type of the values in the interval - - - - a #GValue holding the initial value of the interval - - - - a #GValue holding the final value of the interval - - - - - - Sets the progress function for a given @value_type, like: -|[ -clutter_interval_register_progress_func (MY_TYPE_FOO, -my_foo_progress); -]| -Whenever a #ClutterInterval instance using the default -#ClutterInterval::compute_value implementation is set as an -interval between two #GValue of type @value_type, it will call -for instance: -|[ -static gboolean -my_int_progress (const GValue *a, -const GValue *b, -gdouble progress, -GValue *retval) -{ -gint ia = g_value_get_int (a); -gint ib = g_value_get_int (b); -gint res = factor * (ib - ia) + ia; -g_value_set_int (retval, res); -return TRUE; -} -clutter_interval_register_progress_func (G_TYPE_INT, my_int_progress); -]| -To unset a previously set progress function of a #GType, pass %NULL -for @func. - - - - - - a #GType - - - - a #ClutterProgressFunc, or %NULL to unset a previously set progress function - - - - - - Computes the value between the @interval boundaries given the -progress @factor and copies it into @value. - - %TRUE if the operation was successful - - - - - the progress factor, between 0 and 1 - - - - return location for an initialized #GValue - - - - - - Validates the initial and final values of @interval against -a #GParamSpec. - - %TRUE if the #ClutterInterval is valid, %FALSE otherwise - - - - - a #GParamSpec - - - - - - Creates a copy of @interval. - - the newly created #ClutterInterval - - - - - Computes the value between the @interval boundaries given the -progress @factor -Unlike clutter_interval_compute_value(), this function will -return a const pointer to the computed value -You should use this function if you immediately pass the computed -value to another function that makes a copy of it, like -g_object_set_property() -or %NULL if the computation was not successfull - - a pointer to the computed value, - - - - - the progress factor, between 0 and 1 - - - - - - Computes the value between the @interval boundaries given the -progress @factor and copies it into @value. - - %TRUE if the operation was successful - - - - - the progress factor, between 0 and 1 - - - - return location for an initialized #GValue - - - - - - Retrieves the final value of @interval and copies -it into @value. -The passed #GValue must be initialized to the value held by -the #ClutterInterval. - - - - - - a #GValue - - - - - - Retrieves the initial value of @interval and copies -it into @value. -The passed #GValue must be initialized to the value held by -the #ClutterInterval. - - - - - - a #GValue - - - - - - Variable arguments wrapper for clutter_interval_get_initial_value() -and clutter_interval_get_final_value() that avoids using the -#GValue arguments: -|[ -gint a = 0, b = 0; -clutter_interval_get_interval (interval, &a, &b); -]| -This function is meant for the convenience of the C API; bindings -should reimplement this function using the #GValue-based API. - - - - - - - - - - - - Retrieves the #GType of the values inside @interval. - - the type of the value, or G_TYPE_INVALID - - - - - Gets the pointer to the final value of @interval -The value is owned by the #ClutterInterval and it should not be -modified or freed - - the final value of the interval. - - - - - Gets the pointer to the initial value of @interval -The value is owned by the #ClutterInterval and it should not be -modified or freed - - the initial value of the interval. - - - - - Sets the final value of @interval to @value. The value is -copied inside the #ClutterInterval. - - - - - - a #GValue - - - - - - Sets the initial value of @interval to @value. The value is copied -inside the #ClutterInterval. - - - - - - a #GValue - - - - - - Variable arguments wrapper for clutter_interval_set_initial_value() -and clutter_interval_set_final_value() that avoids using the -#GValue arguments: -|[ -clutter_interval_set_interval (interval, 0, 50); -clutter_interval_set_interval (interval, 1.0, 0.0); -clutter_interval_set_interval (interval, FALSE, TRUE); -]| -This function is meant for the convenience of the C API; bindings -should reimplement this function using the #GValue-based API. - - - - - - - - - - - - Validates the initial and final values of @interval against -a #GParamSpec. - - %TRUE if the #ClutterInterval is valid, %FALSE otherwise - - - - - a #GParamSpec - - - - - - The type of the values in the interval. - - - - - - - - - - - The #ClutterIntervalClass contains only private data. - - - - - - - %TRUE if the #ClutterInterval is valid, %FALSE otherwise - - - - - - - - a #GParamSpec - - - - - - - - - %TRUE if the operation was successful - - - - - - - - the progress factor, between 0 and 1 - - - - return location for an initialized #GValue - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Key event - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Point in a path behaviour. - - - - - - - - Makes an allocated copy of a knot. - - the copied knot. - - - - - Compares to knot and checks if the point to the same location. - - %TRUE if the knots point to the same location. - - - - - Second knot - - - - - - Frees the memory of an allocated knot. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterLayoutManager structure contains only private data -and should be accessed using the provided API - - Allocates the children of @container given an area -See also clutter_actor_allocate() - - - - - - the #ClutterContainer using @manager - - - - the #ClutterActorBox containing the allocated area of @container - - - - the allocation flags - - - - - - Begins an animation of @duration milliseconds, using the provided -easing @mode -The easing mode can be specified either as a #ClutterAnimationMode -or as a logical id returned by clutter_alpha_register_func() -The result of this function depends on the @manager implementation -layout manager; the returned instance is owned by the layout -manager and should not be unreferenced - - The #ClutterAlpha created by the - - - - - the duration of the animation, in milliseconds - - - - the easing mode of the animation - - - - - - - - - - - - - - - - - - - Ends an animation started by clutter_layout_manager_begin_animation() -The result of this call depends on the @manager implementation - - - - - - Retrieves the progress of the animation, if one has been started by -clutter_layout_manager_begin_animation() -The returned value has the same semantics of the #ClutterAlpha:alpha -value - - the progress of the animation - - - - - - - - - - Computes the minimum and natural heights of the @container according -to @manager. -See also clutter_actor_get_preferred_height() - - - - - - the #ClutterContainer using @manager - - - - the width for which the height should be computed, or -1 - - - - - - - - - - - - Computes the minimum and natural widths of the @container according -to @manager. -See also clutter_actor_get_preferred_width() - - - - - - the #ClutterContainer using @manager - - - - the height for which the width should be computed, or -1 - - - - - - - - - - - - If the #ClutterLayoutManager sub-class allows it, allow -adding a weak reference of the @container using @manager -from within the layout manager -The layout manager should not increase the reference -count of the @container - - - - - - a #ClutterContainer using @manager - - - - - - Allocates the children of @container given an area -See also clutter_actor_allocate() - - - - - - the #ClutterContainer using @manager - - - - the #ClutterActorBox containing the allocated area of @container - - - - the allocation flags - - - - - - Begins an animation of @duration milliseconds, using the provided -easing @mode -The easing mode can be specified either as a #ClutterAnimationMode -or as a logical id returned by clutter_alpha_register_func() -The result of this function depends on the @manager implementation -layout manager; the returned instance is owned by the layout -manager and should not be unreferenced - - The #ClutterAlpha created by the - - - - - the duration of the animation, in milliseconds - - - - the easing mode of the animation - - - - - - Retrieves the values for a list of properties out of the -#ClutterLayoutMeta created by @manager and attached to the -child of a @container - - - - - - a #ClutterContainer using @manager - - - - a #ClutterActor child of @container - - - - the name of the first property - - - - - - - - - - Gets a property on the #ClutterLayoutMeta created by @manager and -attached to a child of @container -The #GValue must already be initialized to the type of the property -and has to be unset with g_value_unset() after extracting the real -value out of it - - - - - - a #ClutterContainer using @manager - - - - a #ClutterActor child of @container - - - - the name of the property to get - - - - a #GValue with the value of the property to get - - - - - - Sets a list of properties and their values on the #ClutterLayoutMeta -associated by @manager to a child of @container -Languages bindings should use clutter_layout_manager_child_set_property() -instead - - - - - - a #ClutterContainer using @manager - - - - a #ClutterActor child of @container - - - - the first property name - - - - - - - - - - Sets a property on the #ClutterLayoutMeta created by @manager and -attached to a child of @container - - - - - - a #ClutterContainer using @manager - - - - a #ClutterActor child of @container - - - - the name of the property to set - - - - a #GValue with the value of the property to set - - - - - - Ends an animation started by clutter_layout_manager_begin_animation() -The result of this call depends on the @manager implementation - - - - - - Retrieves the #GParamSpec for the layout property @name inside -the #ClutterLayoutMeta sub-class used by @manager -or %NULL if no property with that name exists. The returned -#GParamSpec is owned by the layout manager and should not be -modified or freed - - a #GParamSpec describing the property, - - - - - the name of the property - - - - - - Retrieves the progress of the animation, if one has been started by -clutter_layout_manager_begin_animation() -The returned value has the same semantics of the #ClutterAlpha:alpha -value - - the progress of the animation - - - - - Retrieves the #ClutterLayoutMeta that the layout @manager associated -to the @actor child of @container, eventually by creating one if the -#ClutterLayoutManager supports layout properties -#ClutterLayoutManager does not have layout properties. The returned -layout meta instance is owned by the #ClutterLayoutManager and it -should not be unreferenced - - a #ClutterLayoutMeta, or %NULL if the - - - - - a #ClutterContainer using @manager - - - - a #ClutterActor child of @container - - - - - - Computes the minimum and natural heights of the @container according -to @manager. -See also clutter_actor_get_preferred_height() - - - - - - the #ClutterContainer using @manager - - - - the width for which the height should be computed, or -1 - - - - return location for the minimum height of the layout, or %NULL - - - - return location for the natural height of the layout, or %NULL - - - - - - Computes the minimum and natural widths of the @container according -to @manager. -See also clutter_actor_get_preferred_width() - - - - - - the #ClutterContainer using @manager - - - - the height for which the width should be computed, or -1 - - - - return location for the minimum width of the layout, or %NULL - - - - return location for the natural width of the layout, or %NULL - - - - - - Emits the #ClutterLayoutManager::layout-changed signal on @manager -This function should only be called by implementations of the -#ClutterLayoutManager class - - - - - - Retrieves all the #GParamSpec<!-- -->s for the layout properties -stored inside the #ClutterLayoutMeta sub-class used by @manager -%NULL-terminated array of #GParamSpec<!-- -->s. Use g_free() to free the -resources allocated for the array - - the newly-allocated, - - - - - - - return location for the number of returned #GParamSpec<!-- -->s - - - - - - If the #ClutterLayoutManager sub-class allows it, allow -adding a weak reference of the @container using @manager -from within the layout manager -The layout manager should not increase the reference -count of the @container - - - - - - a #ClutterContainer using @manager - - - - - - - - - - - - The ::layout-changed signal is emitted each time a layout manager -has been changed. Every #ClutterActor using the @manager instance -as a layout manager should connect a handler to the ::layout-changed -signal and queue a relayout on themselves: -|[ -static void layout_changed (ClutterLayoutManager *manager, -ClutterActor *self) -{ -clutter_actor_queue_relayout (self); -} -... -self->manager = g_object_ref_sink (manager); -g_signal_connect (self->manager, "layout-changed", -G_CALLBACK (layout_changed), -self); -]| -Sub-classes of #ClutterLayoutManager that implement a layout that -can be controlled or changed using parameters should emit the -::layout-changed signal whenever one of the parameters changes, -by using clutter_layout_manager_layout_changed(). - - - - - - - The #ClutterLayoutManagerClass structure contains only private -data and should be accessed using the provided API - - - - - - - - - - - - - - the #ClutterContainer using @manager - - - - the height for which the width should be computed, or -1 - - - - - - - - - - - - - - - - - - - - - - the #ClutterContainer using @manager - - - - the width for which the height should be computed, or -1 - - - - - - - - - - - - - - - - - - - - - - the #ClutterContainer using @manager - - - - the #ClutterActorBox containing the allocated area of @container - - - - the allocation flags - - - - - - - - - - - - - - - - a #ClutterContainer using @manager - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterAlpha created by the - - - - - - - - the duration of the animation, in milliseconds - - - - the easing mode of the animation - - - - - - - - - the progress of the animation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Retrieves the actor wrapped by @data - - a #ClutterLayoutManager - - - - - The #ClutterLayoutManager that created this #ClutterLayoutMeta. - - - - - - - - - - - - - - - - - The #ClutterLayoutMetaClass contains only private data and -should never be accessed directly - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterListModel struct contains only private data. - - - Creates a new default model with @n_columns columns with the types -and names passed in. -For example: -<informalexample><programlisting> -model = clutter_list_model_new (3, -G_TYPE_INT, "Score", -G_TYPE_STRING, "Team", -GDK_TYPE_PIXBUF, "Logo"); -</programlisting></informalexample> -will create a new #ClutterModel with three columns of type int, -string and #GdkPixbuf respectively. -Note that the name of the column can be set to %NULL, in which case -the canonical name of the type held by the column will be used as -the title. - - a new #ClutterListModel - - - - - number of columns in the model - - - - - - - - - - Non-vararg version of clutter_list_model_new(). This function is -useful for language bindings. - - a new default #ClutterModel - - - - - number of columns in the model - - - - an array of #GType types for the columns, from first to last - - - - an array of names for the columns, from first to last - - - - - - - - - - - - - The #ClutterListModelClass struct contains only private data. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #ClutterMedia is an opaque structure whose members cannot be directly -accessed - - Retrieves the playback volume of @media. - - The playback volume between 0.0 and 1.0 - - - - - Retrieves the amount of the stream that is buffered. - - the fill level, between 0.0 and 1.0 - - - - - Retrieves whether @media is seekable or not. - - %TRUE if @media can seek, %FALSE otherwise. - - - - - Retrieves the duration of the media stream that @media represents. - - the duration of the media stream, in seconds - - - - - Retrieves the playing status of @media. - - %TRUE if playing, %FALSE if stopped. - - - - - Retrieves the playback progress of @media. - - the playback progress, between 0.0 and 1.0 - - - - - Retrieves the font name currently used. -to free the returned string - - a string containing the font name. Use g_free() - - - - - Retrieves the URI of the subtitle file in use. -to free the returned string - - the URI of the subtitle file. Use g_free() - - - - - Retrieves the URI from @media. -to free the returned string - - the URI of the media stream. Use g_free() - - - - - Sets the playback volume of @media to @volume. - - - - - - the volume as a double between 0.0 and 1.0 - - - - - - Sets the source of @media using a file path. - - - - - - A filename - - - - - - Starts or stops playing of @media. - - - - - - %TRUE to start playing - - - - - - Sets the playback progress of @media. The @progress is -a normalized value between 0.0 (begin) and 1.0 (end). - - - - - - the progress of the playback, between 0.0 and 1.0 - - - - - - Sets the font used by the subtitle renderer. The @font_name string must be -either %NULL, which means that the default font name of the underlying -implementation will be used; or must follow the grammar recognized by -pango_font_description_from_string() like: -|[ -clutter_media_set_subtitle_font_name (media, "Sans 24pt"); -]| - - - - - - a font name, or %NULL to set the default font name - - - - - - Sets the location of a subtitle file to display while playing @media. - - - - - - the URI of a subtitle file - - - - - - Sets the URI of @media to @uri. - - - - - - the URI of the media stream - - - - - - The volume of the audio, as a normalized value between -0.0 and 1.0. - - - - The fill level of the buffer for the current stream, -as a value between 0.0 and 1.0. - - - - Whether the current stream is seekable. - - - - The duration of the current stream, in seconds - - - - Whether the #ClutterMedia actor is playing. - - - - The current progress of the playback, as a normalized -value between 0.0 and 1.0. - - - - The font used to display subtitles. The font description has to -follow the same grammar as the one recognized by -pango_font_description_from_string(). - - - - The location of a subtitle file, expressed as a valid URI. - - - - The location of a media file, expressed as a valid URI. - - - - The ::eos signal is emitted each time the media stream ends. - - - - - - The ::error signal is emitted each time an error occurred. - - - - - - the #GError - - - - - - - Interface vtable for #ClutterMedia implementations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Base class for list models. The #ClutterModel structure contains -only private data and should be manipulated using the provided -API. - - - Retrieves the name of the @column -string, and it should not be modified or freed - - the name of the column. The model holds the returned - - - - - the column number - - - - - - Retrieves the type of the @column. - - the type of the column. - - - - - the column number - - - - - - Retrieves a #ClutterModelIter representing the row at the given index. -If a filter function has been set using clutter_model_set_filter() -then the @model implementation will return the first non filtered -row. -out of bounds. When done using the iterator object, call g_object_unref() -to deallocate its resources - - A new #ClutterModelIter, or %NULL if @row was - - - - - position of the row to retrieve - - - - - - Retrieves the number of columns inside @model. - - the number of columns - - - - - Retrieves the number of rows inside @model, eventually taking -into account any filtering function set using clutter_model_set_filter(). -the length of the filtered @model is returned. - - The length of the @model. If there is a filter set, then - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Creates and appends a new row to the #ClutterModel, setting the -row values upon creation. For example, to append a new row where -column 0 is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING: -<informalexample><programlisting> -ClutterModel *model; -model = clutter_model_default_new (2, -G_TYPE_INT, "Score", -G_TYPE_STRING, "Team"); -clutter_model_append (model, 0, 42, 1, "Team #1", -1); -</programlisting></informalexample> - - - - - - - - - - - - Creates and appends a new row to the #ClutterModel, setting the row -values for the given @columns upon creation. - - - - - - the number of columns and values - - - - a vector with the columns to set - - - - - - a vector with the values - - - - - - - - Checks whether the row pointer by @iter should be filtered or not using -the filtering function set on @model. -This function should be used only by subclasses of #ClutterModel. -%FALSE otherwise - - %TRUE if the row should be displayed, - - - - - the row to filter - - - - - - Checks whether @row should be filtered or not using the -filtering function set on @model. -This function should be used only by subclasses of #ClutterModel. -%FALSE otherwise - - %TRUE if the row should be displayed, - - - - - the row to filter - - - - - - Calls @func for each row in the model. - - - - - - a #ClutterModelForeachFunc - - - - user data to pass to @func - - - - - - Retrieves the name of the @column -string, and it should not be modified or freed - - the name of the column. The model holds the returned - - - - - the column number - - - - - - Retrieves the type of the @column. - - the type of the column. - - - - - the column number - - - - - - Returns whether the @model has a filter in place, set -using clutter_model_set_filter() - - %TRUE if a filter is set - - - - - Retrieves a #ClutterModelIter representing the first non-filtered -row in @model. -Call g_object_unref() when done using it - - A new #ClutterModelIter. - - - - - Retrieves a #ClutterModelIter representing the row at the given index. -If a filter function has been set using clutter_model_set_filter() -then the @model implementation will return the first non filtered -row. -out of bounds. When done using the iterator object, call g_object_unref() -to deallocate its resources - - A new #ClutterModelIter, or %NULL if @row was - - - - - position of the row to retrieve - - - - - - Retrieves a #ClutterModelIter representing the last non-filtered -row in @model. -Call g_object_unref() when done using it - - A new #ClutterModelIter. - - - - - Retrieves the number of columns inside @model. - - the number of columns - - - - - Retrieves the number of rows inside @model, eventually taking -into account any filtering function set using clutter_model_set_filter(). -the length of the filtered @model is returned. - - The length of the @model. If there is a filter set, then - - - - - Retrieves the number of column used for sorting the @model. - - a column number, or -1 if the model is not sorted - - - - - Inserts a new row to the #ClutterModel at @row, setting the row -values upon creation. For example, to insert a new row at index 100, -where column 0 is type %G_TYPE_INT and column 1 is of type -%G_TYPE_STRING: -<informalexample><programlisting> -ClutterModel *model; -model = clutter_model_default_new (2, -G_TYPE_INT, "Score", -G_TYPE_STRING, "Team"); -clutter_model_insert (model, 3, 0, 42, 1, "Team #1", -1); -</programlisting></informalexample> - - - - - - the position to insert the new row - - - - - - - - - - Sets the data in the cell specified by @iter and @column. The type of -not exist then it is created. - - - - - - position of the row to modify - - - - column to modify - - - - new value for the cell - - - - - - Inserts data at @row into the #ClutterModel, setting the row -values for the given @columns upon creation. - - - - - - row index - - - - the number of columns and values to set - - - - a vector containing the columns to set - - - - - - a vector containing the values for the cells - - - - - - - - Creates and prepends a new row to the #ClutterModel, setting the row -values upon creation. For example, to prepend a new row where column 0 -is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING: -<informalexample><programlisting> -ClutterModel *model; -model = clutter_model_default_new (2, -G_TYPE_INT, "Score", -G_TYPE_STRING, "Team"); -clutter_model_prepend (model, 0, 42, 1, "Team #1", -1); -</programlisting></informalexample> - - - - - - - - - - - - Creates and prepends a new row to the #ClutterModel, setting the row -values for the given @columns upon creation. - - - - - - the number of columns and values to set - - - - a vector containing the columns to set - - - - - - a vector containing the values for the cells - - - - - - - - Removes the row at the given position from the model. - - - - - - position of row to remove - - - - - - Force a resort on the @model. This function should only be -used by subclasses of #ClutterModel. - - - - - - Filters the @model using the given filtering function. - - - - - - a #ClutterModelFilterFunc, or #NULL - - - - user data to pass to @func, or #NULL - - - - destroy notifier of @user_data, or #NULL - - - - - - Assigns a name to the columns of a #ClutterModel. -This function is meant primarily for #GObjects that inherit from -#ClutterModel, and should only be used when contructing a #ClutterModel. -It will not work after the initial creation of the #ClutterModel. - - - - - - the number of column names - - - - an array of strings - - - - - - - - Sorts @model using the given sorting function. - - - - - - the column to sort on - - - - a #ClutterModelSortFunc, or #NULL - - - - user data to pass to @func, or #NULL - - - - destroy notifier of @user_data, or #NULL - - - - - - Sets the model to sort by @column. If @column is a negative value -the sorting column will be unset. - - - - - - the column of the @model to sort, or -1 - - - - - - Sets the types of the columns inside a #ClutterModel. -This function is meant primarily for #GObjects that inherit from -#ClutterModel, and should only be used when contructing a #ClutterModel. -It will not work after the initial creation of the #ClutterModel. - - - - - - number of columns for the model - - - - an array of #GType types - - - - - - - - Whether the #ClutterModel has a filter set -This property is set to %TRUE if a filter function has been -set using clutter_model_set_filter() - - - - - - - - - - The ::filter-changed signal is emitted when a new filter has been applied - - - - - - The ::row-added signal is emitted when a new row has been added. -The data on the row has already been set when the ::row-added signal -has been emitted. - - - - - - a #ClutterModelIter pointing to the new row - - - - - - The ::row-removed signal is emitted when a row has been changed. -The data on the row has already been updated when the ::row-changed -signal has been emitted. - - - - - - a #ClutterModelIter pointing to the changed row - - - - - - The ::row-removed signal is emitted when a row has been removed. -The data on the row pointed by the passed iterator is still valid -when the ::row-removed signal has been emitted. - - - - - - a #ClutterModelIter pointing to the removed row - - - - - - The ::sort-changed signal is emitted after the model has been sorted - - - - - - - Class for #ClutterModel instances. - - - - - - - The length of the @model. If there is a filter set, then - - - - - - - - - - - - - the number of columns - - - - - - - - - - - - - the name of the column. The model holds the returned - - - - - - - - the column number - - - - - - - - - the type of the column. - - - - - - - - the column number - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A new #ClutterModelIter, or %NULL if @row was - - - - - - - - position of the row to retrieve - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Filters the content of a row in the model. - - If the row should be displayed, return %TRUE - - - - - a #ClutterModel - - - - the iterator for the row - - - - data passed to clutter_model_set_filter() - - - - - - Iterates on the content of a row in the model - - %TRUE if the iteration should continue, %FALSE otherwise - - - - - a #ClutterModel - - - - the iterator for the row - - - - data passed to clutter_model_foreach() - - - - - - Base class for list models iters. The #ClutterModelIter structure -contains only private data and should be manipulated using the -provided API. - - Copies the passed iterator. - - a copy of the iterator, or %NULL - - - - - Retrieves a pointer to the #ClutterModel that this iter is part of. - - a pointer to a #ClutterModel. - - - - - Retrieves the position of the row that the @iter points to. - - the position of the @iter in the model - - - - - Sets an initializes @value to that at @column. When done with @value, -g_value_unset() needs to be called to free any allocated memory. - - - - - - column number to retrieve the value from - - - - an empty #GValue to set - - - - - - Gets whether the current iterator is at the beginning of the model -to which it belongs. - - #TRUE if @iter is the first iter in the filtered model - - - - - Gets whether the iterator is at the end of the model to which it -belongs. - - #TRUE if @iter is the last iter in the filtered model. - - - - - Updates the @iter to point at the next position in the model. -The model implementation should take into account the presence of -a filter function. -row in the model. - - The passed iterator, updated to point at the next - - - - - Sets the @iter to point at the previous position in the model. -The model implementation should take into account the presence of -a filter function. -row in the model. - - The passed iterator, updated to point at the previous - - - - - Sets the data in the cell specified by @iter and @column. The type of - - - - - - column number to retrieve the value from - - - - new value for the cell - - - - - - Copies the passed iterator. - - a copy of the iterator, or %NULL - - - - - Gets the value of one or more cells in the row referenced by @iter. The -variable argument list should contain integer column numbers, each column -column number followed by a place to store the value being retrieved. The -list is terminated by a -1. -For example, to get a value from column 0 with type %G_TYPE_STRING use: -<informalexample><programlisting> -clutter_model_iter_get (iter, 0, &place_string_here, -1); -</programlisting></informalexample> -where place_string_here is a gchar* to be filled with the string. If -appropriate, the returned values have to be freed or unreferenced. - - - - - - - - - - - - Retrieves a pointer to the #ClutterModel that this iter is part of. - - a pointer to a #ClutterModel. - - - - - Retrieves the position of the row that the @iter points to. - - the position of the @iter in the model - - - - - See clutter_model_iter_get(). This version takes a va_list for language -bindings. - - - - - - a list of column/return location pairs, terminated by -1 - - - - - - Sets an initializes @value to that at @column. When done with @value, -g_value_unset() needs to be called to free any allocated memory. - - - - - - column number to retrieve the value from - - - - an empty #GValue to set - - - - - - Gets whether the current iterator is at the beginning of the model -to which it belongs. - - #TRUE if @iter is the first iter in the filtered model - - - - - Gets whether the iterator is at the end of the model to which it -belongs. - - #TRUE if @iter is the last iter in the filtered model. - - - - - Updates the @iter to point at the next position in the model. -The model implementation should take into account the presence of -a filter function. -row in the model. - - The passed iterator, updated to point at the next - - - - - Sets the @iter to point at the previous position in the model. -The model implementation should take into account the presence of -a filter function. -row in the model. - - The passed iterator, updated to point at the previous - - - - - Sets the value of one or more cells in the row referenced by @iter. The -variable argument list should contain integer column numbers, each column -column number followed by the value to be set. The list is terminated by a --1. -For example, to set column 0 with type %G_TYPE_STRING, use: -<informalexample><programlisting> -clutter_model_iter_set (iter, 0, "foo", -1); -</programlisting></informalexample> - - - - - - - - - - - - See clutter_model_iter_set(); this version takes a va_list for language -bindings. - - - - - - va_list of column/value pairs, terminiated by -1 - - - - - - Sets the data in the cell specified by @iter and @column. The type of - - - - - - column number to retrieve the value from - - - - new value for the cell - - - - - - A reference to the #ClutterModel that this iter belongs to. - - - - The row number to which this iter points to. - - - - - - - - - - - Class for #ClutterModelIter instances. - - - - - - - - - - - - - - column number to retrieve the value from - - - - an empty #GValue to set - - - - - - - - - - - - - - - - column number to retrieve the value from - - - - new value for the cell - - - - - - - - - #TRUE if @iter is the first iter in the filtered model - - - - - - - - - - - - - #TRUE if @iter is the last iter in the filtered model. - - - - - - - - - - - - - The passed iterator, updated to point at the next - - - - - - - - - - - - - The passed iterator, updated to point at the previous - - - - - - - - - - - - - a pointer to a #ClutterModel. - - - - - - - - - - - - - the position of the @iter in the model - - - - - - - - - - - - - a copy of the iterator, or %NULL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Compares the content of two rows in the model. - - a positive integer if @a is after @b, a negative integer if - - - - - a #ClutterModel - - - - a #GValue representing the contents of the row - - - - a #GValue representing the contents of the second row - - - - data passed to clutter_model_set_sort() - - - - - - Masks applied to a #ClutterEvent by modifiers. - - - - - - - - - - - - - - - - - - - - - - - - - - - Event for the pointer motion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterOffscreenEffect structure contains only private data -and should be accessed using the provided API - - Calls the create_texture() virtual function of the @effect -%COGL_INVALID_HANDLE. The returned handle has its reference -count increased. - - a handle to a Cogl texture, or - - - - - - - - - - - - - Calls the paint_target() virtual function of the @effect - - - - - - Calls the create_texture() virtual function of the @effect -%COGL_INVALID_HANDLE. The returned handle has its reference -count increased. - - a handle to a Cogl texture, or - - - - - the minimum width of the target texture - - - - the minimum height of the target texture - - - - - - Retrieves the material used as a render target for the offscreen -buffer created by @effect -You should only use the returned #CoglMaterial when painting. The -returned material might change between different frames. -returned material is owned by Clutter and it should not be -modified or freed - - a #CoglMaterial or %NULL. The - - - - - Calls the paint_target() virtual function of the @effect - - - - - - - - - - - - - The #ClutterOffscreenEffectClass structure contains only private data - - - - - - - a handle to a Cogl texture, or - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <structname>ClutterPageTurnEffect</structname> is an opaque structure -whose members can only be accessed using the provided API - - Creates a new #ClutterPageTurnEffect instance with the given parameters - - the newly created #ClutterPageTurnEffect - - - - - the period of the page curl, between 0.0 and 1.0 - - - - the angle of the page curl, between 0.0 and 360.0 - - - - the radius of the page curl, in pixels - - - - - - Retrieves the value set using clutter_page_turn_effect_get_angle() - - the angle of the page curling - - - - - Retrieves the value set using clutter_page_turn_effect_get_period() - - the period of the page curling - - - - - Retrieves the value set using clutter_page_turn_effect_set_radius() - - the radius of the page curling - - - - - Sets the angle of the page curling, in degrees - - - - - - the angle of the page curl, in degrees - - - - - - Sets the period of the page curling, between 0.0 (no curling) -and 1.0 (fully curled) - - - - - - the period of the page curl, between 0.0 and 1.0 - - - - - - Sets the radius of the page curling - - - - - - the radius of the page curling, in pixels - - - - - - The angle of the page rotation, in degrees, between 0.0 and 360.0 - - - - The period of the page turn, between 0.0 (no curling) and -1.0 (fully curled) - - - - The radius of the page curl, in pixels - - - - - - - - - - - A #GParamSpec subclass for defining properties holding -a #ClutterColor. - - - - - - - - - - - - - - - - - - - - - - - - - #GParamSpec subclass for unit based properties. - - - - - - - - - - - - - - - - - - - - - The #ClutterPath struct contains only private data and should -be accessed with the functions below. - - Creates a new #ClutterPath instance with no nodes. -The object has a floating reference so if you add it to a -#ClutterBehaviourPath then you do not need to unref it. - - the newly created #ClutterPath - - - - - Creates a new #ClutterPath instance with the nodes described in -the string. -The object has a floating reference so if you add it to a -#ClutterBehaviourPath then you do not need to unref it. - - the newly created #ClutterPath - - - - - a string describing the path - - - - - - Add the nodes of the Cairo path to the end of @path. - - - - - - a Cairo path - - - - - - Adds a %CLUTTER_PATH_CLOSE type node to the path. This creates a -straight line from the last node to the last %CLUTTER_PATH_MOVE_TO -type node. - - - - - - Adds a %CLUTTER_PATH_CURVE_TO type node to the path. This causes -the actor to follow a bezier from the last node to (@x_3, @y_3) using -(@x_1, @y_1) and (@x_2,@y_2) as control points. - - - - - - the x coordinate of the first control point - - - - the y coordinate of the first control point - - - - the x coordinate of the second control point - - - - the y coordinate of the second control point - - - - the x coordinate of the third control point - - - - the y coordinate of the third control point - - - - - - Adds a %CLUTTER_PATH_LINE_TO type node to the path. This causes the -actor to move to the new coordinates in a straight line. - - - - - - the x coordinate - - - - the y coordinate - - - - - - Adds a %CLUTTER_PATH_MOVE_TO type node to the path. This is usually -used as the first node in a path. It can also be used in the middle -of the path to cause the actor to jump to the new coordinate. - - - - - - the x coordinate - - - - the y coordinate - - - - - - Adds @node to the end of the path. - - - - - - a #ClutterPathNode - - - - - - Same as clutter_path_add_curve_to() except the coordinates are -relative to the previous node. - - - - - - the x coordinate of the first control point - - - - the y coordinate of the first control point - - - - the x coordinate of the second control point - - - - the y coordinate of the second control point - - - - the x coordinate of the third control point - - - - the y coordinate of the third control point - - - - - - Same as clutter_path_add_line_to() except the coordinates are -relative to the previous node. - - - - - - the x coordinate - - - - the y coordinate - - - - - - Same as clutter_path_add_move_to() except the coordinates are -relative to the previous node. - - - - - - the x coordinate - - - - the y coordinate - - - - - - Adds new nodes to the end of the path as described in @str. The -format is a subset of the SVG path format. Each node is represented -by a letter and is followed by zero, one or three pairs of -coordinates. The coordinates can be separated by spaces or a -comma. The types are: -<variablelist> -<varlistentry><term>M</term> -<listitem><para> -Adds a %CLUTTER_PATH_MOVE_TO node. Takes one pair of coordinates. -</para></listitem></varlistentry> -<varlistentry><term>L</term> -<listitem><para> -Adds a %CLUTTER_PATH_LINE_TO node. Takes one pair of coordinates. -</para></listitem></varlistentry> -<varlistentry><term>C</term> -<listitem><para> -Adds a %CLUTTER_PATH_CURVE_TO node. Takes three pairs of coordinates. -</para></listitem></varlistentry> -<varlistentry><term>z</term> -<listitem><para> -Adds a %CLUTTER_PATH_CLOSE node. No coordinates are needed. -</para></listitem></varlistentry> -</variablelist> -The M, L and C commands can also be specified in lower case which -means the coordinates are relative to the previous node. -For example, to move an actor in a 100 by 100 pixel square centered -on the point 300,300 you could use the following path: -<informalexample> -<programlisting> -M 250,350 l 0 -100 L 350,250 l 0 100 z -</programlisting> -</informalexample> -If the path description isn't valid %FALSE will be returned and no -nodes will be added. -otherwise. - - %TRUE is the path description was valid or %FALSE - - - - - a string describing the new nodes - - - - - - Removes all nodes from the path. - - - - - - Calls a function for each node of the path. - - - - - - the function to call with each node - - - - user data to pass to the function - - - - - - Returns a newly allocated string describing the path in the same -format as used by clutter_path_add_string(). - - a string description of the path. Free with g_free(). - - - - - Retrieves an approximation of the total length of the path. - - the length of the path. - - - - - Retrieves the number of nodes in the path. - - the number of nodes. - - - - - Retrieves the node of the path indexed by @index. - - - - - - the node number to retrieve - - - - a location to store a copy of the node - - - - - - Returns a #GSList of #ClutterPathNode<!-- -->s. The list should be -freed with g_slist_free(). The nodes are owned by the path and -should not be freed. Altering the path may cause the nodes in the -list to become invalid so you should copy them if you want to keep -the list. -list of nodes in the path. - - a - - - - - - - The value in @progress represents a position along the path where -0.0 is the beginning and 1.0 is the end of the path. An -interpolated position is then stored in @position. - - index of the node used to calculate the position. - - - - - a position along the path as a fraction of its length - - - - location to store the position - - - - - - Inserts @node into the path before the node at the given offset. If - - - - - - offset of where to insert the node - - - - the node to insert - - - - - - Removes the node at the given offset from the path. - - - - - - index of the node to remove - - - - - - Replaces the node at offset @index_ with @node. - - - - - - index to the existing node - - - - the replacement node - - - - - - Replaces all of the nodes in the path with nodes described by -If the string is invalid then %FALSE is returned and the path is -unaltered. - - %TRUE is the path was valid, %FALSE otherwise. - - - - - a string describing the path - - - - - - Add the nodes of the ClutterPath to the path in the Cairo context. - - - - - - a Cairo context - - - - - - - - - - - - - - - - - - - This function is passed to clutter_path_foreach() and will be -called for each node contained in the path. - - - - - - the node - - - - optional data passed to the function - - - - - - The #ClutterPathClass struct contains only private data. - - - - - - Represents a single node of a #ClutterPath. -Some of the coordinates in @points may be unused for some node -types. %CLUTTER_PATH_MOVE_TO and %CLUTTER_PATH_LINE_TO use only one -pair of coordinates, %CLUTTER_PATH_CURVE_TO uses all three and -%CLUTTER_PATH_CLOSE uses none. - - - - - - - - - - Makes an allocated copy of a node. - - the copied node. - - - - - Compares two nodes and checks if they are the same type with the -same coordinates. - - %TRUE if the nodes are the same. - - - - - Second node - - - - - - Frees the memory of an allocated node. - - - - - - - Types of nodes in a #ClutterPath. - - - - - - - - - - - - - - - Stage perspective definition. #ClutterPerspective is only used by -the fixed point version of clutter_stage_set_perspective(). - - - - - - - - - - - - - - - - - - - - - Controls the paint cycle of the scene graph when in pick mode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Prototype of the progress function used to compute the value -between the two ends @a and @b of an interval depending on -the value of @progress. -The #GValue in @retval is already initialized with the same -type as @a and @b. -This function will be called by #ClutterInterval if the -type of the values of the interval was registered using -clutter_interval_register_progress_func(). -the value and stored it inside @retval - - %TRUE if the function successfully computed - - - - - the initial value of an interval - - - - the final value of an interval - - - - the progress factor, between 0 and 1 - - - - the value used to store the progress - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterRectangle structure contains only private data -and should be accessed using the provided API - - - - - Creates a new #ClutterActor with a rectangular shape. - - a new #ClutterActor - - - - - Creates a new #ClutterActor with a rectangular shape -and of the given @color. - - a new #ClutterActor - - - - - a #ClutterColor - - - - - - Gets the color of the border used by @rectangle and places -it into @color. - - - - - - return location for a #ClutterColor - - - - - - Gets the width (in pixels) of the border used by @rectangle - - the border's width - - - - - Retrieves the color of @rectangle. - - - - - - return location for a #ClutterColor - - - - - - Sets the color of the border used by @rectangle using @color - - - - - - the color of the border - - - - - - Sets the width (in pixel) of the border used by @rectangle. -A @width of 0 will unset the border. - - - - - - the width of the border - - - - - - Sets the color of @rectangle. - - - - - - a #ClutterColor - - - - - - The color of the border of the rectangle. - - - - The width of the border of the rectangle, in pixels. - - - - The color of the rectangle. - - - - Whether the #ClutterRectangle should be displayed with a border. - - - - - - - - - - - The #ClutterRectangleClass structure contains only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Flags passed to the clutter_actor_queue_redraw_with_clip () -function - - - - - - - - - - - - - - - - - Specifies the type of requests for a #ClutterActor. - - - - - - - - - - - - - - - - - - - - - - - Axis of a rotation. - - - - - - Direction of a rotation. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterScore structure contains only private data -and should be accessed using the provided API - - Creates a new #ClutterScore. A #ClutterScore is an object that can -hold multiple #ClutterTimeline<!-- -->s in a sequential order. -when done. - - the newly created #ClutterScore. Use g_object_unref() - - - - - Appends a timeline to another one existing in the score; the newly -appended timeline will be started when @parent is complete. -If @parent is %NULL, the new #ClutterTimeline will be started when -clutter_score_start() is called. -#ClutterScore will take a reference on @timeline. -0 on failure. The returned id can be used with clutter_score_remove() -or clutter_score_get_timeline(). - - the id of the #ClutterTimeline inside the score, or - - - - - a #ClutterTimeline in the score, or %NULL - - - - a #ClutterTimeline - - - - - - Appends @timeline at the given @marker_name on the @parent -#ClutterTimeline. -If you want to append @timeline at the end of @parent, use -clutter_score_append(). -The #ClutterScore will take a reference on @timeline. -0 on failure. The returned id can be used with clutter_score_remove() -or clutter_score_get_timeline(). - - the id of the #ClutterTimeline inside the score, or - - - - - the parent #ClutterTimeline - - - - the name of the marker to use - - - - the #ClutterTimeline to append - - - - - - Gets whether @score is looping - - %TRUE if the score is looping - - - - - Retrieves the #ClutterTimeline for @id inside @score. -function does not increase the reference count on the returned -#ClutterTimeline - - the requested timeline, or %NULL. This - - - - - the id of the timeline - - - - - - Query state of a #ClutterScore instance. - - %TRUE if score is currently playing - - - - - Retrieves a list of all the #ClutterTimelines managed by @score. -#GSList containing all the timelines in the score. This function does -not increase the reference count of the returned timelines. Use -g_slist_free() on the returned list to deallocate its resources. - - a - - - - - - - Pauses a playing score @score. - - - - - - Removes the #ClutterTimeline with the given id inside @score. If -the timeline has other timelines attached to it, those are removed -as well. - - - - - - the id of the timeline to remove - - - - - - Removes all the timelines inside @score. - - - - - - Rewinds a #ClutterScore to its initial state. - - - - - - Sets whether @score should loop. A looping #ClutterScore will start -from its initial state after the ::complete signal has been fired. - - - - - - %TRUE for enable looping - - - - - - Starts the score. - - - - - - Stops and rewinds a playing #ClutterScore instance. - - - - - - Whether the #ClutterScore should restart once finished. - - - - - - - - - - The ::completed signal is emitted each time a #ClutterScore terminates. - - - - - - The ::paused signal is emitted each time a #ClutterScore -is paused. - - - - - - The ::started signal is emitted each time a #ClutterScore starts playing. - - - - - - The ::timeline-completed signal is emitted each time a timeline -inside a #ClutterScore terminates. - - - - - - the completed timeline - - - - - - The ::timeline-started signal is emitted each time a new timeline -inside a #ClutterScore starts playing. - - - - - - the current timeline - - - - - - - The #ClutterScoreClass structure contains only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterScript structure contains only private data -and should be accessed using the provided API - - Creates a new #ClutterScript instance. #ClutterScript can be used -to load objects definitions for scenegraph elements, like actors, -or behavioural elements, like behaviours and timelines. The -definitions must be encoded using the JavaScript Object Notation (JSON) -language. -g_object_unref() when done. - - the newly created #ClutterScript instance. Use - - - - - Looks up a type by name, using the virtual function that -#ClutterScript has for that purpose. This function should -rarely be used. -%G_TYPE_INVALID if not corresponding type was found. - - the type for the requested type name, or - - - - - name of the type to look up - - - - - - Adds @paths to the list of search paths held by @script. -The search paths are used by clutter_script_lookup_filename(), which -can be used to define search paths for the textures source file name -or other custom, file-based properties. - - - - - - an array of strings containing different search paths - - - - the length of the passed array - - - - - - Connects all the signals defined into a UI definition file to their -handlers. -This method invokes clutter_script_connect_signals_full() internally -and uses #GModule's introspective features (by opening the current -module's scope) to look at the application's symbol table. -Note that this function will not work if #GModule is not supported by -the platform Clutter is running on. - - - - - - data to be passed to the signal handlers, or %NULL - - - - - - Connects all the signals defined into a UI definition file to their -handlers. -This function allows to control how the signal handlers are -going to be connected to their respective signals. It is meant -primarily for language bindings to allow resolving the function -names using the native API, but it can also be used on platforms -that do not support GModule. -Applications should use clutter_script_connect_signals(). - - - - - - signal connection function - - - - data to be passed to the signal handlers, or %NULL - - - - - - Ensure that every object defined inside @script is correctly -constructed. You should rarely need to use this function. - - - - - - Retrieves the object bound to @name. This function does not increment -the reference count of the returned object. -with the given name was available - - the named object, or %NULL if no object - - - - - the name of the object to retrieve - - - - - - Retrieves a list of objects for the given names. After @script, object -names/return location pairs should be listed, with a %NULL pointer -ending the list, like: -<informalexample><programlisting> -GObject *my_label, *a_button, *main_timeline; -clutter_script_get_objects (script, -"my-label", &amp;my_label, -"a-button", &amp;a_button, -"main-timeline", &amp;main_timeline, -NULL); -</programlisting></informalexample> -returned objects. - - the number of objects returned. - - - - - the name of the first object to retrieve - - - - - - - - - - Looks up a type by name, using the virtual function that -#ClutterScript has for that purpose. This function should -rarely be used. -%G_TYPE_INVALID if not corresponding type was found. - - the type for the requested type name, or - - - - - name of the type to look up - - - - - - Retrieves all the objects created by @script. -objects it returns. -of #GObject<!-- -->s, or %NULL. The objects are owned by the -#ClutterScript instance. Use g_list_free() on the returned list when -done. - - a list - - - - - - - Loads the definitions from @data into @script and merges with -the currently loaded ones, if any. -accordingly. On success, the merge id for the UI definitions is -returned. You can use the merge id with clutter_script_unmerge(). - - on error, zero is returned and @error is set - - - - - a buffer containing the definitions - - - - the length of the buffer, or -1 if @data is a NUL-terminated buffer - - - - - - Loads the definitions from @filename into @script and merges with -the currently loaded ones, if any. -accordingly. On success, the merge id for the UI definitions is -returned. You can use the merge id with clutter_script_unmerge_objects(). - - on error, zero is returned and @error is set - - - - - the full path to the definition file - - - - - - Looks up @filename inside the search paths of @script. If @filename -is found, its full path will be returned . -found. - - the full path of @filename or %NULL if no path was - - - - - the name of the file to lookup - - - - - - Unmerges the objects identified by @merge_id. - - - - - - merge id returned when loading a UI definition - - - - - - The path of the currently parsed file. If #ClutterScript:filename-set -is %FALSE then the value of this property is undefined. - - - - Whether the #ClutterScript:filename property is set. If this property -is %TRUE then the currently parsed data comes from a file, and the -file name is stored inside the #ClutterScript:filename property. - - - - - - - - - - - The #ClutterScriptClass structure contains only private data - - - - - - - the type for the requested type name, or - - - - - - - - name of the type to look up - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is the signature of a function used to connect signals. It is used -by the clutter_script_connect_signals_full() function. It is mainly -intended for interpreted language bindings, but could be useful where the -programmer wants more control over the signal connection process. - - - - - - a #ClutterScript - - - - the object to connect - - - - the name of the signal - - - - the name of the signal handler - - - - the object to connect the signal to, or %NULL - - - - signal connection flags - - - - user data to pass to the signal handler - - - - - - #ClutterScript error enumeration. - - - - - - - - #ClutterScriptable is an opaque structure whose members cannot be directly -accessed - - Retrieves the id of @scriptable set using clutter_scriptable_set_id(). -the scriptable object and should never be modified of freed - - the id of the object. The returned string is owned by - - - - - Parses the passed JSON node. The implementation must set the type -of the passed #GValue pointer using g_value_init(). - - %TRUE if the node was successfully parsed, %FALSE otherwise. - - - - - the #ClutterScript creating the scriptable instance - - - - the generic value to be set - - - - the name of the node - - - - the JSON node to be parsed - - - - - - Overrides the common properties setting. The underlying virtual -function should be used when implementing custom properties. - - - - - - the #ClutterScript creating the scriptable instance - - - - the name of the property - - - - the value of the property - - - - - - Sets @id as the unique Clutter script it for this instance of -#ClutterScriptableIface. -This name can be used by user interface designer applications to -define a unique name for an object constructable using the UI -definition language parsed by #ClutterScript. - - - - - - - - - - - Retrieves the id of @scriptable set using clutter_scriptable_set_id(). -the scriptable object and should never be modified of freed - - the id of the object. The returned string is owned by - - - - - Parses the passed JSON node. The implementation must set the type -of the passed #GValue pointer using g_value_init(). - - %TRUE if the node was successfully parsed, %FALSE otherwise. - - - - - the #ClutterScript creating the scriptable instance - - - - the generic value to be set - - - - the name of the node - - - - the JSON node to be parsed - - - - - - Overrides the common properties setting. The underlying virtual -function should be used when implementing custom properties. - - - - - - the #ClutterScript creating the scriptable instance - - - - the name of the property - - - - the value of the property - - - - - - Sets @id as the unique Clutter script it for this instance of -#ClutterScriptableIface. -This name can be used by user interface designer applications to -define a unique name for an object constructable using the UI -definition language parsed by #ClutterScript. - - - - - - the #ClutterScript id of the object - - - - - - - Interface for implementing "scriptable" objects. An object implementing -this interface can override the parsing and properties setting sequence -when loading a UI definition data with #ClutterScript - - - - - - - - - - - - - - - - - - - - - - the id of the object. The returned string is owned by - - - - - - - - - - - - - %TRUE if the node was successfully parsed, %FALSE otherwise. - - - - - - - - the #ClutterScript creating the scriptable instance - - - - the generic value to be set - - - - the name of the node - - - - the JSON node to be parsed - - - - - - - - - - - - - - - - the #ClutterScript creating the scriptable instance - - - - the name of the property - - - - the value of the property - - - - - - - - - - - Direction of a pointer scroll event. - - - - - - - - - - Scroll wheel (or similar device) event - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <structname>ClutterSettings</structname> is an opaque structure whose -members cannot be directly accessed. - - Retrieves the singleton instance of #ClutterSettings -returned object is owned by Clutter and it should not be unreferenced -directly - - the instance of #ClutterSettings. The - - - - - A back pointer to the #ClutterBackend - - - - The maximum distance, in pixels, between button-press events that -determines whether or not to increase the click count by 1. - - - - The time, in milliseconds, that should elapse between button-press -events in order to increase the click count by 1. - - - - Whether or not to use antialiasing when rendering text; a value -of 1 enables it unconditionally; a value of 0 disables it -unconditionally; and -1 will use the system's default. - - - - The DPI used when rendering text, as a value of 1024 * dots/inch. -If set to -1, the system's default will be used instead - - - - The style of the hinting used when rendering text. Valid values -are: -<itemizedlist> -<listitem><simpara>hintnone</simpara></listitem> -<listitem><simpara>hintslight</simpara></listitem> -<listitem><simpara>hintmedium</simpara></listitem> -<listitem><simpara>hintfull</simpara></listitem> -</itemizedlist> - - - - Whether or not to use hinting when rendering text; a value of 1 -unconditionally enables it; a value of 0 unconditionally disables -it; and a value of -1 will use the system's default. - - - - The default font name that should be used by text actors, as -a string that can be passed to pango_font_description_from_string(). - - - - The type of sub-pixel antialiasing used when rendering text. Valid -values are: -<itemizedlist> -<listitem><simpara>none</simpara></listitem> -<listitem><simpara>rgb</simpara></listitem> -<listitem><simpara>bgr</simpara></listitem> -<listitem><simpara>vrgb</simpara></listitem> -<listitem><simpara>vbgr</simpara></listitem> -</itemizedlist> - - - - - The #ClutterShader structure contains only private data -and should be accessed using the provided API - - Create a new #ClutterShader instance. - - a new #ClutterShader. - - - - - Compiles and links GLSL sources set for vertex and fragment shaders for -a #ClutterShader. If the compilation fails and a #GError return location is -provided the error will contain the errors from the compiler, if any. - - returns TRUE if the shader was succesfully compiled. - - - - - Retrieves the underlying #CoglHandle for the fragment shader. -shader, or %NULL. The handle is owned by the #ClutterShader -and it should not be unreferenced - - A #CoglHandle for the fragment - - - - - Retrieves the underlying #CoglHandle for the shader program. -or %NULL. The handle is owned by the #ClutterShader and it should -not be unreferenced - - A #CoglHandle for the shader program, - - - - - Retrieves the underlying #CoglHandle for the vertex shader. -shader, or %NULL. The handle is owned by the #ClutterShader -and it should not be unreferenced - - A #CoglHandle for the vertex - - - - - Query the current GLSL fragment source set on @shader. -ClutterShader object or %NULL. The returned string is owned by the -shader object and should never be modified or freed - - the source of the fragment shader for this - - - - - Checks whether @shader is enabled. - - %TRUE if the shader is enabled. - - - - - Query the current GLSL vertex source set on @shader. -ClutterShader object or %NULL. The returned string is owned by the -shader object and should never be modified or freed - - the source of the vertex shader for this - - - - - Checks whether @shader is is currently compiled, linked and bound -to the GL context. - - %TRUE if the shader is compiled, linked and ready for use. - - - - - Frees up any GL context resources held by the shader. - - - - - - Sets the GLSL source code to be used by a #ClutterShader for the fragment -program. - - - - - - GLSL source code. - - - - length of source buffer (currently ignored) - - - - - - Enables a shader. This function will attempt to compile and link -the shader, if it isn't already. -When @enabled is %FALSE the default state of the GL pipeline will be -used instead. - - - - - - The new state of the shader. - - - - - - Sets a user configurable variable in the GLSL shader programs attached to -a #ClutterShader. - - - - - - name of uniform in GLSL shader program to set. - - - - a #ClutterShaderFloat, #ClutterShaderInt or #ClutterShaderMatrix #GValue. - - - - - - Sets the GLSL source code to be used by a #ClutterShader for the vertex -program. - - - - - - GLSL source code. - - - - length of source buffer (currently ignored) - - - - - - Whether the shader is compiled and linked, ready for use -in the GL context. - - - - Whether the shader is currently used in the GL rendering pipeline. - - - - GLSL source code for the fragment shader part of the shader program. - - - - GLSL source code for the vertex shader part of the shader -program, if any - - - - - - - - - - - The #ClutterShaderClass structure contains only private data - - - - - - The <structname>ClutterShaderEffect</structname> structure contains -only private data and should be accessed using the provided API - - Retrieves a pointer to the program's handle -or %COGL_INVALID_HANDLE - - a pointer to the program's handle, - - - - - Retrieves a pointer to the shader's handle -or %COGL_INVALID_HANDLE - - a pointer to the shader's handle, - - - - - Sets the source of the GLSL shader used by @effect -This function should only be called by implementations of -the #ClutterShaderEffect class, and not by application code. -This function can only be called once; subsequent calls will -yield no result. - - %TRUE if the source was set - - - - - the source of a GLSL shader - - - - - - Sets a list of values as the payload for the uniform @name inside -the shader effect -%G_TYPE_FLOAT, for 1 or more floating point values; -%CLUTTER_TYPE_SHADER_INT, for a pointer to an array of integer values; -%CLUTTER_TYPE_SHADER_FLOAT, for a pointer to an array of floating point -values; and %CLUTTER_TYPE_SHADER_MATRIX, for a pointer to an array of -floating point values mapping a matrix -The number of values interepreted is defined by the @n_value -argument, and by the @gtype argument. For instance, a uniform named -"sampler0" and containing a single integer value is set using: -|[ -clutter_shader_effect_set_uniform (effect, "sampler0", -G_TYPE_INT, 1, -0); -]| -While a uniform named "components" and containing a 3-elements vector -of floating point values (a "vec3") can be set using: -|[ -gfloat component_r, component_g, component_b; -clutter_shader_effect_set_uniform (effect, "components", -G_TYPE_FLOAT, 3, -component_r, -component_g, -component_b); -]| -or can be set using: -|[ -gfloat component_vec[3]; -clutter_shader_effect_set_uniform (effect, "components", -CLUTTER_TYPE_SHADER_FLOAT, 3, -component_vec); -]| -Finally, a uniform named "map" and containing a matrix can be set using: -|[ -clutter_shader_effect_set_uniform (effect, "map", -CLUTTER_TYPE_SHADER_MATRIX, 1, -cogl_matrix_get_array (&matrix)); -]| - - - - - - the name of the uniform to set - - - - the type of the uniform to set - - - - the number of values - - - - - - - - - - Sets @value as the payload for the uniform @name inside the shader -effect -integer value; %G_TYPE_FLOAT, for a single floating point value; -%CLUTTER_TYPE_SHADER_INT, for an array of integer values; -%CLUTTER_TYPE_SHADER_FLOAT, for an array of floating point values; -and %CLUTTER_TYPE_SHADER_MATRIX, for a matrix of floating point -values - - - - - - the name of the uniform to set - - - - a #GValue with the value of the uniform to set - - - - - - The type of shader that is used by the effect. This property -should be set by the constructor of #ClutterShaderEffect -sub-classes. - - - - - - - - - - - The <structname>ClutterShaderEffectClass</structname> structure contains -only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #ClutterShader error enumeration - - - - - - - - - - - - - - The type of GLSL shader program - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterStage structure contains only private data -and should be accessed using the provided API - - - - - - Creates a new, non-default stage. A non-default stage is a new -top-level actor which can be used as another container. It works -exactly like the default stage, but while clutter_stage_get_default() -will always return the same instance, you will have to keep a pointer -to any #ClutterStage returned by clutter_stage_create(). -The ability to support multiple stages depends on the current -backend. Use clutter_feature_available() and -%CLUTTER_FEATURE_STAGE_MULTIPLE to check at runtime whether a -backend supports multiple stages. -not support multiple stages. Use clutter_actor_destroy() to -programmatically close the returned stage. - - a new stage, or %NULL if the default backend does - - - - - Returns the main stage. The default #ClutterStage is a singleton, -so the stage will be created the first time this function is -called (typically, inside clutter_init()); all the subsequent -calls to clutter_stage_get_default() will return the same instance. -Clutter guarantess the existence of the default stage. -destroy or unref the returned actor. - - the main #ClutterStage. You should never - - - - - This function essentially makes sure the right GL context is -current for the passed stage. It is not intended to -be used by applications. - - - - - - Ensures that @stage is redrawn -used when embedding a #ClutterStage into a toolkit with -another windowing system, like GTK+. - - - - - - Ensures that the GL viewport is updated with the current -stage window size. -This function will queue a redraw of @stage. -This function should not be called by applications; it is used -when embedding a #ClutterStage into a toolkit with another -windowing system, like GTK+. - - - - - - This function is used to emit an event on the main stage. -You should rarely need to use this function, except for -synthetised events. - - the return value from the signal emission - - - - - a #ClutterEvent - - - - - - Checks the scene at the coordinates @x and @y and returns a pointer -to the #ClutterActor at those coordinates. -By using @pick_mode it is possible to control which actors will be -painted and thus available. -if any - - the actor at the specified coordinates, - - - - - how the scene graph should be painted - - - - X coordinate to check - - - - Y coordinate to check - - - - - - Retrieves the stage color. - - - - - - return location for a #ClutterColor - - - - - - Retrieves the current depth cueing settings from the stage. - - - - - - return location for a #ClutterFog structure - - - - - - Retrieves whether the stage is full screen or not - - %TRUE if the stage is full screen - - - - - Retrieves the actor that is currently under key focus. - - the actor with key focus, or the stage - - - - - Retrieves the minimum size for a stage window as set using -clutter_stage_set_minimum_size(). -The returned size may not correspond to the actual minimum size and -it is specific to the #ClutterStage implementation inside the -Clutter backend - - - - - - return location for the minimum width, in pixels, or %NULL - - - - return location for the minimum height, in pixels, or %NULL - - - - - - Retrieves the hint set with clutter_stage_set_no_clear_hint() -cycle, and %FALSE otherwise - - %TRUE if the stage should not clear itself on every paint - - - - - Retrieves the stage perspective. - - - - - - return location for a #ClutterPerspective - - - - - - Retrieves the value set with clutter_stage_set_throttle_motion_events() -and %FALSE otherwise - - %TRUE if the motion events are being throttled, - - - - - - - - - - Retrieves the value set using clutter_stage_set_use_alpha() -alpha channel of the stage color - - %TRUE if the stage should honour the opacity and the - - - - - Gets whether the depth cueing effect is enabled on @stage. - - %TRUE if the the depth cueing effect is enabled - - - - - Retrieves the value set with clutter_stage_set_user_resizable(). - - %TRUE if the stage is resizable by the user. - - - - - Makes the cursor invisible on the stage window - - - - - - Checks if @stage is the default stage, or an instance created using -clutter_stage_new() but internally using the same implementation. - - %TRUE if the passed stage is the default one - - - - - Queues a redraw for the passed stage. -<note>Applications should call clutter_actor_queue_redraw() and not -this function.</note> -<note>This function is just a wrapper for clutter_actor_queue_redraw() -and should probably go away.</note> - - - - - - Makes a screenshot of the stage in RGBA 8bit data, returns a -linear buffer with @width * 4 as rowstride. -The alpha data contained in the returned buffer is driver-dependent, -and not guaranteed to hold any sensible value. -or %NULL if the read failed. Use g_free() on the returned data -to release the resources it has allocated. - - a pointer to newly allocated memory with the buffer - - - - - x coordinate of the first pixel that is read from stage - - - - y coordinate of the first pixel that is read from stage - - - - Width dimention of pixels to be read, or -1 for the entire stage width - - - - Height dimention of pixels to be read, or -1 for the entire stage height - - - - - - Sets the stage color. - - - - - - A #ClutterColor - - - - - - Sets the fog (also known as "depth cueing") settings for the @stage. -A #ClutterStage will only use a linear fog progression, which -depends solely on the distance from the viewer. The cogl_set_fog() -function in COGL exposes more of the underlying implementation, -and allows changing the for progression function. It can be directly -used by disabling the #ClutterStage:use-fog property and connecting -a signal handler to the #ClutterActor::paint signal on the @stage, -like: -|[ -clutter_stage_set_use_fog (stage, FALSE); -g_signal_connect (stage, "paint", G_CALLBACK (on_stage_paint), NULL); -]| -The paint signal handler will call cogl_set_fog() with the -desired settings: -|[ -static void -on_stage_paint (ClutterActor *actor) -{ -ClutterColor stage_color = { 0, }; -CoglColor fog_color = { 0, }; -/&ast; set the fog color to the stage background color &ast;/ -clutter_stage_get_color (CLUTTER_STAGE (actor), &amp;stage_color); -cogl_color_init_from_4ub (&amp;fog_color, -stage_color.red, -stage_color.green, -stage_color.blue, -stage_color.alpha); -/&ast; enable fog &ast;/ -cogl_set_fog (&amp;fog_color, -COGL_FOG_MODE_EXPONENTIAL, /&ast; mode &ast;/ -0.5, /&ast; density &ast;/ -5.0, 30.0); /&ast; z_near and z_far &ast;/ -} -]| -<note>The fogging functions only work correctly when the visible actors use -unmultiplied alpha colors. By default Cogl will premultiply textures and -cogl_set_source_color() will premultiply colors, so unless you explicitly -load your textures requesting an unmultiplied internal format and use -cogl_material_set_color() you can only use fogging with fully opaque actors. -Support for premultiplied colors will improve in the future when we can -depend on fragment shaders.</note> - - - - - - a #ClutterFog structure - - - - - - Asks to place the stage window in the fullscreen or unfullscreen -states. -afterward, because other entities (e.g. the user or window manager) -could unfullscreen it again, and not all window managers honor -requests to fullscreen windows. -If you want to receive notification of the fullscreen state you -should either use the #ClutterStage::fullscreen and -#ClutterStage::unfullscreen signals, or use the notify signal -for the #ClutterStage:fullscreen-set property - - - - - - %TRUE to to set the stage fullscreen - - - - - - Sets the key focus on @actor. An actor with key focus will receive -all the key events. If @actor is %NULL, the stage will receive -focus. - - - - - - the actor to set key focus to, or %NULL - - - - - - Sets the minimum size for a stage window, if the default backend -uses #ClutterStage inside a window -This is a convenience function, and it is equivalent to setting the -#ClutterActor:min-width and #ClutterActor:min-height on @stage -If the current size of @stage is smaller than the minimum size, the -This function has no effect if @stage is fullscreen - - - - - - width, in pixels - - - - height, in pixels - - - - - - Sets whether the @stage should clear itself at the beginning -of each paint cycle or not. -Clearing the #ClutterStage can be a costly operation, especially -if the stage is always covered - for instance, in a full-screen -video player or in a game with a background texture. -<note><para>This setting is a hint; Clutter might discard this -hint depending on its internal state.</para></note> -<warning><para>If parts of the stage are visible and you disable -clearing you might end up with visual artifacts while painting the -contents of the stage.</para></warning> - - - - - - %TRUE if the @stage should not clear itself on every repaint cycle - - - - - - Sets the stage perspective. - - - - - - A #ClutterPerspective - - - - - - Sets whether motion events received between redraws should -be throttled or not. If motion events are throttled, those -events received by the windowing system between redraws will -be compressed so that only the last event will be propagated -to the @stage and its actors. -This function should only be used if you want to have all -the motion events delivered to your application code. - - - - - - %TRUE to throttle motion events - - - - - - - - - - - - - - - - Sets whether the @stage should honour the #ClutterActor:opacity and -the alpha channel of the #ClutterStage:color - - - - - - whether the stage should honour the opacity or the alpha channel of the stage color - - - - - - Sets whether the depth cueing effect on the stage should be enabled -or not. -Depth cueing is a 3D effect that makes actors farther away from the -viewing point less opaque, by fading them with the stage color. -The parameters of the GL fog used can be changed using the -clutter_stage_set_fog() function. - - - - - - %TRUE for enabling the depth cueing effect - - - - - - Sets if the stage is resizable by user interaction (e.g. via -window manager controls) - - - - - - whether the stage should be user resizable. - - - - - - Shows the cursor on the stage window - - - - - - The color of the main stage. - - - - Whether the mouse pointer should be visible - - - - The settings for the GL "fog", used only if #ClutterStage:use-fog -is set to %TRUE - - - - - - - The #ClutterActor that will receive key events from the underlying -windowing system. -If %NULL, the #ClutterStage will receive the events. - - - - Whether or not the #ClutterStage should clear its contents -before each paint cycle. -See clutter_stage_set_no_clear_hint() for further information. - - - - Whether the stage should be rendered in an offscreen buffer. -<warning><para>Not every backend supports redirecting the -stage to an offscreen buffer. This property might not work -and it might be deprecated at any later date.</para></warning> - - - - The parameters used for the perspective projection from 3D -coordinates to 2D - - - - The stage's title - usually displayed in stage windows title decorations. - - - - Whether the #ClutterStage should honour the alpha component of the -#ClutterStage:color property when painting. If Clutter is run under -a compositing manager this will result in the stage being blended -with the underlying window(s) - - - - Whether the stage should use a linear GL "fog" in creating the -depth-cueing effect, to enhance the perception of depth by fading -actors farther from the viewpoint. - - - - Whether the stage is resizable via user interaction. - - - - - - - - - - - - - - - - - - - - The ::delete-event signal is emitted when the user closes a -#ClutterStage window using the window controls. -Clutter by default will call clutter_main_quit() if @stage is -the default stage, and clutter_actor_destroy() for any other -stage. -It is possible to override the default behaviour by connecting -a new handler and returning %TRUE there. -<note>This signal is emitted only on Clutter backends that -embed #ClutterStage in native windows. It is not emitted for -backends that use a static frame buffer.</note> - - - - - - a #ClutterEvent of type %CLUTTER_DELETE - - - - - - - - - - - - - - - - - The #ClutterStageClass structure contains only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterStageManager structure is private. - - Returns the default #ClutterStageManager. -object is owned by Clutter and you should not reference or unreference it. - - the default stage manager instance. The returned - - - - - Returns the default #ClutterStage. -is owned by Clutter and you should never reference or unreference it - - the default stage. The returned object - - - - - Lists all currently used stages. -allocated list of #ClutterStage objects. Use g_slist_free() to -deallocate it when done. - - a newly - - - - - - - Lists all currently used stages. -to the internal list of #ClutterStage objects. The returned list -is owned by the #ClutterStageManager and should never be modified -or freed - - a pointer - - - - - - - Sets @stage as the default stage. - - - - - - a #ClutterStage - - - - - - The default stage used by Clutter. - - - - The ::stage-added signal is emitted each time a new #ClutterStage -has been added to the stage manager. - - - - - - the added stage - - - - - - The ::stage-removed signal is emitted each time a #ClutterStage -has been removed from the stage manager. - - - - - - the removed stage - - - - - - - The #ClutterStageManagerClass structure contains only private data -and should be accessed using the provided API - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Stage state masks - - - - - - Event signalling a change in the #ClutterStage state. - - - - - - - - - - - - - - - - - - - - - - - - <structname>ClutterStageWindow</structname> is an opaque structure -whose members should not be accessed directly - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The interface implemented by backends for stage windows - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The <structname>ClutterState</structname> structure contains only -private data and should be accessed using the provided API - - - Creates a new #ClutterState - - the newly create #ClutterState instance - - - - - Retrieves the #ClutterAnimator that is being used for transitioning -between the two states, if any has been set - - a #ClutterAnimator instance, or %NULL - - - - - the name of a source state - - - - the name of a target state - - - - - - Queries the duration used for transitions between a source and -target state pair -The semantics for the query are the same as the semantics used for -setting the duration with clutter_state_set_duration() - - the duration, in milliseconds - - - - - the name of the source state to get the duration of, or %NULL - - - - the name of the source state to get the duration of, or %NULL - - - - - - Returns a list of pointers to opaque structures with accessor functions -that describe the keys added to an animator. -newly allocated #GList of #ClutterStateKey<!-- -->s. The contents of -the returned list are owned by the #ClutterState and should not be -modified or freed. Use g_list_free() to free the resources allocated -by the returned list when done using it - - a - - - - - - - the source transition name to query, or %NULL for all source states - - - - the target transition name to query, or %NULL for all target states - - - - the specific object instance to list keys for, or %NULL for all managed objects - - - - the property name to search for, or %NULL for all properties. - - - - - - Queries the currently set target state. -During a transition this function will return the target of the transition. -This function is useful when called from handlers of the -#ClutterState::completed signal. -is owned by the #ClutterState and should not be modified or freed - - a string containing the target state. The returned string - - - - - Gets a list of all the state names managed by this #ClutterState. -#GList of state names. The contents of the returned #GList are owned -by the #ClutterState and should not be modified or freed. Use -g_list_free() to free the resources allocated by the returned list when -done using it - - a newly allocated - - - - - - - Gets the timeline driving the #ClutterState -the state change animations. The returned timeline is owned -by the #ClutterState and it should not be unreferenced directly - - the #ClutterTimeline that drives - - - - - Removes all keys matching the search criteria passed in arguments. - - - - - - the source state name to query, or %NULL for all source states - - - - the target state name to query, or %NULL for all target states - - - - the specific object instance to list keys for, or %NULL for all managed objects - - - - the property name to search for, or %NULL for all properties. - - - - - - Adds multiple keys to a named state of a #ClutterState instance, specifying -the easing mode and value a given property of an object should have at a -given progress of the animation. -The mode specified is the easing mode used when going to from the previous -key to the specified key. -For instance, the code below: -|[ -clutter_state_set (state, NULL, "hover", -button, "opacity", 255, CLUTTER_LINEAR, -button, "scale-x", 1.2, CLUTTER_EASE_OUT_CUBIC, -button, "scale-y", 1.2, CLUTTER_EASE_OUT_CUBIC, -NULL); -]| -will create a transition from any state (a @source_state_name of NULL is -treated as a wildcard) and a state named "hover"; the -<emphasis>button</emphasis> object will have the #ClutterActor:opacity -property animated to a value of 255 using %CLUTTER_LINEAR as the animation -mode, and the #ClutterActor:scale-x and #ClutterActor:scale-y properties -animated to a value of 1.2 using %CLUTTER_EASE_OUT_CUBIC as the animation -mode. To change the state (and start the transition) you can use the -clutter_state_change() function: -|[ -clutter_state_change (state, "hover", TRUE); -]| -If a given object, state_name, property tuple already exist in the -#ClutterState instance, then the mode and value will be replaced with -the new specified values. -If a property name is prefixed with "delayed::" two additional -to pause before transitioning and a similar value to pause after -transitioning, e.g.: -|[ -clutter_state_set (state, "hover", "toggled", -button, "delayed::scale-x", 1.0, 0.2, 0.2, -button, "delayed::scale-y", 1.0, 0.2, 0.2, -NULL); -]| -will pause for 20% of the duration of the transition before animating, -and 20% of the duration after animating. - - - - - - the name of the source state keys are being added for - - - - the name of the target state keys are being added for - - - - a #GObject - - - - a property of @first_object to specify a key for - - - - the id of the alpha function to use - - - - - - - - - - Specifies a #ClutterAnimator to be used when transitioning between -the two named states. -The @animator allows specifying a transition between the state that is -more elaborate than the basic transitions allowed by the tweening of -properties defined in the #ClutterState keys. -If @animator is %NULL it will unset an existing animator. -#ClutterState will take a reference on the passed @animator, if any - - - - - - the name of a source state - - - - the name of a target state - - - - a #ClutterAnimator instance, or %NULL to unset an existing #ClutterAnimator - - - - - - Sets the duration of a transition. -If both state names are %NULL the default duration for @state is set. -If only @target_state_name is specified, the passed @duration becomes -the default duration for transitions to the target state. -If both states names are specified, the passed @duration only applies -to the specified transition. - - - - - - the name of the source state, or %NULL - - - - the name of the target state, or %NULL - - - - the duration of the transition, in milliseconds - - - - - - Sets one specific end key for a state_name, object, property_name -combination. -chaining of multiple calls - - the #ClutterState instance, allowing - - - - - the source transition to specify transition for or NULL to specify the default fallback when a more specific source_state doesn't exist. - - - - the name of the transition to set a key value for. - - - - the #GObject to set a key for - - - - the property to set a key for - - - - the id of the alpha function to use - - - - the value for property_name of object in state_name - - - - relative time of the transition to be idle in the beginning of the transition - - - - relative time of the transition to be idle in the end of the transition - - - - - - Change the current state of #ClutterState to @target_state_name -The state will animate during its transition, see -#clutter_state_warp_to_state for animation-free state switching. -state transition. The returned timeline is owned by the #ClutterState -and it should not be unreferenced - - the #ClutterTimeline that drives the - - - - - the state to transition to - - - - - - Change the current state of #ClutterState to @target_state_name -Change to the specified target state immediately with no animation. -state transition. The returned timeline is owned by the #ClutterState -and it should not be unreferenced - - the #ClutterTimeline that drives the - - - - - the state to transition to - - - - - - Default duration used if an duration has not been specified for a specific -source/target state pair. The values is in milliseconds. - - - - The currently set target state, setting it causes the -state machine to transition to the new state, use -clutter_state_change() with a final FALSE argument to -change state without a transition. - - - - - - - - - - The ::completed signal is emitted when a #ClutterState reaches -the target state specified by clutter_state_change() - - - - - - - The <structname>ClutterStateClass</structname> structure contains -only private data - - - - - - - - - - - - - - - - - - - - - - - <structname>ClutterStateKey</structname> is an opaque structure whose -members cannot be accessed directly - - Retrieves the easing mode used for @state_key. - - the mode of a #ClutterStateKey - - - - - Retrieves the object instance this #ClutterStateKey applies to. - - the object this state key applies to. - - - - - Retrieves the duration of the pause after transitioning is complete -as a fraction of the total transition time. - - the post delay, used after doing the transition. - - - - - Retrieves the pause before transitioning starts as a fraction of -the total transition time. - - the pre delay used before starting the transition. - - - - - Retrieves the name of the property this #ClutterStateKey applies to -by the #ClutterStateKey and should never be modified or freed - - the name of the property. The returned string is owned - - - - - Retrieves the #GType of the property a key applies to -You can use this type to initialize the #GValue to pass to -clutter_state_key_get_value() - - the #GType of the property - - - - - Retrieves the name of the source state of the @state_key -if this is the generic state key for the given property when -transitioning to the target state. The returned string is owned -by the #ClutterStateKey and should never be modified or freed - - the name of the source state for this key, or %NULL - - - - - Get the name of the source state this #ClutterStateKey contains, -or NULL if this is the generic state key for the given property -when transitioning to the target state. -the key is generic - - the name of the source state for this key, or NULL if - - - - - Retrieves a copy of the value for a #ClutterStateKey. -The #GValue needs to be already initialized for the value type -of the property or to a type that allow transformation from the value -type of the key. -Use g_value_unset() when done. -and %FALSE otherwise - - %TRUE if the value was successfully retrieved, - - - - - a #GValue initialized with the correct type for the @state_key - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The alignment policies available on each axis of the #ClutterTableLayout - - - - - - The #ClutterTableLayout structure contains only private data -and should be accessed using the provided API - - Creates a new #ClutterTableLayout layout manager - - the newly created #ClutterTableLayout - - - - - Retrieves the horizontal and vertical alignment policies for @actor -as set using clutter_table_layout_pack() or -clutter_table_layout_set_alignment(). - - - - - - a #ClutterActor child of @layout - - - - return location for the horizontal alignment policy - - - - return location for the vertical alignment policy - - - - - - Retrieve the current number of columns in @layout - - the number of columns - - - - - Retrieves the spacing set using clutter_table_layout_set_column_spacing() - - the spacing between columns of the #ClutterTableLayout - - - - - Retrieves the duration set using clutter_table_layout_set_easing_duration() - - the duration of the animations, in milliseconds - - - - - Retrieves the easing mode set using clutter_table_layout_set_easing_mode() - - an easing mode - - - - - Retrieves the horizontal and vertical expand policies for @actor -as set using clutter_table_layout_pack() or clutter_table_layout_set_expand() - - - - - - a #ClutterActor child of @layout - - - - return location for the horizontal expand policy - - - - return location for the vertical expand policy - - - - - - Retrieves the horizontal and vertical fill policies for @actor -as set using clutter_table_layout_pack() or clutter_table_layout_set_fill() - - - - - - a #ClutterActor child of @layout - - - - return location for the horizontal fill policy - - - - return location for the vertical fill policy - - - - - - Retrieve the current number rows in the @layout - - the number of rows - - - - - Retrieves the spacing set using clutter_table_layout_set_row_spacing() - - the spacing between rows of the #ClutterTableLayout - - - - - Retrieves the row and column span for @actor as set using -clutter_table_layout_pack() or clutter_table_layout_set_span() - - - - - - a #ClutterActor child of @layout - - - - return location for the col span - - - - return location for the row span - - - - - - Retrieves whether @layout should animate changes in the layout properties -Since clutter_table_layout_set_use_animations() - - %TRUE if the animations should be used, %FALSE otherwise - - - - - Packs @actor inside the #ClutterContainer associated to @layout -at the given row and column. - - - - - - a #ClutterActor - - - - the column the @actor should be put, or -1 to append - - - - the row the @actor should be put, or -1 to append - - - - - - Sets the horizontal and vertical alignment policies for @actor -inside @layout - - - - - - a #ClutterActor child of @layout - - - - Horizontal alignment policy for @actor - - - - Vertical alignment policy for @actor - - - - - - Sets the spacing between columns of @layout - - - - - - the spacing between columns of the layout, in pixels - - - - - - Sets the duration of the animations used by @layout when animating changes -in the layout properties -Use clutter_table_layout_set_use_animations() to enable and disable the -animations - - - - - - the duration of the animations, in milliseconds - - - - - - Sets the easing mode to be used by @layout when animating changes in layout -properties -Use clutter_table_layout_set_use_animations() to enable and disable the -animations - - - - - - an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func() - - - - - - Sets the horizontal and vertical expand policies for @actor -inside @layout - - - - - - a #ClutterActor child of @layout - - - - whether @actor should allocate extra space horizontally - - - - whether @actor should allocate extra space vertically - - - - - - Sets the horizontal and vertical fill policies for @actor -inside @layout - - - - - - a #ClutterActor child of @layout - - - - whether @actor should fill horizontally the allocated space - - - - whether @actor should fill vertically the allocated space - - - - - - Sets the spacing between rows of @layout - - - - - - the spacing between rows of the layout, in pixels - - - - - - Sets the row and column span for @actor -inside @layout - - - - - - a #ClutterActor child of @layout - - - - Column span for @actor - - - - Row span for @actor - - - - - - Sets whether @layout should animate changes in the layout properties -The duration of the animations is controlled by -clutter_table_layout_set_easing_duration(); the easing mode to be used -by the animations is controlled by clutter_table_layout_set_easing_mode() - - - - - - %TRUE if the @layout should use animations - - - - - - The spacing between columns of the #ClutterTableLayout, in pixels - - - - The duration of the animations, in case #ClutterTableLayout:use-animations -is set to %TRUE -The duration is expressed in milliseconds - - - - The easing mode for the animations, in case -#ClutterTableLayout:use-animations is set to %TRUE -either be a value from the #ClutterAnimationMode enumeration, like -%CLUTTER_EASE_OUT_CUBIC, or a logical id as returned by -clutter_alpha_register_func() -The default value is %CLUTTER_EASE_OUT_CUBIC - - - - The spacing between rows of the #ClutterTableLayout, in pixels - - - - Whether the #ClutterTableLayout should animate changes in the -layout properties - - - - - - - - - - - The #ClutterTableLayoutClass structure contains only private -data and should be accessed using the provided API - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterText struct contains only private data. - - - - - Creates a new #ClutterText actor. This actor can be used to -display and edit text. - - the newly created #ClutterText actor - - - - - Creates a new #ClutterText actor, using @font_name as the font -description; @text will be used to set the contents of the actor; -and @color will be used as the color to render @text. -This function is equivalent to calling clutter_text_new(), -clutter_text_set_font_name(), clutter_text_set_text() and -clutter_text_set_color(). - - the newly created #ClutterText actor - - - - - a string with a font description - - - - the contents of the actor - - - - the color to be used to render @text - - - - - - Creates a new #ClutterText actor, using @font_name as the font -description; @text will be used to set the contents of the actor. -This function is equivalent to calling clutter_text_new(), -clutter_text_set_font_name(), and clutter_text_set_text(). - - the newly created #ClutterText actor - - - - - a string with a font description - - - - the contents of the actor - - - - - - Emits the #ClutterText::activate signal, if @self has been set -as activatable using clutter_text_set_activatable(). -This function can be used to emit the ::activate signal inside -a #ClutterActor::captured-event or #ClutterActor::key-press-event -signal handlers before the default signal handler for the -#ClutterText is invoked. -and %FALSE otherwise - - %TRUE if the ::activate signal has been emitted, - - - - - Deletes @n_chars inside a #ClutterText actor, starting from the -current cursor position. - - - - - - the number of characters to delete - - - - - - Deletes the currently selected text -This function is only useful in subclasses of #ClutterText -is empty, and %FALSE otherwise - - %TRUE if text was deleted or if the text actor - - - - - Deletes the text inside a #ClutterText actor between @start_pos -and @end_pos. -The starting and ending positions are expressed in characters, -not in bytes. - - - - - - starting position - - - - ending position - - - - - - Retrieves whether a #ClutterText is activatable or not. - - %TRUE if the actor is activatable - - - - - Gets the attribute list that was set on the #ClutterText actor -clutter_text_set_attributes(), if any. -returned value is owned by the #ClutterText and should not be unreferenced. - - the attribute list, or %NULL if none was set. The - - - - - Retrieves the contents of the #ClutterText actor between -The positions are specified in characters, not in bytes. -the text actor between the specified positions. Use g_free() -to free the resources when done - - a newly allocated string with the contents of - - - - - start of text, in characters - - - - end of text, in characters - - - - - - Retrieves the text color as set by clutter_text_set_color(). - - - - - - return location for a #ClutterColor - - - - - - Retrieves the color of the cursor of a #ClutterText actor. - - - - - - return location for a #ClutterColor - - - - - - Retrieves the cursor position. - - the cursor position, in characters - - - - - Retrieves the size of the cursor of a #ClutterText actor. - - the size of the cursor, in pixels - - - - - Retrieves whether the cursor of a #ClutterText actor is visible. - - %TRUE if the cursor is visible - - - - - Retrieves whether a #ClutterText is editable or not. - - %TRUE if the actor is editable - - - - - Returns the ellipsizing position of a #ClutterText actor, as -set by clutter_text_set_ellipsize(). - - #PangoEllipsizeMode - - - - - Retrieves the #PangoFontDescription used by @self -by the #ClutterText actor and it should not be modified or freed - - a #PangoFontDescription. The returned value is owned - - - - - Retrieves the font name as set by clutter_text_set_font_name(). -string is owned by the #ClutterText actor and should not be -modified or freed - - a string containing the font name. The returned - - - - - Retrieves whether the #ClutterText actor should justify its contents -on both margins. - - %TRUE if the text should be justified - - - - - Retrieves the current #PangoLayout used by a #ClutterText actor. -the #ClutterText actor and should not be modified or freed - - a #PangoLayout. The returned object is owned by - - - - - Retrieves the alignment of a #ClutterText, as set by -clutter_text_set_line_alignment(). - - a #PangoAlignment - - - - - Retrieves the value set using clutter_text_set_line_wrap(). -its contents - - %TRUE if the #ClutterText actor should wrap - - - - - Retrieves the line wrap mode used by the #ClutterText actor. -See clutter_text_set_line_wrap_mode (). - - the wrap mode used by the #ClutterText - - - - - Gets the maximum length of text that can be set into a text actor. -See clutter_text_set_max_length(). - - the maximum number of characters. - - - - - Retrieves the character to use in place of the actual text -as set by clutter_text_set_password_char(). -character is not set - - a Unicode character or 0 if the password - - - - - Retrieves whether a #ClutterText is selectable or not. - - %TRUE if the actor is selectable - - - - - Retrieves the currently selected text. -selected text, or %NULL. Use g_free() to free the returned -string. - - a newly allocated string containing the currently - - - - - Retrieves the other end of the selection of a #ClutterText actor, -in characters from the current cursor position. - - the position of the other end of the selection - - - - - Retrieves the color of the selection of a #ClutterText actor. - - - - - - return location for a #ClutterColor - - - - - - Retrieves whether the #ClutterText actor is in single line mode. - - %TRUE if the #ClutterText actor is in single line mode - - - - - Retrieves a pointer to the current contents of a #ClutterText -actor. -If you need a copy of the contents for manipulating, either -use g_strdup() on the returned string, or use: -|[ -copy = clutter_text_get_chars (text, 0, -1); -]| -Which will return a newly allocated string. -is owned by the #ClutterText actor and should never be -modified or freed - - the contents of the actor. The returned string - - - - - Retrieves whether the contents of the #ClutterText actor should be -parsed for the Pango text markup. - - %TRUE if the contents will be parsed for markup - - - - - Inserts @text into a #ClutterActor at the given position. -If @position is a negative number, the text will be appended -at the end of the current contents of the #ClutterText. -The position is expressed in characters, not in bytes. - - - - - - the text to be inserted - - - - the position of the insertion, or -1 - - - - - - Inserts @wc at the current cursor position of a -#ClutterText actor. - - - - - - a Unicode character - - - - - - Retrieves the coordinates of the given @position. - - %TRUE if the conversion was successful - - - - - position in characters - - - - return location for the X coordinate, or %NULL - - - - return location for the Y coordinate, or %NULL - - - - return location for the line height, or %NULL - - - - - - Sets whether a #ClutterText actor should be activatable. -An activatable #ClutterText actor will emit the #ClutterText::activate -signal whenever the 'Enter' (or 'Return') key is pressed; if it is not -activatable, a new line will be appended to the current content. -An activatable #ClutterText must also be set as editable using -clutter_text_set_editable(). - - - - - - whether the #ClutterText actor should be activatable - - - - - - Sets the attributes list that are going to be applied to the -#ClutterText contents. -The #ClutterText actor will take a reference on the #PangoAttrList -passed to this function. - - - - - - a #PangoAttrList or %NULL to unset the attributes - - - - - - Sets the color of the contents of a #ClutterText actor. -The overall opacity of the #ClutterText actor will be the -result of the alpha value of @color and the composited -opacity of the actor itself on the scenegraph, as returned -by clutter_actor_get_paint_opacity(). - - - - - - a #ClutterColor - - - - - - Sets the color of the cursor of a #ClutterText actor. -If @color is %NULL, the cursor color will be the same as the -text color. - - - - - - the color of the cursor, or %NULL to unset it - - - - - - Sets the cursor of a #ClutterText actor at @position. -The position is expressed in characters, not in bytes. - - - - - - the new cursor position, in characters - - - - - - Sets the size of the cursor of a #ClutterText. The cursor -will only be visible if the #ClutterText:cursor-visible property -is set to %TRUE. - - - - - - the size of the cursor, in pixels, or -1 to use the default value - - - - - - Sets whether the cursor of a #ClutterText actor should be -visible or not. -The color of the cursor will be the same as the text color -unless clutter_text_set_cursor_color() has been called. -The size of the cursor can be set using clutter_text_set_cursor_size(). -The position of the cursor can be changed programmatically using -clutter_text_set_cursor_position(). - - - - - - whether the cursor should be visible - - - - - - Sets whether the #ClutterText actor should be editable. -An editable #ClutterText with key focus set using -clutter_actor_grab_key_focus() or clutter_stage_take_key_focus() -will receive key events and will update its contents accordingly. - - - - - - whether the #ClutterText should be editable - - - - - - text if there is not enough space to render the entire contents -of a #ClutterText actor - - - - - - a #PangoEllipsizeMode - - - - - - Sets @font_desc as the font description for a #ClutterText -The #PangoFontDescription is copied by the #ClutterText actor -so you can safely call pango_font_description_free() on it after -calling this function. - - - - - - a #PangoFontDescription - - - - - - Sets the font used by a #ClutterText. The @font_name string -must either be %NULL, which means that the font name from the -default #ClutterBackend will be used; or be something that can -be parsed by the pango_font_description_from_string() function, -like: -|[ -clutter_text_set_font_name (text, "Sans 10pt"); -clutter_text_set_font_name (text, "Serif 16px"); -clutter_text_set_font_name (text, "Helvetica 10"); -]| - - - - - - a font name, or %NULL to set the default font name - - - - - - Sets whether the text of the #ClutterText actor should be justified -on both margins. This setting is ignored if Clutter is compiled -against Pango &lt; 1.18. - - - - - - whether the text should be justified - - - - - - Sets the way that the lines of a wrapped label are aligned with -respect to each other. This does not affect the overall alignment -of the label within its allocated or specified width. -To align a #ClutterText actor you should add it to a container -that supports alignment, or use the anchor point. - - - - - - A #PangoAlignment - - - - - - Sets whether the contents of a #ClutterText actor should wrap, -if they don't fit the size assigned to the actor. - - - - - - whether the contents should wrap - - - - - - If line wrapping is enabled (see clutter_text_set_line_wrap()) this -function controls how the line wrapping is performed. The default is -%PANGO_WRAP_WORD which means wrap on word boundaries. - - - - - - the line wrapping mode - - - - - - Sets @markup as the contents of a #ClutterText. -This is a convenience function for setting a string containing -Pango markup, and it is logically equivalent to: -|[ -clutter_text_set_text (CLUTTER_TEXT (actor), markup); -clutter_text_set_use_markup (CLUTTER_TEXT (actor), TRUE); -]| - - - - - - a string containing Pango markup. Passing %NULL is the same as passing "" (the empty string) - - - - - - Sets the maximum allowed length of the contents of the actor. If the -current contents are longer than the given length, then they will be -truncated to fit. - - - - - - the maximum number of characters allowed in the text actor; 0 to disable or -1 to set the length of the current string - - - - - - Sets the character to use in place of the actual text in a -password text actor. -If @wc is 0 the text will be displayed as it is entered in the -#ClutterText actor. - - - - - - a Unicode character, or 0 to unset the password character - - - - - - Sets, or unsets, the pre-edit string. This function is useful -for input methods to display a string (with eventual specific -Pango attributes) before it is entered inside the #ClutterText -buffer. -The preedit string and attributes are ignored if the #ClutterText -actor is not editable. -This function should not be used by applications - - - - - - the pre-edit string, or %NULL to unset it - - - - the pre-edit string attributes - - - - the cursor position for the pre-edit string - - - - - - Sets whether a #ClutterText actor should be selectable. -A selectable #ClutterText will allow selecting its contents using -the pointer or the keyboard. - - - - - - whether the #ClutterText actor should be selectable - - - - - - Selects the region of text between @start_pos and @end_pos. -This function changes the position of the cursor to match - - - - - - start of the selection, in characters - - - - end of the selection, in characters - - - - - - Sets the other end of the selection, starting from the current -cursor position. -If @selection_bound is -1, the selection unset. - - - - - - the position of the end of the selection, in characters - - - - - - Sets the color of the selection of a #ClutterText actor. -If @color is %NULL, the selection color will be the same as the -cursor color, or if no cursor color is set either then it will be -the same as the text color. - - - - - - the color of the selection, or %NULL to unset it - - - - - - Sets whether a #ClutterText actor should be in single line mode -or not. Only editable #ClutterText<!-- -->s can be in single line -mode. -A text actor in single line mode will not wrap text and will clip -the the visible area to the predefined size. The contents of the -text actor will scroll to display the end of the text if its length -is bigger than the allocated width. -When setting the single line mode the #ClutterText:activatable -property is also set as a side effect. Instead of entering a new -line character, the text actor will emit the #ClutterText::activate -signal. - - - - - - whether to enable single line mode - - - - - - Sets the contents of a #ClutterText actor. -If the #ClutterText:use-markup property was set to %TRUE it -will be reset to %FALSE as a side effect. If you want to -maintain the #ClutterText:use-markup you should use the -clutter_text_set_markup() function instead - - - - - - the text to set. Passing %NULL is the same as passing "" (the empty string) - - - - - - Sets whether the contents of the #ClutterText actor contains markup -in <link linkend="PangoMarkupFormat">Pango's text markup language</link>. -Setting #ClutterText:use-markup on an editable #ClutterText will -not have any effect except hiding the markup. -See also #ClutterText:use-markup. - - - - - - %TRUE if the text should be parsed for markup. - - - - - - Toggles whether return invokes the activate signal or not. - - - - A list of #PangoStyleAttribute<!-- -->s to be applied to the -contents of the #ClutterText actor. - - - - The color used to render the text. - - - - The color of the cursor. - - - - Will be set to %TRUE if #ClutterText:cursor-color has been set. - - - - The size of the cursor, in pixels. If set to -1 the size used will -be the default cursor size of 2 pixels. - - - - Whether the input cursor is visible or not, it will only be visible -if both #ClutterText:cursor-visible and #ClutterText:editable are -set to %TRUE. - - - - Whether key events delivered to the actor causes editing. - - - - The preferred place to ellipsize the contents of the #ClutterText actor - - - - The #PangoFontDescription that should be used by the #ClutterText -If you have a string describing the font then you should look at -#ClutterText:font-name instead - - - - The font to be used by the #ClutterText, as a string -that can be parsed by pango_font_description_from_string(). -If set to %NULL, the default system font will be used instead. - - - - Whether the contents of the #ClutterText should be justified -on both margins. - - - - The preferred alignment for the text. This property controls -the alignment of multi-line paragraphs. - - - - Whether to wrap the lines of #ClutterText:text if the contents -exceed the available allocation. The wrapping strategy is -controlled by the #ClutterText:line-wrap-mode property. - - - - If #ClutterText:line-wrap is set to %TRUE, this property will -control how the text is wrapped. - - - - The maximum length of the contents of the #ClutterText actor. - - - - If non-zero, the character that should be used in place of -the actual text in a password text actor. - - - - The current input cursor position. -1 is taken to be the end of the text - - - - Whether it is possible to select text, either using the pointer -or the keyboard. - - - - The current input cursor position. -1 is taken to be the end of the text - - - - The color of the selection. - - - - Will be set to %TRUE if #ClutterText:selection-color has been set. - - - - Whether the #ClutterText actor should be in single line mode -or not. A single line #ClutterText actor will only contain a -single line of text, scrolling it in case its length is bigger -than the allocated size. -Setting this property will also set the #ClutterText:activatable -property as a side-effect. -The #ClutterText:single-line-mode property is used only if the -#ClutterText:editable property is set to %TRUE. - - - - The text to render inside the actor. - - - - Whether the text includes Pango markup. -For more informations about the Pango markup format, see -pango_layout_set_markup() in the Pango documentation. -<note>It is not possible to round-trip this property between -%TRUE and %FALSE. Once a string with markup has been set on -a #ClutterText actor with :use-markup set to %TRUE, the markup -is stripped from the string.</note> - - - - - - - - - - - - - - - The ::cursor-event signal is emitted whenever the cursor position -changes inside a #ClutterText actor. Inside @geometry it is stored -the current position and size of the cursor, relative to the actor -itself. - - - - - - the coordinates of the cursor - - - - - - This signal is emitted when text is deleted from the actor by -the user. It is emitted before @self text changes. - - - - - - the starting position - - - - the end position - - - - - - This signal is emitted when text is inserted into the actor by -the user. It is emitted before @self text changes. - - - - - - the new text to insert - - - - the length of the new text, in bytes, or -1 if new_text is nul-terminated - - - - the position, in characters, at which to insert the new text. this is an in-out parameter. After the signal emission is finished, it should point after the newly inserted text. - - - - - - The ::text-changed signal is emitted after @actor's text changes - - - - - - - The #ClutterTextClass struct contains only private data. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The text direction to be used by #ClutterActor<!-- -->s - - - - - - - - The #ClutterTexture structure contains only private data -and should be accessed using the provided API - - - - - Creates a new empty #ClutterTexture object. - - A newly created #ClutterTexture object. - - - - - Creates a new #ClutterTexture object with its source a prexisting -actor (and associated children). The textures content will contain -'live' redirected output of the actors scene. -Note this function is intented as a utility call for uniformly applying -shaders to groups and other potential visual effects. It requires that -the %CLUTTER_FEATURE_OFFSCREEN feature is supported by the current backend -and the target system. -Some tips on usage: -<itemizedlist> -<listitem> -<para>The source actor must be made visible (i.e by calling -#clutter_actor_show).</para> -</listitem> -<listitem> -<para>The source actor must have a parent in order for it to be -allocated a size from the layouting mechanism. If the source -actor does not have a parent when this function is called then -the ClutterTexture will adopt it and allocate it at its -preferred size. Using this you can clone an actor that is -otherwise not displayed. Because of this feature if you do -intend to display the source actor then you must make sure that -the actor is parented before calling -clutter_texture_new_from_actor() or that you unparent it before -adding it to a container.</para> -</listitem> -<listitem> -<para>When getting the image for the clone texture, Clutter -will attempt to render the source actor exactly as it would -appear if it was rendered on screen. The source actor's parent -transformations are taken into account. Therefore if your -source actor is rotated along the X or Y axes so that it has -some depth, the texture will appear differently depending on -the on-screen location of the source actor. While painting the -source actor, Clutter will set up a temporary asymmetric -perspective matrix as the projection matrix so that the source -actor will be projected as if a small section of the screen was -being viewed. Before version 0.8.2, an orthogonal identity -projection was used which meant that the source actor would be -clipped if any part of it was not on the zero Z-plane.</para> -</listitem> -<listitem> -<para>Avoid reparenting the source with the created texture.</para> -</listitem> -<listitem> -<para>A group can be padded with a transparent rectangle as to -provide a border to contents for shader output (blurring text -for example).</para> -</listitem> -<listitem> -<para>The texture will automatically resize to contain a further -transformed source. However, this involves overhead and can be -avoided by placing the source actor in a bounding group -sized large enough to contain any child tranformations.</para> -</listitem> -<listitem> -<para>Uploading pixel data to the texture (e.g by using -clutter_actor_set_from_file()) will destroy the offscreen texture data -and end redirection.</para> -</listitem> -<listitem> -<para>cogl_texture_get_data() with the handle returned by -clutter_texture_get_cogl_texture() can be used to read the -offscreen texture pixels into a pixbuf.</para> -</listitem> -</itemizedlist> - - A newly created #ClutterTexture object, or %NULL on failure. - - - - - A source #ClutterActor - - - - - - Creates a new ClutterTexture actor to display the image contained a -file. If the image failed to load then NULL is returned and @error -is set. -error. - - A newly created #ClutterTexture object or NULL on - - - - - The name of an image file to load. - - - - - - Gets the size in pixels of the untransformed underlying image - - - - - - return location for the width, or %NULL - - - - return location for the height, or %NULL - - - - - - Returns a handle to the underlying COGL material used for drawing -the actor. -material is owned by the #ClutterTexture and it should not be -unreferenced - - a handle for a #CoglMaterial. The - - - - - Retrieves the handle to the underlying COGL texture used for drawing -the actor. No extra reference is taken so if you need to keep the -handle then you should call cogl_handle_ref() on it. -The texture handle returned is the first layer of the material -handle used by the #ClutterTexture. If you need to access the other -layers you should use clutter_texture_get_cogl_material() instead -and use the #CoglMaterial API. -handle is owned by the #ClutterTexture and it should not be unreferenced - - a #CoglHandle for the texture. The returned - - - - - - - - - - Retrieves the value set using clutter_texture_set_keep_aspect_ratio() -aspect ratio of the underlying image - - %TRUE if the #ClutterTexture should maintain the - - - - - Retrieves the value set using clutter_texture_set_load_async() -disk asynchronously - - %TRUE if the #ClutterTexture should load the data from - - - - - Retrieves the value set by clutter_texture_set_load_data_async() -data from a file asynchronously - - %TRUE if the #ClutterTexture should load the image - - - - - - - - - - Retrieves the value set by clutter_texture_set_load_data_async() -using the alpha channel when picking. - - %TRUE if the #ClutterTexture should define its shape - - - - - Retrieves the pixel format used by @texture. This is -equivalent to: -|[ -handle = clutter_texture_get_pixel_format (texture); -if (handle != COGL_INVALID_HANDLE) -format = cogl_texture_get_format (handle); -]| - - a #CoglPixelFormat value - - - - - Retrieves the horizontal and vertical repeat values set -using clutter_texture_set_repeat() - - - - - - return location for the horizontal repeat - - - - return location for the vertical repeat - - - - - - Retrieves the value set with clutter_texture_set_sync_size() -preferred size of the underlying image data - - %TRUE if the #ClutterTexture should have the same - - - - - Updates a sub-region of the pixel data in a #ClutterTexture. - - %TRUE on success, %FALSE on failure. - - - - - Image data in RGB type colorspace. - - - - Set to TRUE if image data has an alpha channel. - - - - X coordinate of upper left corner of region to update. - - - - Y coordinate of upper left corner of region to update. - - - - Width in pixels of region to update. - - - - Height in pixels of region to update. - - - - Distance in bytes between row starts on source buffer. - - - - bytes per pixel (Currently only 3 and 4 supported, depending on @has_alpha) - - - - #ClutterTextureFlags - - - - - - Replaces the underlying Cogl material drawn by this actor with -handle is no longer needed it should be deref'd with -cogl_handle_unref. Texture data is attached to the material so -calling this function also replaces the Cogl -texture. #ClutterTexture requires that the material have a texture -layer so you should set one on the material before calling this -function. - - - - - - A CoglHandle for a material - - - - - - - - - - - - - - - - Sets the filter quality when scaling a texture. The quality is an -enumeration currently the following values are supported: -%CLUTTER_TEXTURE_QUALITY_LOW which is fast but only uses nearest neighbour -interpolation. %CLUTTER_TEXTURE_QUALITY_MEDIUM which is computationally a -bit more expensive (bilinear interpolation), and -%CLUTTER_TEXTURE_QUALITY_HIGH which uses extra texture memory resources to -improve scaled down rendering as well (by using mipmaps). The default value -is %CLUTTER_TEXTURE_QUALITY_MEDIUM. - - - - - - new filter quality value - - - - - - Sets the #ClutterTexture image data from an image file. In case of -failure, %FALSE is returned and @error is set. -If #ClutterTexture:load-async is set to %TRUE, this function -will return as soon as possible, and the actual image loading -from disk will be performed asynchronously. #ClutterTexture::size-change -will be emitten when the size of the texture is available and -#ClutterTexture::load-finished will be emitted when the image has been -loaded or if an error occurred. - - %TRUE if the image was successfully loaded and set - - - - - The filename of the image in GLib file name encoding - - - - - - Sets #ClutterTexture image data. - - %TRUE on success, %FALSE on failure. - - - - - Image data in RGBA type colorspace. - - - - Set to TRUE if image data has an alpha channel. - - - - Width in pixels of image data. - - - - Height in pixels of image data - - - - Distance in bytes between row starts. - - - - bytes per pixel (Currently only 3 and 4 supported, depending on @has_alpha) - - - - #ClutterTextureFlags - - - - - - Sets a #ClutterTexture from YUV image data. If an error occurred, -%FALSE is returned and @error is set. - - %TRUE if the texture was successfully updated - - - - - Image data in YUV type colorspace. - - - - Width in pixels of image data. - - - - Height in pixels of image data - - - - #ClutterTextureFlags - - - - - - Sets whether @texture should have a preferred size maintaining -the aspect ratio of the underlying image - - - - - - %TRUE to maintain aspect ratio - - - - - - Sets whether @texture should use a worker thread to load the data -from disk asynchronously. Setting @load_async to %TRUE will make -clutter_texture_set_from_file() return immediately. -See the #ClutterTexture:load-async property documentation, and -clutter_texture_set_load_data_async(). - - - - - - %TRUE if the texture should asynchronously load data from a filename - - - - - - Sets whether @texture should use a worker thread to load the data -from disk asynchronously. Setting @load_async to %TRUE will make -clutter_texture_set_from_file() block until the #ClutterTexture has -determined the width and height of the image data. -See the #ClutterTexture:load-async property documentation, and -clutter_texture_set_load_async(). - - - - - - %TRUE if the texture should asynchronously load data from a filename - - - - - - Sets whether @texture should have it's shape defined by the alpha -channel when picking. -Be aware that this is a bit more costly than the default picking -due to the texture lookup, extra test against the alpha value and -the fact that it will also interrupt the batching of geometry done -internally. -Also there is currently no control over the threshold used to -determine what value of alpha is considered pickable, and so only -fully opaque parts of the texture will react to picking. - - - - - - %TRUE if the alpha channel should affect the picking shape - - - - - - Sets whether the @texture should repeat horizontally or -vertically when the actor size is bigger than the image size - - - - - - %TRUE if the texture should repeat horizontally - - - - %TRUE if the texture should repeat vertically - - - - - - Sets whether @texture should have the same preferred size as the -underlying image data. - - - - - - %TRUE if the texture should have the same size of the underlying image data - - - - - - - - - - - - - - - The path of the file containing the image data to be displayed by -the texture. -This property is unset when using the clutter_texture_set_from_*_data() -family of functions. - - - - - - - - - - Tries to load a texture from a filename by using a local thread to perform -the read operations. The initially created texture has dimensions 0x0 when -the true size becomes available the #ClutterTexture::size-change signal is -emitted and when the image has completed loading the -#ClutterTexture::load-finished signal is emitted. -Threading is only enabled if g_thread_init() has been called prior to -clutter_init(), otherwise #ClutterTexture will use the main loop to load -the image. -The upload of the texture data on the GL pipeline is not asynchronous, as -it must be performed from within the same thread that called -clutter_main(). - - - - Like #ClutterTexture:load-async but loads the width and height -synchronously causing some blocking. - - - - - - - - - - - - - - - - - - - - - - - - - - - - The ::load-finished signal is emitted when a texture load has -completed. If there was an error during loading, @error will -be set, otherwise it will be %NULL - - - - - - A set error, or %NULL - - - - - - The ::pixbuf-change signal is emitted each time the pixbuf -used by @texture changes. - - - - - - The ::size-change signal is emitted each time the size of the -pixbuf used by @texture changes. The new size is given as -argument to the callback. - - - - - - the width of the new texture - - - - the height of the new texture - - - - - - - The #ClutterTextureClass structure contains only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Error enumeration for #ClutterTexture - - - - - - Flags for clutter_texture_set_from_rgb_data() and -clutter_texture_set_from_yuv_data(). - - - - - - - - - Enumaration controlling the texture quality. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #ClutterTimeline structure contains only private data -and should be accessed using the provided API - - Creates a new #ClutterTimeline with a duration of @msecs. -g_object_unref() when done using it - - the newly created #ClutterTimeline instance. Use - - - - - Duration of the timeline in milliseconds - - - - - - Adds a named marker that will be hit when the timeline has been -running for @msecs milliseconds. Markers are unique string -identifiers for a given time. Once @timeline reaches -attached to that time. -A marker can be removed with clutter_timeline_remove_marker(). The -timeline can be advanced to a marker using -clutter_timeline_advance_to_marker(). - - - - - - the unique name for this marker - - - - position of the marker in milliseconds - - - - - - Advance timeline to the requested point. The point is given as a -time in milliseconds since the timeline started. -<note><para>The @timeline will not emit the #ClutterTimeline::new-frame -signal for the given time. The first ::new-frame signal after the call to -clutter_timeline_advance() will be emit the skipped markers. -</para></note> - - - - - - Time to advance to - - - - - - Advances @timeline to the time of the given @marker_name. -<note><para>Like clutter_timeline_advance(), this function will not -emit the #ClutterTimeline::new-frame for the time where @marker_name -is set, nor it will emit #ClutterTimeline::marker-reached for - - - - - - the name of the marker - - - - - - Create a new #ClutterTimeline instance which has property values -matching that of supplied timeline. The cloned timeline will not -be started and will not be positioned to the current position of -from @timeline - - a new #ClutterTimeline, cloned - - - - - - - - - - - - - - - Retrieves the delay set using clutter_timeline_set_delay(). - - the delay in milliseconds. - - - - - Retrieves the amount of time elapsed since the last -ClutterTimeline::new-frame signal. -This function is only useful inside handlers for the ::new-frame -signal, and its behaviour is undefined if the timeline is not -playing. -last frame - - the amount of time in milliseconds elapsed since the - - - - - Retrieves the direction of the timeline set with -clutter_timeline_set_direction(). - - the direction of the timeline - - - - - Retrieves the duration of a #ClutterTimeline in milliseconds. -See clutter_timeline_set_duration(). - - the duration of the timeline, in milliseconds. - - - - - Request the current time position of the timeline. - - current elapsed time in milliseconds. - - - - - Gets whether @timeline is looping - - %TRUE if the timeline is looping - - - - - The position of the timeline in a [0, 1] interval. - - the position of the timeline. - - - - - Checks whether @timeline has a marker set with the given name. - - %TRUE if the marker was found - - - - - the name of the marker - - - - - - Queries state of a #ClutterTimeline. - - %TRUE if timeline is currently playing - - - - - Retrieves the list of markers at time @msecs. If @frame_num is a -negative integer, all the markers attached to @timeline will be -returned. -a newly allocated, %NULL terminated string array containing the names -of the markers. Use g_strfreev() when done. - - - - - - - - the time to check, or -1 - - - - the number of markers returned - - - - - - Pauses the #ClutterTimeline on current frame - - - - - - Removes @marker_name, if found, from @timeline. - - - - - - the name of the marker to remove - - - - - - Rewinds #ClutterTimeline to the first frame if its direction is -%CLUTTER_TIMELINE_FORWARD and the last frame if it is -%CLUTTER_TIMELINE_BACKWARD. - - - - - - Sets the delay, in milliseconds, before @timeline should start. - - - - - - delay in milliseconds - - - - - - Sets the direction of @timeline, either %CLUTTER_TIMELINE_FORWARD or -%CLUTTER_TIMELINE_BACKWARD. - - - - - - the direction of the timeline - - - - - - Sets the duration of the timeline, in milliseconds. The speed -of the timeline depends on the ClutterTimeline:fps setting. - - - - - - duration of the timeline in milliseconds - - - - - - Sets whether @timeline should loop. - - - - - - %TRUE for enable looping - - - - - - Advance timeline by the requested time in milliseconds - - - - - - Amount of time to skip - - - - - - Starts the #ClutterTimeline playing. - - - - - - Stops the #ClutterTimeline and moves to frame 0 - - - - - - A delay, in milliseconds, that should be observed by the -timeline before actually starting. - - - - The direction of the timeline, either %CLUTTER_TIMELINE_FORWARD or -%CLUTTER_TIMELINE_BACKWARD. - - - - Duration of the timeline in milliseconds, depending on the -ClutterTimeline:fps value. - - - - Whether the timeline should automatically rewind and restart. - - - - - - - - - - The ::completed signal is emitted when the timeline reaches the -number of frames specified by the ClutterTimeline:num-frames property. - - - - - - The ::marker-reached signal is emitted each time a timeline -reaches a marker set with -clutter_timeline_add_marker_at_time(). This signal is detailed -with the name of the marker as well, so it is possible to connect -a callback to the ::marker-reached signal for a specific marker -with: -<informalexample><programlisting> -clutter_timeline_add_marker_at_time (timeline, "foo", 500); -clutter_timeline_add_marker_at_time (timeline, "bar", 750); -g_signal_connect (timeline, "marker-reached", -G_CALLBACK (each_marker_reached), NULL); -g_signal_connect (timeline, "marker-reached::foo", -G_CALLBACK (foo_marker_reached), NULL); -g_signal_connect (timeline, "marker-reached::bar", -G_CALLBACK (bar_marker_reached), NULL); -</programlisting></informalexample> -In the example, the first callback will be invoked for both -the "foo" and "bar" marker, while the second and third callbacks -will be invoked for the "foo" or "bar" markers, respectively. - - - - - - the name of the marker reached - - - - the elapsed time - - - - - - The ::new-frame signal is emitted for each timeline running -timeline before a new frame is drawn to give animations a chance -to update the scene. - - - - - - the elapsed time between 0 and duration - - - - - - The ::paused signal is emitted when clutter_timeline_pause() is invoked. - - - - - - The ::started signal is emitted when the timeline starts its run. -This might be as soon as clutter_timeline_start() is invoked or -after the delay set in the ClutterTimeline:delay property has -expired. - - - - - - - The #ClutterTimelineClass structure contains only private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The direction of a #ClutterTimeline - - - - - - - <structname>ClutterTimeoutPool</structname> is an opaque structure -whose members cannot be directly accessed. - - Sets a function to be called at regular intervals, and puts it inside -the @pool. The function is repeatedly called until it returns %FALSE, -at which point the timeout is automatically destroyed and the function -won't be called again. If @notify is not %NULL, the @notify function -will be called. The first call to @func will be at the end of @interval. -Since Clutter 0.8 this will try to compensate for delays. For -example, if @func takes half the interval time to execute then the -function will be called again half the interval time after it -finished. Before version 0.8 it would not fire until a full -interval after the function completes so the delay between calls -would be @interval * 1.5. This function does not however try to -invoke the function multiple times to catch up missing frames if -Use clutter_timeout_pool_remove() to stop the timeout. - - the ID (greater than 0) of the timeout inside the pool. - - - - - the time between calls to the function, in frames per second - - - - function to call - - - - data to pass to the function, or %NULL - - - - function to call when the timeout is removed, or %NULL - - - - - - Removes a timeout function with @id from the timeout pool. The id -is the same returned when adding a function to the timeout pool with -clutter_timeout_pool_add(). - - - - - - the id of the timeout to remove - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The type of unit in which a value is expressed -This enumeration might be expanded at later date - - - - - - - - An opaque structure, to be used to store sizing and positioning -values along with their unit. - - - - - - - - - - - - - - - - - - - - - - - Copies @units -#ClutterUnits structure. Use clutter_units_free() to free -the allocated resources - - the newly created copy of a - - - - - Frees the resources allocated by @units -You should only call this function on a #ClutterUnits -created using clutter_units_copy() - - - - - - Stores a value in centimeters inside @units - - - - - - centimeters - - - - - - Stores a value in em inside @units, using the default font -name as returned by clutter_backend_get_font_name() - - - - - - em - - - - - - Stores a value in em inside @units using @font_name - - - - - - the font name and size - - - - em - - - - - - Stores a value in millimiters inside @units - - - - - - millimeters - - - - - - Stores a value in pixels inside @units - - - - - - pixels - - - - - - Stores a value in typographic points inside @units - - - - - - typographic points - - - - - - Parses a value and updates @units with it -A #ClutterUnits expressed in string should match: -|[ -| digit* sep digit+ -]| -For instance, these are valid strings: -|[ -10 px -5.1 em -24 pt -12.6 mm -.3 cm -]| -While these are not: -|[ -42 cats -omg!1!ponies -]| -<note><para>If no unit is specified, pixels are assumed.</para></note> -and %FALSE otherwise - - %TRUE if the string was successfully parsed, - - - - - the string to convert - - - - - - Retrieves the unit type of the value stored inside @units - - a unit type - - - - - Retrieves the value stored inside @units - - the value stored inside a #ClutterUnits - - - - - Converts a value in #ClutterUnits to pixels - - the value in pixels - - - - - Converts @units into a string -See clutter_units_from_string() for the units syntax and for -examples of output -<note>Fractional values are truncated to the second decimal -position for em, mm and cm, and to the first decimal position for -typographic points. Pixels are integers.</note> -#ClutterUnits value. Use g_free() to free the string - - a newly allocated string containing the encoded - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vertex of an actor in 3D space, expressed in pixels - - - - - - - - - - - Creates a new #ClutterVertex for the point in 3D space -identified by the 3 coordinates @x, @y, @z -clutter_vertex_free() to free the resources - - the newly allocate #ClutterVertex. Use - - - - - X coordinate - - - - Y coordinate - - - - Z coordinate - - - - - - Copies @vertex -clutter_vertex_free() to free the allocated resources - - a newly allocated copy of #ClutterVertex. Use - - - - - Compares @vertex_a and @vertex_b for equality - - %TRUE if the passed #ClutterVertex are equal - - - - - a #ClutterVertex - - - - - - Frees a #ClutterVertex allocated using clutter_vertex_copy() - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Utility function for setting the source color of @cr using -a #ClutterColor. - - - - - - a Cairo context - - - - a #ClutterColor - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Run-time version check, to check the version the Clutter library -that an application is currently linked against -This is the run-time equivalent of the compile-time %CLUTTER_CHECK_VERSION -pre-processor macro -greater than (@major, @minor, @micro), and %FALSE otherwise - - %TRUE if the version of the Clutter library is - - - - - major version, like 1 in 1.2.3 - - - - minor version, like 2 in 1.2.3 - - - - micro version, like 3 in 1.2.3 - - - - - - - - - - - - - - - Clears the internal cache of glyphs used by the Pango -renderer. This will free up some memory and GL texture -resources. The cache will be automatically refilled as more text is -drawn. - - - - - - - - - - - - Compares two #ClutterColor<!-- -->s and checks if they are the same. -This function can be passed to g_hash_table_new() as the @key_equal_func -parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable. - - %TRUE if the two colors are the same. - - - - - a #ClutterColor - - - - a #ClutterColor - - - - - - Converts a #ClutterColor to a hash value. -This function can be passed to g_hash_table_new() as the @hash_func -parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable. - - a hash value corresponding to the color - - - - - a #ClutterColor - - - - - - - - - Looks up the #GParamSpec for a child property of @klass. -if no such property exist. - - The #GParamSpec for the property or %NULL - - - - - a #GObjectClass implementing the #ClutterContainer interface. - - - - a property name. - - - - - - Returns an array of #GParamSpec for all child properties. -of #GParamSpec<!-- -->s which should be freed after use. - - an array - - - - - - - a #GObjectClass implementing the #ClutterContainer interface. - - - - return location for length of returned array. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pops an event off the event queue. Applications should not need to call -this. - - A #ClutterEvent or NULL if queue empty - - - - - Returns a pointer to the first event from the event queue but -does not remove it. - - A #ClutterEvent or NULL if queue empty. - - - - - Checks if events are pending in the event queue. - - TRUE if there are pending events, FALSE otherwise. - - - - - - - - - - - - - - - - - Checks whether @feature is available. @feature can be a logical -OR of #ClutterFeatureFlags. - - %TRUE if a feature is available - - - - - a #ClutterFeatureFlags - - - - - - Returns all the supported features. - - a logical OR of all the supported features. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Simple wrapper around clutter_frame_source_add_full(). - - the ID (greater than 0) of the event source. - - - - - the number of times per second to call the function - - - - function to call - - - - data to pass to the function - - - - - - Sets a function to be called at regular intervals with the given -priority. The function is called repeatedly until it returns -%FALSE, at which point the timeout is automatically destroyed and -the function will not be called again. The @notify function is -called when the timeout is destroyed. The first call to the -function will be at the end of the first @interval. -This function is similar to g_timeout_add_full() except that it -will try to compensate for delays. For example, if @func takes half -the interval time to execute then the function will be called again -half the interval time after it finished. In contrast -g_timeout_add_full() would not fire until a full interval after the -function completes so the delay between calls would be 1.0 / @fps * -1.5. This function does not however try to invoke the function -multiple times to catch up missing frames if @func takes more than - - the ID (greater than 0) of the event source. - - - - - the priority of the frame source. Typically this will be in the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH. - - - - the number of times per second to call the function - - - - function to call - - - - data to pass to the function - - - - function to call when the timeout source is removed - - - - - - - - - - - - - - - - - - - - - - - - - - - Returns whether Clutter has accessibility support enabled. As -least, a value of TRUE means that there are a proper AtkUtil -implementation available - - %TRUE if Clutter has accessibility support enabled - - - - - Retrieves the #ClutterActor with @id. -The returned actor does not have its reference count increased. - - the actor with the passed id or %NULL. - - - - - a #ClutterActor ID. - - - - - - If an event is currently being processed, return that event. -This function is intended to be used to access event state -that might not be exposed by higher-level widgets. For -example, to get the key modifier state from a Button 'clicked' -event. - - The current ClutterEvent, or %NULL if none - - - - - Retrieves the timestamp of the last event, if there is an -event or if the event has a timestamp. - - the event timestamp, or %CLUTTER_CURRENT_TIME - - - - - Check if clutter has debugging turned on. - - TRUE if debugging is turned on, FALSE otherwise. - - - - - Retrieves the default #ClutterBackend used by Clutter. The -#ClutterBackend holds backend-specific configuration options. -not ref or unref the returned object. Applications should rarely -need to use this. - - the default backend. You should - - - - - Retrieves the default frame rate. See clutter_set_default_frame_rate(). - - the default frame rate - - - - - Retrieves the default direction for the text. The text direction is -determined by the locale and/or by the %CLUTTER_TEXT_DIRECTION environment -variable -The default text direction can be overridden on a per-actor basis by using -clutter_actor_set_text_direction() - - the default text direction - - - - - Gets the current font flags for rendering text. See -clutter_set_font_flags(). - - The font flags - - - - - Retrieves the #PangoFontMap instance used by Clutter. -You can use the global font map object with the COGL -Pango API. -value is owned by Clutter and it should never be unreferenced. - - the #PangoFontMap instance. The returned - - - - - Retrieves the #ClutterInputDevice from its @id. This is a convenience -wrapper for clutter_device_manager_get_device() and it is functionally -equivalent to: -|[ -ClutterDeviceManager *manager; -ClutterInputDevice *device; -manager = clutter_device_manager_get_default (); -device = clutter_device_manager_get_device (manager, id); -]| - - a #ClutterInputDevice, or %NULL - - - - - the unique id for a device - - - - - - Queries the current keyboard grab of clutter. - - the actor currently holding the keyboard grab, or NULL if there is no grab. - - - - - Gets whether the per-actor motion events are enabled. - - %TRUE if the motion events are enabled - - - - - Returns a #GOptionGroup for the command line arguments recognized -by Clutter. You should add this group to your #GOptionContext with -g_option_context_add_group(), if you are using g_option_context_parse() -to parse your commandline arguments. -Calling g_option_context_parse() with Clutter's #GOptionGroup will result -in Clutter's initialization. That is, the following code: -|[ -g_option_context_set_main_group (context, clutter_get_option_group ()); -res = g_option_context_parse (context, &amp;argc, &amp;argc, NULL); -]| -is functionally equivalent to: -|[ -clutter_init (&amp;argc, &amp;argv); -]| -After g_option_context_parse() on a #GOptionContext containing the -Clutter #GOptionGroup has returned %TRUE, Clutter is guaranteed to be -initialized. -recognized by Clutter - - a #GOptionGroup for the commandline arguments - - - - - Returns a #GOptionGroup for the command line arguments recognized -by Clutter. You should add this group to your #GOptionContext with -g_option_context_add_group(), if you are using g_option_context_parse() -to parse your commandline arguments. Unlike clutter_get_option_group(), -calling g_option_context_parse() with the #GOptionGroup returned by this -function requires a subsequent explicit call to clutter_init(); use this -function when needing to set foreign display connection with -clutter_x11_set_display(), or with gtk_clutter_init(). -recognized by Clutter - - a #GOptionGroup for the commandline arguments - - - - - Queries the current pointer grab of clutter. - - the actor currently holding the pointer grab, or NULL if there is no grab. - - - - - Retrieves the Clutter script id, if any. -a UI definition file. The returned string is owned by the object and -should never be modified or freed. - - the script id, or %NULL if @object was not defined inside - - - - - a #GObject - - - - - - Returns whether Clutter should print out the frames per second on the -console. You can enable this setting either using the -<literal>CLUTTER_SHOW_FPS</literal> environment variable or passing -the <literal>--clutter-show-fps</literal> command line argument. * - - %TRUE if Clutter should show the FPS. - - - - - Returns the approximate number of microseconds passed since clutter was -intialised. - - Number of microseconds since clutter_init() was called. - - - - - Grabs keyboard events, after the grab is done keyboard -events (#ClutterActor::key-press-event and #ClutterActor::key-release-event) -are delivered to this actor directly. The source set in the event will be -the actor that would have received the event if the keyboard grab was not -in effect. -Like pointer grabs, keyboard grabs should only be used as a last -resource. -See also clutter_stage_set_key_focus() and clutter_actor_grab_key_focus() -to perform a "soft" key grab and assign key focus to a specific actor. - - - - - - a #ClutterActor - - - - - - Grabs pointer events, after the grab is done all pointer related events -(press, motion, release, enter, leave and scroll) are delivered to this -actor directly without passing through both capture and bubble phases of -the event delivery chain. The source set in the event will be the actor -that would have received the event if the pointer grab was not in effect. -<note><para>Grabs completely override the entire event delivery chain -done by Clutter. Pointer grabs should only be used as a last resource; -using the #ClutterActor::captured-event signal should always be the -preferred way to intercept event delivery to reactive actors.</para></note> -If you wish to grab all the pointer events for a specific input device, -you should use clutter_grab_pointer_for_device(). - - - - - - a #ClutterActor - - - - - - Grabs all the pointer events coming from the device @id for @actor. -If @id is -1 then this function is equivalent to clutter_grab_pointer(). - - - - - - a #ClutterActor - - - - a device id, or -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - It will initialise everything needed to operate with Clutter and -parses some standard command line options. @argc and @argv are -adjusted accordingly so your own code will never see those standard -arguments. - - 1 on success, < 0 on failure. - - - - - The number of arguments in @argv - - - - A pointer to an array of arguments. - - - - - - - - - - - - - This function does the same work as clutter_init(). Additionally, -it allows you to add your own command line options, and it -automatically generates nicely formatted <option>--help</option> -output. Note that your program will be terminated after writing -out the help output. Also note that, in case of error, the -error message will be placed inside @error instead of being -printed on the display. -initialised, or other values or #ClutterInitError in case of -error. - - %CLUTTER_INIT_SUCCESS if Clutter has been successfully - - - - - a pointer to the number of command line arguments - - - - a pointer to the array of command line arguments - - - - - - a string which is displayed in the first line of <option>--help</option> output, after <literal><replaceable>programname</replaceable> [OPTION...]</literal> - - - - a %NULL terminated array of #GOptionEntry<!-- -->s describing the options of your program - - - - a translation domain to use for translating the <option>--help</option> output for the options in - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Convert from a Clutter key symbol to the corresponding ISO10646 (Unicode) -character. -character. - - a Unicode character, or 0 if there is no corresponding - - - - - a key symbol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Starts the Clutter mainloop. - - - - - - Retrieves the depth of the Clutter mainloop. - - The level of the mainloop. - - - - - Terminates the Clutter mainloop. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Creates a #GParamSpec for properties using #ClutterColor. - - the newly created #GParamSpec - - - - - name of the property - - - - short name - - - - description (can be translatable) - - - - default value - - - - flags for the param spec - - - - - - Creates a #GParamSpec for properties using #CoglFixed values - - the newly created #GParamSpec - - - - - name of the property - - - - short name - - - - description (can be translatable) - - - - lower boundary - - - - higher boundary - - - - default value - - - - flags for the param spec - - - - - - Creates a #GParamSpec for properties using #ClutterUnits. - - the newly created #GParamSpec - - - - - name of the property - - - - short name - - - - description (can be translatable) - - - - the default type for the #ClutterUnits - - - - lower boundary - - - - higher boundary - - - - default value - - - - flags for the param spec - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Forces a redraw of the entire stage. Applications should never use this -function, but queue a redraw using clutter_actor_queue_redraw(). -This function should only be used by libraries integrating Clutter from -within another toolkit. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Sets the default frame rate. This frame rate will be used to limit -the number of frames drawn if Clutter is not able to synchronize -with the vertical refresh rate of the display. When synchronization -is possible, this value is ignored. - - - - - - the new default frame rate - - - - - - Sets the font quality options for subsequent text rendering -operations. -Using mipmapped textures will improve the quality for scaled down -text but will use more texture memory. -Enabling hinting improves text quality for static text but may -introduce some artifacts if the text is animated. - - - - - - The new flags - - - - - - Sets whether per-actor motion events should be enabled or not (the -default is to enable them). -If @enable is %FALSE the following events will not work: -<itemizedlist> -<listitem><para>ClutterActor::motion-event, unless on the -#ClutterStage</para></listitem> -<listitem><para>ClutterActor::enter-event</para></listitem> -<listitem><para>ClutterActor::leave-event</para></listitem> -</itemizedlist> - - - - - - %TRUE to enable per-actor motion events - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Simple wrapper around clutter_threads_add_frame_source_full(). - - the ID (greater than 0) of the event source. - - - - - the number of times per second to call the function - - - - function to call - - - - data to pass to the function - - - - - - Sets a function to be called at regular intervals holding the Clutter -threads lock, with the given priority. The function is called repeatedly -until it returns %FALSE, at which point the timeout is automatically -removed and the function will not be called again. The @notify function -is called when the timeout is removed. -This function is similar to clutter_threads_add_timeout_full() -except that it will try to compensate for delays. For example, if -will be called again half the interval time after it finished. In -contrast clutter_threads_add_timeout_full() would not fire until a -full interval after the function completes so the delay between -calls would be @interval * 1.5. This function does not however try -to invoke the function multiple times to catch up missing frames if -See also clutter_threads_add_idle_full(). - - the ID (greater than 0) of the event source. - - - - - the priority of the frame source. Typically this will be in the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH. - - - - the number of times per second to call the function - - - - function to call - - - - data to pass to the function - - - - function to call when the timeout source is removed - - - - - - Simple wrapper around clutter_threads_add_idle_full() using the -default priority. - - the ID (greater than 0) of the event source. - - - - - function to call - - - - data to pass to the function - - - - - - Adds a function to be called whenever there are no higher priority -events pending. If the function returns %FALSE it is automatically -removed from the list of event sources and will not be called again. -This function can be considered a thread-safe variant of g_idle_add_full(): -it will call @function while holding the Clutter lock. It is logically -equivalent to the following implementation: -|[ -static gboolean -idle_safe_callback (gpointer data) -{ -SafeClosure *closure = data; -gboolean res = FALSE; -/&ast; mark the critical section &ast;/ -clutter_threads_enter(); -/&ast; the callback does not need to acquire the Clutter -&ast; lock itself, as it is held by the this proxy handler -&ast;/ -res = closure->callback (closure->data); -clutter_threads_leave(); -return res; -} -static gulong -add_safe_idle (GSourceFunc callback, -gpointer data) -{ -SafeClosure *closure = g_new0 (SafeClosure, 1); -closure-&gt;callback = callback; -closure-&gt;data = data; -return g_add_idle_full (G_PRIORITY_DEFAULT_IDLE, -idle_safe_callback, -closure, -g_free) -} -]| -This function should be used by threaded applications to make sure -that @func is emitted under the Clutter threads lock and invoked -from the same thread that started the Clutter main loop. For instance, -it can be used to update the UI using the results from a worker -thread: -|[ -static gboolean -update_ui (gpointer data) -{ -SomeClosure *closure = data; -/&ast; it is safe to call Clutter API from this function because -&ast; it is invoked from the same thread that started the main -&ast; loop and under the Clutter thread lock -&ast;/ -clutter_label_set_text (CLUTTER_LABEL (closure-&gt;label), -closure-&gt;text); -g_object_unref (closure-&gt;label); -g_free (closure); -return FALSE; -} -/&ast; within another thread &ast;/ -closure = g_new0 (SomeClosure, 1); -/&ast; always take a reference on GObject instances &ast;/ -closure-&gt;label = g_object_ref (my_application-&gt;label); -closure-&gt;text = g_strdup (processed_text_to_update_the_label); -clutter_threads_add_idle_full (G_PRIORITY_HIGH_IDLE, -update_ui, -closure, -NULL); -]| - - the ID (greater than 0) of the event source. - - - - - the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE - - - - function to call - - - - data to pass to the function - - - - functio to call when the idle source is removed - - - - - - Adds a function to be called whenever Clutter is repainting a Stage. -If the function returns %FALSE it is automatically removed from the -list of repaint functions and will not be called again. -This function is guaranteed to be called from within the same thread -that called clutter_main(), and while the Clutter lock is being held. -A repaint function is useful to ensure that an update of the scenegraph -is performed before the scenegraph is repainted; for instance, uploading -a frame from a video into a #ClutterTexture. -When the repaint function is removed (either because it returned %FALSE -or because clutter_threads_remove_repaint_func() has been called) the -can use the returned integer to remove the repaint function by -calling clutter_threads_remove_repaint_func(). - - the ID (greater than 0) of the repaint function. You - - - - - the function to be called within the paint cycle - - - - data to be passed to the function, or %NULL - - - - function to be called when removing the repaint function, or %NULL - - - - - - Simple wrapper around clutter_threads_add_timeout_full(). - - the ID (greater than 0) of the event source. - - - - - the time between calls to the function, in milliseconds - - - - function to call - - - - data to pass to the function - - - - - - Sets a function to be called at regular intervals holding the Clutter -threads lock, with the given priority. The function is called repeatedly -until it returns %FALSE, at which point the timeout is automatically -removed and the function will not be called again. The @notify function -is called when the timeout is removed. -The first call to the function will be at the end of the first @interval. -It is important to note that, due to how the Clutter main loop is -implemented, the timing will not be accurate and it will not try to -"keep up" with the interval. A more reliable source is available -using clutter_threads_add_frame_source_full(), which is also internally -used by #ClutterTimeline. -See also clutter_threads_add_idle_full(). - - the ID (greater than 0) of the event source. - - - - - the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH. - - - - the time between calls to the function, in milliseconds - - - - function to call - - - - data to pass to the function - - - - function to call when the timeout source is removed - - - - - - Locks the Clutter thread lock. - - - - - - Initialises the Clutter threading mechanism, so that Clutter API can be -called by multiple threads, using clutter_threads_enter() and -clutter_threads_leave() to mark the critical sections. -You must call g_thread_init() before this function. -This function must be called before clutter_init(). -It is safe to call this function multiple times. - - - - - - Unlocks the Clutter thread lock. - - - - - - Removes the repaint function with @handle_id as its id - - - - - - an unsigned integer greater than zero - - - - - - Allows the application to replace the standard method that -Clutter uses to protect its data structures. Normally, Clutter -creates a single #GMutex that is locked by clutter_threads_enter(), -and released by clutter_threads_leave(); using this function an -application provides, instead, a function @enter_fn that is -called by clutter_threads_enter() and a function @leave_fn that is -called by clutter_threads_leave(). -The functions must provide at least same locking functionality -as the default implementation, but can also do extra application -specific processing. -As an example, consider an application that has its own recursive -lock that when held, holds the Clutter lock as well. When Clutter -unlocks the Clutter lock when entering a recursive main loop, the -application must temporarily release its lock as well. -Most threaded Clutter apps won't need to use this method. -This method must be called before clutter_threads_init(), and cannot -be called multiple times. - - - - - - function called when aquiring the Clutter main lock - - - - function called when releasing the Clutter main lock - - - - - - - - - - - - - - - - - - - - - Creates a new timeout pool source. A timeout pool should be used when -multiple timeout functions, running at the same priority, are needed and -the g_timeout_add() API might lead to starvation of the time slice of -the main loop. A timeout pool allocates a single time slice of the main -loop and runs every timeout function inside it. The timeout pool is -always sorted, so that the extraction of the next timeout function is -a constant time operation. -is owned by the GLib default context and will be automatically -destroyed when the context is destroyed. It is possible to force -the destruction of the timeout pool using g_source_destroy() - - the newly created #ClutterTimeoutPool. The created pool - - - - - the priority of the timeout pool. Typically this will be #G_PRIORITY_DEFAULT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Removes an existing grab of the keyboard. - - - - - - Removes an existing grab of the pointer. - - - - - - Removes an existing grab of the pointer events for device @id. - - - - - - a device id - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Calculates the nearest power of two, greater than or equal to @a. - - The nearest power of two, greater or equal to @a. - - - - - Value to get the next power - - - - - - - - - - - - Gets the #ClutterColor contained in @value. - - the color inside the passed #GValue - - - - - a #GValue initialized to #CLUTTER_TYPE_COLOR - - - - - - Gets the fixed point value stored inside @value. - - the value inside the passed #GValue - - - - - a #GValue initialized to %COGL_TYPE_FIXED - - - - - - Retrieves the list of floating point values stored inside -the passed #GValue. @value must have been initialized with -%CLUTTER_TYPE_SHADER_FLOAT. -The returned value is owned by the #GValue and should never -be modified or freed. - - the pointer to a list of floating point values. - - - - - a #GValue - - - - return location for the number of returned floating point values, or %NULL - - - - - - Retrieves the list of integer values stored inside the passed -#GValue. @value must have been initialized with -%CLUTTER_TYPE_SHADER_INT. -The returned value is owned by the #GValue and should never -be modified or freed. - - the pointer to a list of integer values. - - - - - a #GValue - - - - return location for the number of returned integer values, or %NULL - - - - - - Retrieves a matrix of floating point values stored inside -the passed #GValue. @value must have been initialized with -%CLUTTER_TYPE_SHADER_MATRIX. -of floating point values. The returned value is owned by the #GValue and -should never be modified or freed. - - the pointer to a matrix - - - - - - - a #GValue - - - - return location for the number of returned floating point values, or %NULL - - - - - - Gets the #ClutterUnit<!-- -->s contained in @value. - - the units inside the passed #GValue - - - - - a #GValue initialized to #CLUTTER_TYPE_UNIT - - - - - - Sets @value to @color. - - - - - - a #GValue initialized to #CLUTTER_TYPE_COLOR - - - - the color to set - - - - - - Sets @value to @fixed_. - - - - - - a #GValue initialized to %COGL_TYPE_FIXED - - - - the fixed point value to set - - - - - - Sets @floats as the contents of @value. The passed #GValue -must have been initialized using %CLUTTER_TYPE_SHADER_FLOAT. - - - - - - a #GValue - - - - number of floating point values in @floats - - - - an array of floating point values - - - - - - Sets @ints as the contents of @value. The passed #GValue -must have been initialized using %CLUTTER_TYPE_SHADER_INT. - - - - - - a #GValue - - - - number of integer values in @ints - - - - an array of integer values - - - - - - Sets @matrix as the contents of @value. The passed #GValue -must have been initialized using %CLUTTER_TYPE_SHADER_MATRIX. - - - - - - a #GValue - - - - number of floating point values in @floats - - - - a matrix of floating point values - - - - - - Sets @value to @units - - - - - - a #GValue initialized to #CLUTTER_TYPE_UNIT - - - - the units to set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extra/clutter/cally/cally.factor b/extra/clutter/cally/cally.factor new file mode 100644 index 0000000000..b4b91829d6 --- /dev/null +++ b/extra/clutter/cally/cally.factor @@ -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 + diff --git a/extra/clutter/cally/ffi/ffi.factor b/extra/clutter/cally/ffi/ffi.factor new file mode 100644 index 0000000000..59c92bdba4 --- /dev/null +++ b/extra/clutter/cally/ffi/ffi.factor @@ -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 + diff --git a/extra/clutter/cogl/Cogl-1.0.gir b/extra/clutter/cogl/Cogl-1.0.gir deleted file mode 100644 index 95d199a765..0000000000 --- a/extra/clutter/cogl/Cogl-1.0.gir +++ /dev/null @@ -1,7107 +0,0 @@ - - - - - - - - - - Integer representation of an angle such that 1024 corresponds to -full circle (i.e., 2 * pi). - - - - Fixed point number using a (16.16) notation. - - - - Type used for storing references to cogl objects, the CoglHandle is -a fully opaque type without any public data members. - - - - - - - - - - Data types for the components of cogl_vertex_buffer_add() - - - - - - - - - - - - - Error codes that can be thrown when performing bitmap -operations. Note that gdk_pixbuf_new_from_file() can also throw -errors directly from the underlying image loading library. For -example, if GdkPixbuf is used then errors #GdkPixbufError<!-- -->s -will be used directly. - - - - - - Error enumeration for the blend strings parser - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The access hints for cogl_buffer_set_update_hint() - - - - - - Types of auxiliary buffers - - - - - - all the buffer's contents. -Hints to Cogl about how you are planning to modify the data once it -is mapped. - - - - Target flags for FBOs. - - - - - The update hint on a buffer allows the user to give some detail on how often -the buffer data is going to be updated. - - - - - - A structure for holding a color definition. The contents of -the CoglColor structure are private and should never by accessed -directly. - - - - - - - - - - - - - - - - - - - - - - - Creates a copy of @color -to free the allocate resources - - a newly-allocated #CoglColor. Use cogl_color_free() - - - - - Frees the resources allocated by cogl_color_new() and cogl_color_copy() - - - - - - Retrieves the alpha channel of @color as a fixed point -value between 0 and %1.0. - - the alpha channel of the passed color - - - - - Retrieves the alpha channel of @color as a byte value -between 0 and 255 - - the alpha channel of the passed color - - - - - Retrieves the alpha channel of @color as a floating point -value between 0.0 and 1.0 - - the alpha channel of the passed color - - - - - Retrieves the blue channel of @color as a fixed point -value between 0 and %1.0. - - the blue channel of the passed color - - - - - Retrieves the blue channel of @color as a byte value -between 0 and 255 - - the blue channel of the passed color - - - - - Retrieves the blue channel of @color as a floating point -value between 0.0 and 1.0 - - the blue channel of the passed color - - - - - Retrieves the green channel of @color as a fixed point -value between 0 and %1.0. - - the green channel of the passed color - - - - - Retrieves the green channel of @color as a byte value -between 0 and 255 - - the green channel of the passed color - - - - - Retrieves the green channel of @color as a floating point -value between 0.0 and 1.0 - - the green channel of the passed color - - - - - Retrieves the red channel of @color as a fixed point -value between 0 and %1.0. - - the red channel of the passed color - - - - - Retrieves the red channel of @color as a byte value -between 0 and 255 - - the red channel of the passed color - - - - - Retrieves the red channel of @color as a floating point -value between 0.0 and 1.0 - - the red channel of the passed color - - - - - Sets the values of the passed channels into a #CoglColor - - - - - - value of the red channel, between 0 and %1.0 - - - - value of the green channel, between 0 and %1.0 - - - - value of the blue channel, between 0 and %1.0 - - - - value of the alpha channel, between 0 and %1.0 - - - - - - Sets the values of the passed channels into a #CoglColor - - - - - - a pointer to an array of 4 float color components - - - - - - Sets the values of the passed channels into a #CoglColor. - - - - - - value of the red channel, between 0 and 255 - - - - value of the green channel, between 0 and 255 - - - - value of the blue channel, between 0 and 255 - - - - value of the alpha channel, between 0 and 255 - - - - - - Converts a non-premultiplied color to a pre-multiplied color. For -example, semi-transparent red is (1.0, 0, 0, 0.5) when non-premultiplied -and (0.5, 0, 0, 0.5) when premultiplied. - - - - - - Sets the alpha channel of @color to @alpha. - - - - - - a float value between 0.0f and 1.0f - - - - - - Sets the alpha channel of @color to @alpha. - - - - - - a byte value between 0 and 255 - - - - - - Sets the alpha channel of @color to @alpha. - - - - - - a float value between 0.0f and 1.0f - - - - - - Sets the blue channel of @color to @blue. - - - - - - a float value between 0.0f and 1.0f - - - - - - Sets the blue channel of @color to @blue. - - - - - - a byte value between 0 and 255 - - - - - - Sets the blue channel of @color to @blue. - - - - - - a float value between 0.0f and 1.0f - - - - - - Sets the values of the passed channels into a #CoglColor - - - - - - value of the red channel, between 0 and %1.0 - - - - value of the green channel, between 0 and %1.0 - - - - value of the blue channel, between 0 and %1.0 - - - - value of the alpha channel, between 0 and %1.0 - - - - - - Sets the values of the passed channels into a #CoglColor. - - - - - - value of the red channel, between 0 and 255 - - - - value of the green channel, between 0 and 255 - - - - value of the blue channel, between 0 and 255 - - - - value of the alpha channel, between 0 and 255 - - - - - - Sets the green channel of @color to @green. - - - - - - a float value between 0.0f and 1.0f - - - - - - Sets the green channel of @color to @green. - - - - - - a byte value between 0 and 255 - - - - - - Sets the green channel of @color to @green. - - - - - - a float value between 0.0f and 1.0f - - - - - - Sets the red channel of @color to @red. - - - - - - a float value between 0.0f and 1.0f - - - - - - Sets the red channel of @color to @red. - - - - - - a byte value between 0 and 255 - - - - - - Sets the red channel of @color to @red. - - - - - - a float value between 0.0f and 1.0f - - - - - - Converts a pre-multiplied color to a non-premultiplied color. For -example, semi-transparent red is (0.5, 0, 0, 0.5) when premultiplied -and (1.0, 0, 0, 0.5) when non-premultiplied. - - - - - - - When using depth testing one of these functions is used to compare -the depth of an incoming fragment against the depth value currently -stored in the depth buffer. The function is changed using -cogl_material_set_depth_test_function(). -The test is only done when depth testing is explicitly enabled. (See -cogl_material_set_depth_test_enabled()) - - - - - - - - - - - - - - - Error enumeration for Cogl -The @COGL_ERROR_UNSUPPORTED error can be thrown for a variety of -reasons. For example: -<itemizedlist> -<listitem><para>You've tried to use a feature that is not -advertised by cogl_get_features(). This could happen if you create -a non-sliced texture with a non-power-of-two size when -%COGL_FEATURE_TEXTURE_NPOT is not advertised.</para></listitem> -<listitem><para>The GPU can not handle the configuration you have -requested. An example might be if you try to use too many texture -layers in a single #CoglMaterial</para></listitem> -<listitem><para>The driver does not support some -configuration.</para></listiem> -</itemizedlist> -Currently this is only used by Cogl API marked as experimental so -this enum should also be considered experimental. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Flags for the supported features. - - - - - - - - - - - - - - - - - - - - - - - The fog mode determines the equation used to calculate the fogging blend -factor while fogging is enabled. The simplest %COGL_FOG_MODE_LINEAR mode -determines f as: -|[ -f = end - eye_distance / end - start -]| -Where eye_distance is the distance of the current fragment in eye -coordinates from the origin. - - - - - - - - The type used by cogl for function pointers, note that this type -is used as a generic catch-all cast for function pointers and the -actual arguments and return type may be different. - - - - - - You should aim to use the smallest data type that gives you enough -range, since it reduces the size of your index array and can help -reduce the demand on memory bandwidth. -Note that %COGL_INDICES_TYPE_UNSIGNED_INT is only supported if the -%COGL_FEATURE_UNSIGNED_INT_INDICES feature is available. This -should always be available on OpenGL but on OpenGL ES it will only -be available if the GL_OES_element_index_uint extension is -advertized. - - - - - - - Creates a new material with the configuration copied from the -source material. -We would strongly advise developers to always aim to use -cogl_material_copy() instead of cogl_material_new() whenever there will -be any similarity between two materials. Copying a material helps Cogl -keep track of a materials ancestry which we may use to help minimize GPU -state changes. - - a pointer to the newly allocated #CoglMaterial - - - - - Iterates all the layer indices of the given @material. - - - - - - A #CoglMaterialLayerCallback to be called for each layer index - - - - Private data that will be passed to the callback - - - - - - Retrieves the current ambient color for @material - - - - - - The location to store the ambient color - - - - - - Retrieves the current material color. - - - - - - The location to store the color - - - - - - - - - - - - - - - - - - - Gets the current depth test enabled state as previously set by -cogl_material_set_depth_test_enabled(). - - The material's current depth test enabled state. - - - - - Gets the current depth test enable state as previously set via -cogl_material_set_depth_test_enabled(). - - The current depth test enable state. - - - - - Gets the depth writing enable state as set by the corresponding -cogl_material_set_depth_writing_enabled. - - The current depth writing enable state - - - - - Retrieves the current diffuse color for @material - - - - - - The location to store the diffuse color - - - - - - Retrieves the materials current emission color. - - - - - - The location to store the emission color - - - - - - Gets whether point sprite coordinate generation is enabled for this -texture layer. -point sprite coordinates. - - whether the texture coordinates will be replaced with - - - - - the layer number to check. - - - - - - This function lets you access a material's internal list of layers -for iteration. -<note>You should avoid using this API if possible since it was only -made public by mistake and will be deprecated when we have -suitable alternative.</note> -<note>It's important to understand that the list returned may not -remain valid if you modify the material or any of the layers in any -way and so you would have to re-get the list in that -situation.</note> -list of #CoglMaterialLayer<!-- -->'s that can be passed to the -cogl_material_layer_* functions. The list is owned by Cogl and it -should not be modified or freed - - A - - - - - - - Retrieves the number of layers defined for the given @material - - the number of layers - - - - - Retrieves the materials current emission color. - - The materials current shininess value - - - - - Retrieves the materials current specular color. - - - - - - The location to store the specular color - - - - - - Queries what user program has been associated with the given - - The current user program or %COGL_INVALID_HANDLE. - - - - - This function removes a layer from your material - - - - - - Specifies the layer you want to remove - - - - - - Before a primitive is blended with the framebuffer, it goes through an -alpha test stage which lets you discard fragments based on the current -alpha value. This function lets you change the function used to evaluate -the alpha channel, and thus determine which fragments are discarded -and which continue on to the blending stage. -The default is %COGL_MATERIAL_ALPHA_FUNC_ALWAYS - - - - - - A @CoglMaterialAlphaFunc constant - - - - A reference point that the chosen alpha function uses to compare incoming fragments to. - - - - - - Sets the material's ambient color, in the standard OpenGL lighting -model. The ambient color affects the overall color of the object. -Since the diffuse color will be intense when the light hits the surface -directly, the ambient will be most apparent where the light hits at a -slant. -The default value is (0.2, 0.2, 0.2, 1.0) - - - - - - The components of the desired ambient color - - - - - - Conveniently sets the diffuse and ambient color of @material at the same -time. See cogl_material_set_ambient() and cogl_material_set_diffuse(). -The default ambient color is (0.2, 0.2, 0.2, 1.0) -The default diffuse color is (0.8, 0.8, 0.8, 1.0) - - - - - - The components of the desired ambient and diffuse colors - - - - - - If not already familiar; please refer <link linkend="cogl-Blend-Strings">here</link> -for an overview of what blend strings are, and their syntax. -Blending occurs after the alpha test function, and combines fragments with -the framebuffer. -Currently the only blend function Cogl exposes is ADD(). So any valid -blend statements will be of the form: -|[ -&lt;channel-mask&gt;=ADD(SRC_COLOR*(&lt;factor&gt;), DST_COLOR*(&lt;factor&gt;)) -]| -<warning>The brackets around blend factors are currently not -optional!</warning> -This is the list of source-names usable as blend factors: -<itemizedlist> -<listitem><para>SRC_COLOR: The color of the in comming fragment</para></listitem> -<listitem><para>DST_COLOR: The color of the framebuffer</para></listitem> -<listitem><para>CONSTANT: The constant set via cogl_material_set_blend_constant()</para></listitem> -</itemizedlist> -The source names can be used according to the -<link linkend="cogl-Blend-String-syntax">color-source and factor syntax</link>, -so for example "(1-SRC_COLOR[A])" would be a valid factor, as would -"(CONSTANT[RGB])" -These can also be used as factors: -<itemizedlist> -<listitem>0: (0, 0, 0, 0)</listitem> -<listitem>1: (1, 1, 1, 1)</listitem> -<listitem>SRC_ALPHA_SATURATE_FACTOR: (f,f,f,1) where f = MIN(SRC_COLOR[A],1-DST_COLOR[A])</listitem> -</itemizedlist> -<note>Remember; all color components are normalized to the range [0, 1] -before computing the result of blending.</note> -<example id="cogl-Blend-Strings-blend-unpremul"> -<title>Blend Strings/1</title> -<para>Blend a non-premultiplied source over a destination with -premultiplied alpha:</para> -<programlisting> -"RGB = ADD(SRC_COLOR*(SRC_COLOR[A]), DST_COLOR*(1-SRC_COLOR[A]))" -"A = ADD(SRC_COLOR, DST_COLOR*(1-SRC_COLOR[A]))" -</programlisting> -</example> -<example id="cogl-Blend-Strings-blend-premul"> -<title>Blend Strings/2</title> -<para>Blend a premultiplied source over a destination with -premultiplied alpha</para> -<programlisting> -"RGBA = ADD(SRC_COLOR, DST_COLOR*(1-SRC_COLOR[A]))" -</programlisting> -</example> -The default blend string is: -|[ -RGBA = ADD (SRC_COLOR, DST_COLOR*(1-SRC_COLOR[A])) -]| -That gives normal alpha-blending when the calculated color for the material -is in premultiplied form. -described blending is supported by the underlying driver/hardware. If -there was an error, %FALSE is returned and @error is set accordingly (if -present). - - %TRUE if the blend string was successfully parsed, and the - - - - - A <link linkend="cogl-Blend-Strings">Cogl blend string</link> describing the desired blend function. - - - - - - When blending is setup to reference a CONSTANT blend factor then -blending will depend on the constant set with this function. - - - - - - The constant color you want - - - - - - Sets the basic color of the material, used when no lighting is enabled. -Note that if you don't add any layers to the material then the color -will be blended unmodified with the destination; the default blend -semi-transparent red. See cogl_color_premultiply(). -The default value is (1.0, 1.0, 1.0, 1.0) - - - - - - The components of the color - - - - - - Sets the basic color of the material, used when no lighting is enabled. -The default value is (1.0, 1.0, 1.0, 1.0) - - - - - - The red component - - - - The green component - - - - The blue component - - - - The alpha component - - - - - - Sets the basic color of the material, used when no lighting is enabled. -The default value is (0xff, 0xff, 0xff, 0xff) - - - - - - The red component - - - - The green component - - - - The blue component - - - - The alpha component - - - - - - Sets the range to map depth values in normalized device coordinates -to before writing out to a depth buffer. -After your geometry has be transformed, clipped and had perspective -division applied placing it in normalized device -coordinates all depth values between the near and far z clipping -planes are in the range -1 to 1. Before writing any depth value to -the depth buffer though the value is mapped into the range [0, 1]. -With this function you can change the range which depth values are -mapped too although the range must still lye within the range [0, -1]. -If your driver does not support this feature (for example you are -using GLES 1 drivers) then this will return %FALSE and set an error -if @error isn't NULL. You can check ahead of time for the -%COGL_FEATURE_DEPTH_RANGE feature with cogl_features_available() to -know if this function will succeed. -By default normalized device coordinate depth values are mapped to -the full range of depth buffer values, [0, 1]. - - %TRUE if driver support is available else %FALSE. - - - - - The near component of the desired depth range which will be clamped to the range [0, 1] - - - - The far component of the desired depth range which will be clamped to the range [0, 1] - - - - - - Enables or disables depth testing according to the value of -If depth testing is enable then the #CoglDepthTestFunction set -using cogl_material_set_depth_test_function() us used to evaluate -the depth value of incoming fragments against the corresponding -value stored in the current depth buffer, and if the test passes -then the fragments depth value is used to update the depth buffer. -(unless you have disabled depth writing via -cogl_material_set_depth_writing_enabled ()) -By default depth testing is disabled. - - - - - - The enable state you want - - - - - - Sets the #CoglDepthTestFunction used to compare the depth value of -an incoming fragment against the corresponding value in the current -depth buffer. - - - - - - The #CoglDepthTestFunction to set - - - - - - Enables or disables depth buffer writing according to the value of -between a fragment's depth value and the corresponding depth buffer -value passes then the fragment's depth is written to the depth -buffer unless writing is disabled here. -By default depth writing is enabled - - - - - - The enable state you want - - - - - - Sets the material's diffuse color, in the standard OpenGL lighting -model. The diffuse color is most intense where the light hits the -surface directly - perpendicular to the surface. -The default value is (0.8, 0.8, 0.8, 1.0) - - - - - - The components of the desired diffuse color - - - - - - Sets the material's emissive color, in the standard OpenGL lighting -model. It will look like the surface is a light source emitting this -color. -The default value is (0.0, 0.0, 0.0, 1.0) - - - - - - The components of the desired emissive color - - - - - - In addition to the standard OpenGL lighting model a Cogl material may have -one or more layers comprised of textures that can be blended together in -order, with a number of different texture combine modes. This function -defines a new texture layer. -The index values of multiple layers do not have to be consecutive; it is -only their relative order that is important. -<note>In the future, we may define other types of material layers, such -as purely GLSL based layers.</note> - - - - - - the index of the layer - - - - a #CoglHandle for the layer object - - - - - - If not already familiar; you can refer -<link linkend="cogl-Blend-Strings">here</link> for an overview of what blend -strings are and there syntax. -These are all the functions available for texture combining: -<itemizedlist> -<listitem>REPLACE(arg0) = arg0</listitem> -<listitem>MODULATE(arg0, arg1) = arg0 x arg1</listitem> -<listitem>ADD(arg0, arg1) = arg0 + arg1</listitem> -<listitem>ADD_SIGNED(arg0, arg1) = arg0 + arg1 - 0.5</listitem> -<listitem>INTERPOLATE(arg0, arg1, arg2) = arg0 x arg2 + arg1 x (1 - arg2)</listitem> -<listitem>SUBTRACT(arg0, arg1) = arg0 - arg1</listitem> -<listitem> -<programlisting> -DOT3_RGB(arg0, arg1) = 4 x ((arg0[R] - 0.5)) * (arg1[R] - 0.5) + -(arg0[G] - 0.5)) * (arg1[G] - 0.5) + -(arg0[B] - 0.5)) * (arg1[B] - 0.5)) -</programlisting> -</listitem> -<listitem> -<programlisting> -DOT3_RGBA(arg0, arg1) = 4 x ((arg0[R] - 0.5)) * (arg1[R] - 0.5) + -(arg0[G] - 0.5)) * (arg1[G] - 0.5) + -(arg0[B] - 0.5)) * (arg1[B] - 0.5)) -</programlisting> -</listitem> -</itemizedlist> -Refer to the -<link linkend="cogl-Blend-String-syntax">color-source syntax</link> for -describing the arguments. The valid source names for texture combining -are: -<variablelist> -<varlistentry> -<term>TEXTURE</term> -<listitem>Use the color from the current texture layer</listitem> -</varlistentry> -<varlistentry> -<term>TEXTURE_0, TEXTURE_1, etc</term> -<listitem>Use the color from the specified texture layer</listitem> -</varlistentry> -<varlistentry> -<term>CONSTANT</term> -<listitem>Use the color from the constant given with -cogl_material_set_layer_constant()</listitem> -</varlistentry> -<varlistentry> -<term>PRIMARY</term> -<listitem>Use the color of the material as set with -cogl_material_set_color()</listitem> -</varlistentry> -<varlistentry> -<term>PREVIOUS</term> -<listitem>Either use the texture color from the previous layer, or -if this is layer 0, use the color of the material as set with -cogl_material_set_color()</listitem> -</varlistentry> -</variablelist> -<refsect2 id="cogl-Layer-Combine-Examples"> -<title>Layer Combine Examples</title> -<para>This is effectively what the default blending is:</para> -<informalexample><programlisting> -RGBA = MODULATE (PREVIOUS, TEXTURE) -</programlisting></informalexample> -<para>This could be used to cross-fade between two images, using -the alpha component of a constant as the interpolator. The constant -color is given by calling cogl_material_set_layer_constant.</para> -<informalexample><programlisting> -RGBA = INTERPOLATE (PREVIOUS, TEXTURE, CONSTANT[A]) -</programlisting></informalexample> -</refsect2> -<note>You can't give a multiplication factor for arguments as you can -with blending.</note> -described texture combining is supported by the underlying driver and -or hardware. On failure, %FALSE is returned and @error is set - - %TRUE if the blend string was successfully parsed, and the - - - - - Specifies the layer you want define a combine function for - - - - A <link linkend="cogl-Blend-Strings">Cogl blend string</link> describing the desired texture combine function. - - - - - - When you are using the 'CONSTANT' color source in a layer combine -description then you can use this function to define its value. - - - - - - Specifies the layer you want to specify a constant used for texture combining - - - - The constant color you want - - - - - - Changes the decimation and interpolation filters used when a texture is -drawn at other scales than 100%. - - - - - - the layer number to change. - - - - the filter used when scaling a texture down. - - - - the filter used when magnifying a texture. - - - - - - This function lets you set a matrix that can be used to e.g. translate -and rotate a single layer of a material used to fill your geometry. - - - - - - the index for the layer inside @material - - - - the transformation matrix for the layer - - - - - - When rendering points, if @enable is %TRUE then the texture -coordinates for this layer will be replaced with coordinates that -vary from 0.0 to 1.0 across the primitive. The top left of the -point will have the coordinates 0.0,0.0 and the bottom right will -have 1.0,1.0. If @enable is %FALSE then the coordinates will be -fixed for the entire point. -This function will only work if %COGL_FEATURE_POINT_SPRITE is -available. If the feature is not available then the function will -return %FALSE and set @error. - - %TRUE if the function succeeds, %FALSE otherwise. - - - - - the layer number to change. - - - - whether to enable point sprite coord generation. - - - - - - Sets the wrap mode for all three coordinates of texture lookups on -this layer. This is equivalent to calling -cogl_material_set_layer_wrap_mode_s(), -cogl_material_set_layer_wrap_mode_t() and -cogl_material_set_layer_wrap_mode_p() separately. - - - - - - the layer number to change. - - - - the new wrap mode - - - - - - Sets the wrap mode for the 'p' coordinate of texture lookups on -this layer. 'p' is the third coordinate. - - - - - - the layer number to change. - - - - the new wrap mode - - - - - - Sets the wrap mode for the 's' coordinate of texture lookups on this layer. - - - - - - the layer number to change. - - - - the new wrap mode - - - - - - Sets the wrap mode for the 't' coordinate of texture lookups on this layer. - - - - - - the layer number to change. - - - - the new wrap mode - - - - - - Sets the shininess of the material, in the standard OpenGL lighting -model, which determines the size of the specular highlights. A -higher @shininess will produce smaller highlights which makes the -object appear more shiny. -The default value is 0.0 - - - - - - The desired shininess; must be >= 0.0 - - - - - - Sets the material's specular color, in the standard OpenGL lighting -model. The intensity of the specular color depends on the viewport -position, and is brightest along the lines of reflection. -The default value is (0.0, 0.0, 0.0, 1.0) - - - - - - The components of the desired specular color - - - - - - Associates a linked CoglProgram with the given material so that the -program can take full control of vertex and/or fragment processing. -This is an example of how it can be used to associate an ARBfp -program with a #CoglMaterial: -|[ -CoglHandle shader; -CoglHandle program; -CoglMaterial *material; -shader = cogl_create_shader (COGL_SHADER_TYPE_FRAGMENT); -cogl_shader_source (shader, -"!!ARBfp1.0\n" -"MOV result.color,fragment.color;\n" -"END\n"); -cogl_shader_compile (shader); -program = cogl_create_program (); -cogl_program_attach_shader (program, shader); -cogl_program_link (program); -material = cogl_material_new (); -cogl_material_set_user_program (material, program); -cogl_set_source_color4ub (0xff, 0x00, 0x00, 0xff); -cogl_rectangle (0, 0, 100, 100); -]| -It is possibly worth keeping in mind that this API is not part of -the long term design for how we want to expose shaders to Cogl -developers (We are planning on deprecating the cogl_program and -cogl_shader APIs in favour of a "snippet" framework) but in the -meantime we hope this will handle most practical GLSL and ARBfp -requirements. -Also remember you need to check for either the -%COGL_FEATURE_SHADERS_GLSL or %COGL_FEATURE_SHADERS_ARBFP before -using the cogl_program or cogl_shader API. - - - - - - A #CoglHandle to a linked CoglProgram - - - - - - - Alpha testing happens before blending primitives with the framebuffer and -gives an opportunity to discard fragments based on a comparison with the -incoming alpha value and a reference alpha value. The #CoglMaterialAlphaFunc -determines how the comparison is done. - - - - - - - - - - - Texture filtering is used whenever the current pixel maps either to more -than one texture element (texel) or less than one. These filter enums -correspond to different strategies used to come up with a pixel color, by -possibly referring to multiple neighbouring texels and taking a weighted -average or simply using the nearest texel. - - - - - - - - - - Queries the currently set downscaling filter for a material later - - the current downscaling filter - - - - - Queries the currently set downscaling filter for a material layer - - the current downscaling filter - - - - - Extracts a texture handle for a specific layer. -<note>In the future Cogl may support purely GLSL based layers; for those -layers this function which will likely return %COGL_INVALID_HANDLE if you -try to get the texture handle from them. Considering this scenario, you -should call cogl_material_layer_get_type() first in order check it is of -type %COGL_MATERIAL_LAYER_TYPE_TEXTURE before calling this function.</note> - - a #CoglHandle for the texture inside the layer - - - - - Gets the wrap mode for the 'p' coordinate of texture lookups on -this layer. 'p' is the third coordinate. - - the wrap mode value for the p coordinate. - - - - - Gets the wrap mode for the 's' coordinate of texture lookups on this layer. - - the wrap mode value for the s coordinate. - - - - - Gets the wrap mode for the 't' coordinate of texture lookups on this layer. - - the wrap mode value for the t coordinate. - - - - - - The callback prototype used with cogl_material_foreach_layer() for -iterating all the layers of a @material. - - - - - - The #CoglMaterial whos layers are being iterated - - - - The current layer index - - - - The private data passed to cogl_material_foreach_layer() - - - - - - Available types of layers for a #CoglMaterial. This enumeration -might be expanded in later versions. - - - - The wrap mode specifies what happens when texture coordinates -outside the range 0→1 are used. Note that if the filter mode is -anything but %COGL_MATERIAL_FILTER_NEAREST then texels outside the -range 0→1 might be used even when the coordinate is exactly 0 or 1 -because OpenGL will try to sample neighbouring pixels. For example -if you are trying to render the full texture then you may get -artifacts around the edges when the pixels from the other side are -merged in if the wrap mode is set to repeat. - - - - - - A CoglMatrix holds a 4x4 transform matrix. This is a single precision, -column-major matrix which means it is compatible with what OpenGL expects. -A CoglMatrix can represent transforms such as, rotations, scaling, -translation, sheering, and linear projections. You can combine these -transforms by multiplying multiple matrices in the order you want them -applied. -The transformation of a vertex (x, y, z, w) by a CoglMatrix is given by: -|[ -x_new = xx * x + xy * y + xz * z + xw * w -y_new = yx * x + yy * y + yz * z + yw * w -z_new = zx * x + zy * y + zz * z + zw * w -w_new = wx * x + wy * y + wz * z + ww * w -]| -Where w is normally 1 -<note>You must consider the members of the CoglMatrix structure read only, -and all matrix modifications must be done via the cogl_matrix API. This -allows Cogl to annotate the matrices internally. Violation of this will give -undefined results. If you need to initialize a matrix with a constant other -than the identity matrix you can use cogl_matrix_init_from_array().</note> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Multiplies @matrix by the given frustum perspective matrix. - - - - - - coord of left vertical clipping plane - - - - coord of right vertical clipping plane - - - - coord of bottom horizontal clipping plane - - - - coord of top horizontal clipping plane - - - - positive distance to near depth clipping plane - - - - positive distance to far depth clipping plane - - - - - - Casts @matrix to a float array which can be directly passed to OpenGL. - - a pointer to the float array - - - - - Gets the inverse transform of a given matrix and uses it to initialize -a new #CoglMatrix. -<note>Although the first parameter is annotated as const to indicate -that the transform it represents isn't modified this function may -technically save a copy of the inverse transform within the given -#CoglMatrix so that subsequent requests for the inverse transform may -avoid costly inversion calculations.</note> -for degenerate transformations that can't be inverted (in this case the - - %TRUE if the inverse was successfully calculated or %FALSE - - - - - The destination for a 4x4 inverse transformation matrix - - - - - - Initializes @matrix with the contents of @array - - - - - - A linear array of 16 floats (column-major order) - - - - - - Resets matrix to the identity matrix: -|[ -.xx=1; .xy=0; .xz=0; .xw=0; -.yx=0; .yy=1; .yz=0; .yw=0; -.zx=0; .zy=0; .zz=1; .zw=0; -.wx=0; .wy=0; .wz=0; .ww=1; -]| - - - - - - Multiplies the two supplied matrices together and stores -the resulting matrix inside @result - - - - - - A 4x4 transformation matrix - - - - A 4x4 transformation matrix - - - - - - Multiplies @matrix by a parallel projection matrix. - - - - - - The coordinate for the left clipping plane - - - - The coordinate for the right clipping plane - - - - The coordinate for the bottom clipping plane - - - - The coordinate for the top clipping plane - - - - The coordinate for the near clipping plane (may be negative if the plane is behind the viewer) - - - - The coordinate for the far clipping plane (may be negative if the plane is behind the viewer) - - - - - - Multiplies @matrix by the described perspective matrix -<note>You should be careful not to have to great a @z_far / @z_near ratio -since that will reduce the effectiveness of depth testing since there wont -be enough precision to identify the depth of objects near to each -other.</note> - - - - - - A field of view angle for the Y axis - - - - The ratio of width to height determining the field of view angle for the x axis. - - - - The distance to the near clip plane. Never pass 0 and always pass a positive number. - - - - The distance to the far clip plane. (Should always be positive) - - - - - - Multiplies @matrix with a rotation matrix that applies a rotation -of @angle degrees around the specified 3D vector. - - - - - - The angle you want to rotate in degrees - - - - X component of your rotation vector - - - - Y component of your rotation vector - - - - Z component of your rotation vector - - - - - - Multiplies @matrix with a transform matrix that scales along the X, -Y and Z axis. - - - - - - The X scale factor - - - - The Y scale factor - - - - The Z scale factor - - - - - - Transforms a point whos position is given and returned as four float -components. - - - - - - The X component of your points position - - - - The Y component of your points position - - - - The Z component of your points position - - - - The W component of your points position - - - - - - Multiplies @matrix with a transform matrix that translates along -the X, Y and Z axis. - - - - - - The X translation you want to apply - - - - The Y translation you want to apply - - - - The Z translation you want to apply - - - - - - - - Finds the user data previously associated with @object using -the given @key. If no user data has been associated with @object -for the given @key this function returns NULL. -the given @key; or NULL if no associated data is found. - - The user data previously associated with @object using - - - - - The address of a #CoglUserDataKey which provides a unique value with which to index the private data. - - - - - - Associates some private @user_data with a given #CoglObject. To -later remove the association call cogl_object_set_user_data() with -the same @key but NULL for the @user_data. - - - - - - The address of a #CoglUserDataKey which provides a unique value with which to index the private data. - - - - The data to associate with the given object, or NULL to remove a previous association. - - - - A #CoglUserDataDestroyCallback to call if the object is destroyed or if the association is removed by later setting NULL data for the same key. - - - - - - - - - - - - - - - - - Returns a new copy of the path in @path. The new path has a -reference count of 1 so you should unref it with -cogl_object_unref() if you no longer need it. -Internally the path will share the data until one of the paths is -modified so copying paths should be relatively cheap. - - a copy of the path in @path. - - - - - - #CoglPathFillRule is used to determine how a path is filled. There -are two options - 'non-zero' and 'even-odd'. To work out whether any -point will be filled imagine drawing an infinetely long line in any -direction from that point. The number of times and the direction -that the edges of the path crosses this line determines whether the -line is filled as described below. Any open sub paths are treated -as if there was an extra line joining the first point and the last -point. -The default fill rule is %COGL_PATH_FILL_RULE_EVEN_ODD. The fill -rule is attached to the current path so preserving a path with -cogl_get_path() also preserves the fill rule. Calling -cogl_path_new() resets the current fill rule to the default. -<figure id="fill-rule-non-zero"> -<title>Example of filling various paths using the non-zero rule</title> -<graphic fileref="fill-rule-non-zero.png" format="PNG"/> -</figure> -<figure id="fill-rule-even-odd"> -<title>Example of filling various paths using the even-odd rule</title> -<graphic fileref="fill-rule-even-odd.png" format="PNG"/> -</figure> - - - - - - - Pixel formats used by COGL. For the formats with a byte per -component, the order of the components specify the order in -increasing memory addresses. So for example -%COGL_PIXEL_FORMAT_RGB_888 would have the red component in the -lowest address, green in the next address and blue after that -regardless of the endinanness of the system. -For the 16-bit formats the component order specifies the order -within a 16-bit number from most significant bit to least -significant. So for %COGL_PIXEL_FORMAT_RGB_565, the red component -would be in bits 11-15, the green component would be in 6-11 and -the blue component would be in 1-5. Therefore the order in memory -depends on the endianness of the system. -When uploading a texture %COGL_PIXEL_FORMAT_ANY can be used as the -internal format. Cogl will try to pick the best format to use -internally and convert the texture data if necessary. - - - - - - - - - - - - - - - - - - - - - - - - - Flags for cogl_read_pixels() - - - - - - - - - - - - - Types of shaders - - - - - - - - Flags to pass to the cogl_texture_new_* family of functions. - - - - - - - - - - - - - Used to specify vertex information when calling cogl_polygon() - - - - - - - - - - - - - - - - - - - - - - - - - - - When associating private data with a #CoglObject a callback can be -given which will be called either if the object is destroyed or if -cogl_object_set_user_data() is called with NULL user_data for the -same key. - - - - - - The data whos association with a #CoglObject has been destoyed. - - - - - - A #CoglUserDataKey is used to declare a key for attaching data to a -#CoglObject using cogl_object_set_user_data. The typedef only exists as a -formality to make code self documenting since only the unique address of a -#CoglUserDataKey is used. -Typically you would declare a static #CoglUserDataKey and set private data -on an object something like this: -|[ -static CoglUserDataKey path_private_key; -static void -destroy_path_private_cb (void *data) -{ -g_free (data); -} -static void -my_path_set_data (CoglPath *path, void *data) -{ -cogl_object_set_user_data (COGL_OBJECT (path), -&private_key, -data, -destroy_path_private_cb); -} -]| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - How vertices passed to cogl_vertex_buffer_draw() and -cogl_vertex_buffer_draw_elements() should be interpreted - - - - - - - - - - Computes the cosine of @angle - - the cosine of the passed angle - - - - - an angle expressed using #CoglAngle - - - - - - Computes the sine of @angle - - the sine of the passed angle - - - - - an angle expressed using #CoglAngle - - - - - - Computes the tangent of @angle - - the tangent of the passed angle - - - - - an angle expressed using #CoglAngle - - - - - - We do not advise nor reliably support the interleaving of raw GL drawing and -Cogl drawing functions, but if you insist, cogl_begin_gl() and cogl_end_gl() -provide a simple mechanism that may at least give you a fighting chance of -succeeding. -through the modification of GL state; that will never be reliably supported, -but if you are trying to do something like: -|[ -{ -- setup some OpenGL state. -- draw using OpenGL (e.g. glDrawArrays() ) -- reset modified OpenGL state. -- continue using Cogl to draw -} -]| -You should surround blocks of drawing using raw GL with cogl_begin_gl() -and cogl_end_gl(): -|[ -{ -cogl_begin_gl (); -- setup some OpenGL state. -- draw using OpenGL (e.g. glDrawArrays() ) -- reset modified OpenGL state. -cogl_end_gl (); -- continue using Cogl to draw -} -]| -Don't ever try and do: -|[ -{ -- setup some OpenGL state. -- use Cogl to draw -- reset modified OpenGL state. -} -]| -When the internals of Cogl evolves, this is very liable to break. -This function will flush all batched primitives, and subsequently flush -all internal Cogl state to OpenGL as if it were going to draw something -itself. -The result is that the OpenGL modelview matrix will be setup; the state -corresponding to the current source material will be set up and other world -state such as backface culling, depth and fogging enabledness will be sent -to OpenGL. -<note>No special material state is flushed, so if you want Cogl to setup a -simplified material state it is your responsibility to set a simple source -material before calling cogl_begin_gl(). E.g. by calling -cogl_set_source_color4ub().</note> -<note>It is your responsibility to restore any OpenGL state that you modify -to how it was after calling cogl_begin_gl() if you don't do this then the -result of further Cogl calls is undefined.</note> -<note>You can not nest begin/end blocks.</note> -Again we would like to stress, we do not advise the use of this API and if -possible we would prefer to improve Cogl than have developers require raw -OpenGL. - - - - - - - - - - - Parses an image file enough to extract the width and height -of the bitmap. - - %TRUE if the image was successfully parsed - - - - - the file to check - - - - return location for the bitmap width, or %NULL - - - - return location for the bitmap height, or %NULL - - - - - - Loads an image file from disk. This function can be safely called from -within a thread. -%NULL if loading the image failed. - - a #CoglBitmap to the new loaded image data, or - - - - - the file to load. - - - - - - - - - - - Check whether @name occurs in list of extensions in @ext. -not appropriate to expose OpenGL extensions through the Cogl API. This -function can be replaced by the following equivalent code: -|[ -]| - - %TRUE if the extension occurs in the list, %FALSE otherwise. - - - - - extension to check for - - - - list of extensions - - - - - - Clears all the auxiliary buffers identified in the @buffers mask, and if -that includes the color buffer then the specified @color is used. - - - - - - Background color to clear to - - - - A mask of #CoglBufferBit<!-- -->'s identifying which auxiliary buffers to clear - - - - - - Ensures that the current clipping region has been set in GL. This -will automatically be called before any Cogl primitives but it -maybe be neccessary to call if you are using raw GL calls with -clipping. - - - - - - Reverts the clipping region to the state before the last call to -cogl_clip_push(). - - - - - - Specifies a rectangular clipping area for all subsequent drawing -operations. Any drawing commands that extend outside the rectangle -will be clipped so that only the portion inside the rectangle will -be displayed. The rectangle dimensions are transformed by the -current model-view matrix. -The rectangle is intersected with the current clip region. To undo -the effect of this function, call cogl_clip_pop(). -with other API that specify rectangles in model space, and when used -with a coordinate space that puts the origin at the center and y+ -extending up, it's awkward to use. Please use cogl_clip_push_rectangle() -instead - - - - - - left edge of the clip rectangle - - - - top edge of the clip rectangle - - - - width of the clip rectangle - - - - height of the clip rectangle - - - - - - Sets a new clipping area using the current path. The current path -is then cleared. The clipping area is intersected with the previous -clipping area. To restore the previous clipping area, call -cogl_clip_pop(). - - - - - - Sets a new clipping area using the current path. The current path -is then cleared. The clipping area is intersected with the previous -clipping area. To restore the previous clipping area, call -cogl_clip_pop(). - - - - - - Specifies a rectangular clipping area for all subsequent drawing -operations. Any drawing commands that extend outside the rectangle -will be clipped so that only the portion inside the rectangle will -be displayed. The rectangle dimensions are transformed by the -current model-view matrix. -The rectangle is intersected with the current clip region. To undo -the effect of this function, call cogl_clip_pop(). - - - - - - x coordinate for top left corner of the clip rectangle - - - - y coordinate for top left corner of the clip rectangle - - - - x coordinate for bottom right corner of the clip rectangle - - - - y coordinate for bottom right corner of the clip rectangle - - - - - - Specifies a rectangular clipping area for all subsequent drawing -operations. Any drawing commands that extend outside the rectangle -will be clipped so that only the portion inside the rectangle will -be displayed. The rectangle dimensions are not transformed by the -current model-view matrix. -The rectangle is intersected with the current clip region. To undo -the effect of this function, call cogl_clip_pop(). - - - - - - left edge of the clip rectangle in window coordinates - - - - top edge of the clip rectangle in window coordinates - - - - width of the clip rectangle - - - - height of the clip rectangle - - - - - - Specifies a rectangular clipping area for all subsequent drawing -operations. Any drawing commands that extend outside the rectangle -will be clipped so that only the portion inside the rectangle will -be displayed. The rectangle dimensions are not transformed by the -current model-view matrix. -The rectangle is intersected with the current clip region. To undo -the effect of this function, call cogl_clip_pop(). - - - - - - left edge of the clip rectangle in window coordinates - - - - top edge of the clip rectangle in window coordinates - - - - width of the clip rectangle - - - - height of the clip rectangle - - - - - - Restore the state of the clipping stack that was previously saved -by cogl_clip_stack_save(). -the clip stack when switching back from an offscreen framebuffer, -but it's not necessary anymore given that framebuffers now own -separate clip stacks which will be automatically switched between -when a new buffer is set. Calling this function has no effect - - - - - - Save the entire state of the clipping stack and then clear all -clipping. The previous state can be returned to with -cogl_clip_stack_restore(). Each call to cogl_clip_push() after this -must be matched by a call to cogl_clip_pop() before calling -cogl_clip_stack_restore(). -clip stack when switching to an offscreen framebuffer, but it's -not necessary anymore given that framebuffers now own separate -clip stacks which will be automatically switched between when a -new buffer is set. Calling this function has no effect - - - - - - Compares two #CoglColor<!-- -->s and checks if they are the same. -This function can be passed to g_hash_table_new() as the @key_equal_func -parameter, when using #CoglColor<!-- -->s as keys in a #GHashTable. - - %TRUE if the two colors are the same. - - - - - a #CoglColor - - - - a #CoglColor - - - - - - Creates a new (empty) color -to free the allocated resources - - a newly-allocated #CoglColor. Use cogl_color_free() - - - - - Create a new cogl program object that can be used to replace parts of the GL -rendering pipeline with custom code. - - a new cogl program. - - - - - Create a new shader handle, use #cogl_shader_source to set the source code -to be used on it. - - a new shader handle. - - - - - COGL_SHADER_TYPE_VERTEX or COGL_SHADER_TYPE_FRAGMENT. - - - - - - This function disables fogging, so primitives drawn afterwards will not be -blended with any previously set fog color. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is the counterpart to cogl_begin_gl() used to delimit blocks of drawing -code using raw OpenGL. Please refer to cogl_begin_gl() for full details. - - - - - - Checks whether the given COGL features are available. Multiple -features can be checked for by or-ing them together with the '|' -operator. %TRUE is only returned if all of the requested features -are available. - - %TRUE if the features are available, %FALSE otherwise. - - - - - A bitmask of features to check for - - - - - - Computes the arc tangent of @a. - - the arc tangent of the passed value, in fixed point notation - - - - - a #CoglFixed number - - - - - - Computes the arc tangent of @a / @b but uses the sign of both -arguments to return the angle in right quadrant. -notation - - the arc tangent of the passed fraction, in fixed point - - - - - the numerator as a #CoglFixed number - - - - the denominator as a #CoglFixed number - - - - - - Computes the cosine of @angle. - - the cosine of the passed angle, in fixed point notation - - - - - a #CoglFixed number - - - - - - - - - - - - - - - - - - - - - - - - Calculates base 2 logarithm. -This function is some 2.5 times faster on x86, and over 12 times faster on -fpu-less arm, than using libc log(). - - base 2 logarithm. - - - - - value to calculate base 2 logarithm from - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Calculates @x to the @y power. - - the power of @x to the @y - - - - - base - - - - #CoglFixed exponent - - - - - - Calculates 2 to the @x power. -This function is around 11 times faster on x86, and around 22 times faster -on fpu-less arm than libc pow(2, x). - - the power of 2 to the passed value - - - - - a #CoglFixed number - - - - - - Computes the sine of @angle. - - the sine of the passed angle, in fixed point notation - - - - - a #CoglFixed number - - - - - - Computes the square root of @x. -notation - - the square root of the passed value, in floating point - - - - - a #CoglFixed number - - - - - - Computes the tangent of @angle. - - the tangent of the passed angle, in fixed point notation - - - - - a #CoglFixed number - - - - - - This function should only need to be called in exceptional circumstances. -As an optimization Cogl drawing functions may batch up primitives -internally, so if you are trying to use raw GL outside of Cogl you stand a -better chance of being successful if you ask Cogl to flush any batched -geometry before making your state changes. -It only ensure that the underlying driver is issued all the commands -necessary to draw the batched primitives. It provides no guarantees about -when the driver will complete the rendering. -This provides no guarantees about the GL state upon returning and to avoid -confusing Cogl you should aim to restore any changes you make before -resuming use of Cogl. -If you are making state changes with the intention of affecting Cogl drawing -primitives you are 100% on your own since you stand a good chance of -conflicting with Cogl internals. For example clutter-gst which currently -uses direct GL calls to bind ARBfp programs will very likely break when Cogl -starts to use ARBfb programs itself for the material API. - - - - - - Replaces the current projection matrix with a perspective matrix -for the given viewing frustum. - - - - - - Left clipping plane - - - - Right clipping plane - - - - Bottom clipping plane - - - - Top clipping plane - - - - Nearest visible point - - - - Furthest visible point along the z-axis - - - - - - Queries if backface culling has been enabled via -cogl_set_backface_culling_enabled() - - %TRUE if backface culling is enabled, and %FALSE otherwise - - - - - Gets the number of bitplanes used for each of the color components -in the color buffer. Pass %NULL for any of the arguments if the -value is not required. - - - - - - Return location for the number of red bits or %NULL - - - - Return location for the number of green bits or %NULL - - - - Return location for the number of blue bits or %NULL - - - - Return location for the number of alpha bits or %NULL - - - - - - Queries if depth testing has been enabled via cogl_set_depth_test_enable() -instead. - - %TRUE if depth testing is enabled, and %FALSE otherwise - - - - - Returns all of the features supported by COGL. - - A logical OR of all the supported COGL features. - - - - - Stores the current model-view matrix in @matrix. - - - - - - return location for the model-view matrix - - - - - - Retrieves the #GOptionGroup used by COGL to parse the command -line options. Clutter uses this to handle the COGL command line -options during its initialization process. - - a #GOptionGroup - - - - - Gets a pointer to the current path. The path can later be used -again by calling cogl_path_set(). Note that the path isn't copied -so if you later call any functions to add to the path it will -affect the returned object too. No reference is taken on the path -so if you want to retain it you should take your own reference with -cogl_object_ref(). - - a pointer to the current path. - - - - - Gets a pointer to a given GL or GL ES extension function. This acts -as a wrapper around glXGetProcAddress() or whatever is the -appropriate function for the current backend. -function is not available. - - a pointer to the requested function or %NULL if the - - - - - the name of the function. - - - - - - Stores the current projection matrix in @matrix. - - - - - - return location for the projection matrix - - - - - - Stores the current viewport in @v. @v[0] and @v[1] get the x and y -position of the viewport and @v[2] and @v[3] get the width and -height. - - - - - - pointer to a 4 element array of #float<!-- -->s to receive the viewport dimensions. - - - - - - - - - - - - - Increases the reference count of @handle by 1 - - the handle, with its reference count increased - - - - - a #CoglHandle - - - - - - Drecreases the reference count of @handle by 1; if the reference -count reaches 0, the resources allocated by @handle will be freed - - - - - - a #CoglHandle - - - - - - Checks whether @handle is a #CoglHandle for a bitmap -and %FALSE otherwise - - %TRUE if the passed handle represents a bitmap, - - - - - a #CoglHandle for a bitmap - - - - - - - - - - - - - - - - Gets whether the given handle references an existing material object. -%FALSE otherwise - - %TRUE if the handle references a #CoglMaterial, - - - - - A CoglHandle - - - - - - Determines whether the given #CoglHandle references an offscreen buffer -object. -%FALSE otherwise - - %TRUE if the handle references an offscreen buffer, - - - - - A CoglHandle for an offscreen buffer - - - - - - Gets whether the given handle references an existing path object. -%FALSE otherwise - - %TRUE if the handle references a #CoglPath, - - - - - A CoglHandle - - - - - - - - - - - - - - - - Gets whether the given handle references an existing program object. -%FALSE otherwise - - %TRUE if the handle references a program, - - - - - A CoglHandle - - - - - - Gets whether the given handle references an existing shader object. -%FALSE otherwise - - %TRUE if the handle references a shader, - - - - - A CoglHandle - - - - - - Gets whether the given handle references an existing texture object. -%FALSE otherwise - - %TRUE if the handle references a texture, and - - - - - A CoglHandle - - - - - - - - - - - - - - - - - - - - - - - - - - Checks whether @handle is a Vertex Buffer Object -otherwise - - %TRUE if the handle is a VBO, and %FALSE - - - - - a #CoglHandle for a vertex buffer object - - - - - - Checks whether @handle is a handle to the indices for a vertex -buffer object -otherwise - - %TRUE if the handle is indices, and %FALSE - - - - - a #CoglHandle - - - - - - Get the size of points drawn when %COGL_VERTICES_MODE_POINTS is -used with the vertex buffer API. - - the point size of the material. - - - - - a #CoglHandle to a material. - - - - - - Retrieves the type of the layer -Currently there is only one type of layer defined: -%COGL_MATERIAL_LAYER_TYPE_TEXTURE, but considering we may add purely GLSL -based layers in the future, you should write code that checks the type -first. - - the type of the layer - - - - - A #CoglMaterialLayer object - - - - - - Allocates and initializes a blank white material - - a pointer to a new #CoglMaterial - - - - - Increment the reference count for a #CoglMaterial. - - the @material. - - - - - - - - - - Changes the size of points drawn when %COGL_VERTICES_MODE_POINTS is -used with the vertex buffer API. Note that typically the GPU will -only support a limited minimum and maximum range of point sizes. If -the chosen point size is outside that range then the nearest value -within that range will be used instead. The size of a point is in -screen space so it will be the same regardless of any -transformations. The default point size is 1.0. - - - - - - a #CoglHandle to a material. - - - - - - - - - Decrement the reference count for a #CoglMaterial. - - - - - - - - - - - Compares two matrices to see if they represent the same -transformation. Although internally the matrices may have different -annotations associated with them and may potentially have a cached -inverse matrix these are not considered in the comparison. - - - - - - A 4x4 transformation matrix - - - - A 4x4 transformation matrix - - - - - - Increases the reference count of @handle by 1 - - the @object, with its reference count increased - - - - - a #CoglObject - - - - - - Drecreases the reference count of @object by 1; if the reference -count reaches 0, the resources allocated by @object will be freed - - - - - - a #CoglObject - - - - - - This creates an offscreen buffer object using the given texture as the -primary color buffer. It doesn't just initialize the contents of the -offscreen buffer with the texture; they are tightly bound so that -drawing to the offscreen buffer effectivly updates the contents of the -given texture. You don't need to destroy the offscreen buffer before -you can use the texture again. -buffer or %COGL_INVALID_HANDLE if it wasn't possible to create the -buffer. - - a #CoglHandle for the new offscreen - - - - - A CoglHandle for a Cogl texture - - - - - - Increments the reference count on the offscreen buffer. - - For convenience it returns the given CoglHandle - - - - - A CoglHandle for an offscreen buffer - - - - - - Decreases the reference count for the offscreen buffer and frees it when -the count reaches 0. - - - - - - A CoglHandle for an offscreen buffer - - - - - - Replaces the current projection matrix with an orthographic projection -matrix. See <xref linkend="cogl-ortho-matrix"/> to see how the matrix is -calculated. -<figure id="cogl-ortho-matrix"> -<title></title> -<graphic fileref="cogl_ortho.png" format="PNG"/> -</figure> -<note>This function copies the arguments from OpenGL's glOrtho() even -though they are unnecessarily confusing due to the z near and z far -arguments actually being a "distance" from the origin, where -negative values are behind the viewer, instead of coordinates for -the z clipping planes which would have been consistent with the -left, right bottom and top arguments.</note> - - - - - - The coordinate for the left clipping plane - - - - The coordinate for the right clipping plane - - - - The coordinate for the bottom clipping plane - - - - The coordinate for the top clipping plane - - - - The <emphasis>distance</emphasis> to the near clipping plane (negative if the plane is behind the viewer) - - - - The <emphasis>distance</emphasis> for the far clipping plane (negative if the plane is behind the viewer) - - - - - - Adds an elliptical arc segment to the current path. A straight line -segment will link the current pen location with the first vertex -of the arc. If you perform a move_to to the arcs start just before -drawing it you create a free standing arc. -The angles are measured in degrees where 0° is in the direction of -the positive X axis and 90° is in the direction of the positive Y -axis. The angle of the arc begins at @angle_1 and heads towards -otherwise it will increase). - - - - - - X coordinate of the elliptical arc center - - - - Y coordinate of the elliptical arc center - - - - X radius of the elliptical arc - - - - Y radius of the elliptical arc - - - - Angle in degrees at which the arc begin - - - - Angle in degrees at which the arc ends - - - - - - Closes the path being constructed by adding a straight line segment -to it that ends at the first vertex of the path. - - - - - - Adds a cubic bezier curve segment to the current path with the given -second, third and fourth control points and using current pen location -as the first control point. - - - - - - X coordinate of the second bezier control point - - - - Y coordinate of the second bezier control point - - - - X coordinate of the third bezier control point - - - - Y coordinate of the third bezier control point - - - - X coordinate of the fourth bezier control point - - - - Y coordinate of the fourth bezier control point - - - - - - Constructs an ellipse shape. If there is an existing path this will -start a new disjoint sub-path. - - - - - - X coordinate of the ellipse center - - - - Y coordinate of the ellipse center - - - - X radius of the ellipse - - - - Y radius of the ellipse - - - - - - Fills the interior of the constructed shape using the current -drawing color. The current path is then cleared. To use the path -again, call cogl_path_fill_preserve() instead. -The interior of the shape is determined using the fill rule of the -path. See %CoglPathFillRule for details. - - - - - - Fills the interior of the constructed shape using the current -drawing color and preserves the path to be used again. See -cogl_path_fill() for a description what is considered the interior -of the shape. - - - - - - Retrieves the fill rule set using cogl_path_set_fill_rule(). - - the fill rule that is used for the current path. - - - - - Constructs a straight line shape starting and ending at the given -coordinates. If there is an existing path this will start a new -disjoint sub-path. - - - - - - X coordinate of the start line vertex - - - - Y coordinate of the start line vertex - - - - X coordinate of the end line vertex - - - - Y coordinate of the end line vertex - - - - - - Adds a straight line segment to the current path that ends at the -given coordinates. - - - - - - X coordinate of the end line vertex - - - - Y coordinate of the end line vertex - - - - - - Moves the pen to the given location. If there is an existing path -this will start a new disjoint subpath. - - - - - - X coordinate of the pen location to move to. - - - - Y coordinate of the pen location to move to. - - - - - - Clears the current path and starts a new one. Creating a new path -also resets the fill rule to the default which is -%COGL_PATH_FILL_RULE_EVEN_ODD. - - - - - - Constructs a polygonal shape of the given number of vertices. If -there is an existing path this will start a new disjoint sub-path. -The coords array must contain 2 * num_points values. The first value -represents the X coordinate of the first vertex, the second value -represents the Y coordinate of the first vertex, continuing in the same -fashion for the rest of the vertices. - - - - - - A pointer to the first element of an array of fixed-point values that specify the vertex coordinates. - - - - - - The total number of vertices. - - - - - - Constructs a series of straight line segments, starting from the -first given vertex coordinate. If there is an existing path this -will start a new disjoint sub-path. Each subsequent segment starts -where the previous one ended and ends at the next given vertex -coordinate. -The coords array must contain 2 * num_points values. The first value -represents the X coordinate of the first vertex, the second value -represents the Y coordinate of the first vertex, continuing in the same -fashion for the rest of the vertices. (num_points - 1) segments will -be constructed. - - - - - - A pointer to the first element of an array of fixed-point values that specify the vertex coordinates. - - - - - - The total number of vertices. - - - - - - Constructs a rectangular shape at the given coordinates. If there -is an existing path this will start a new disjoint sub-path. - - - - - - X coordinate of the top-left corner. - - - - Y coordinate of the top-left corner. - - - - X coordinate of the bottom-right corner. - - - - Y coordinate of the bottom-right corner. - - - - - - Adds a cubic bezier curve segment to the current path with the given -second, third and fourth control points and using current pen location -as the first control point. The given coordinates are relative to the -current pen location. - - - - - - X coordinate of the second bezier control point - - - - Y coordinate of the second bezier control point - - - - X coordinate of the third bezier control point - - - - Y coordinate of the third bezier control point - - - - X coordinate of the fourth bezier control point - - - - Y coordinate of the fourth bezier control point - - - - - - Adds a straight line segment to the current path that ends at the -given coordinates relative to the current pen location. - - - - - - X offset from the current pen location of the end line vertex - - - - Y offset from the current pen location of the end line vertex - - - - - - Moves the pen to the given offset relative to the current pen -location. If there is an existing path this will start a new -disjoint subpath. - - - - - - X offset from the current pen location to move the pen to. - - - - Y offset from the current pen location to move the pen to. - - - - - - Constructs a rectangular shape with rounded corners. If there is an -existing path this will start a new disjoint sub-path. - - - - - - X coordinate of the top-left corner. - - - - Y coordinate of the top-left corner. - - - - X coordinate of the bottom-right corner. - - - - Y coordinate of the bottom-right corner. - - - - Radius of the corner arcs. - - - - Angle increment resolution for subdivision of the corner arcs. - - - - - - Sets the fill rule of the current path to @fill_rule. This will -affect how the path is filled when cogl_path_fill() is later -called. Note that the fill rule state is attached to the path so -calling cogl_get_path() will preserve the fill rule and calling -cogl_path_new() will reset the fill rule back to the default. - - - - - - The new fill rule. - - - - - - Strokes the constructed shape using the current drawing color and a -width of 1 pixel (regardless of the current transformation -matrix). To current path is then cleared. To use the path again, -call cogl_path_stroke_preserve() instead. - - - - - - Strokes the constructed shape using the current drawing color and -preserves the path to be used again. - - - - - - Replaces the current projection matrix with a perspective matrix -based on the provided values. - - - - - - Vertical of view angle in degrees. - - - - Aspect ratio of diesplay - - - - Nearest visible point - - - - Furthest visible point along the z-axis - - - - - - - - - - - - - - - - - - - - - - - - - Draws a convex polygon using the current source material to fill / texture -with according to the texture coordinates passed. -If @use_color is %TRUE then the color will be changed for each vertex using -the value specified in the color member of #CoglTextureVertex. This can be -used for example to make the texture fade out by setting the alpha value of -the color. -All of the texture coordinates must be in the range [0,1] and repeating the -texture is not supported. -Because of the way this function is implemented it will currently -only work if either the texture is not sliced or the backend is not -OpenGL ES and the minifying and magnifying functions are both set -to COGL_MATERIAL_FILTER_NEAREST. - - - - - - An array of #CoglTextureVertex structs - - - - The length of the vertices array - - - - %TRUE if the color member of #CoglTextureVertex should be used - - - - - - Restore cogl_set_draw_buffer() state. - - - - - - Restores the framebuffer that was previously at the top of the stack. -All subsequent drawing will be redirected to this framebuffer. - - - - - - Restores the current model-view matrix from the matrix stack. - - - - - - Attaches a shader to a program object, a program can have one vertex shader -and one fragment shader attached. - - - - - - a #CoglHandle for a shdaer program. - - - - a #CoglHandle for a vertex of fragment shader. - - - - - - Retrieve the location (offset) of a uniform variable in a shader program, -a uniform is a variable that is constant for all vertices/fragments for a -shader object and is possible to modify as an external parameter. -This uniform can be set using cogl_program_uniform_1f() when the -program is in use. - - the offset of a uniform in a specified program. - - - - - a #CoglHandle for a shader program. - - - - the name of a uniform. - - - - - - Links a program making it ready for use. - - - - - - a #CoglHandle for a shader program. - - - - - - Add an extra reference to a program. - - @handle - - - - - A #CoglHandle to a program. - - - - - - Changes the value of a floating point uniform for the given linked - - - - - - A #CoglHandle for a linked program - - - - the uniform location retrieved from cogl_program_get_uniform_location(). - - - - the new value of the uniform. - - - - - - Changes the value of an integer uniform for the given linked - - - - - - A #CoglHandle for a linked program - - - - the uniform location retrieved from cogl_program_get_uniform_location(). - - - - the new value of the uniform. - - - - - - Changes the value of a float vector uniform, or uniform array for -the given linked @program. - - - - - - A #CoglHandle for a linked program - - - - the uniform location retrieved from cogl_program_get_uniform_location(). - - - - The number of components for the uniform. For example with glsl you'd use 3 for a vec3 or 4 for a vec4. - - - - For uniform arrays this is the array length otherwise just pass 1 - - - - the new value of the uniform[s]. - - - - - - - - Changes the value of a int vector uniform, or uniform array for -the given linked @program. - - - - - - A #CoglHandle for a linked program - - - - the uniform location retrieved from cogl_program_get_uniform_location(). - - - - The number of components for the uniform. For example with glsl you'd use 3 for a vec3 or 4 for a vec4. - - - - For uniform arrays this is the array length otherwise just pass 1 - - - - the new value of the uniform[s]. - - - - - - - - Changes the value of a matrix uniform, or uniform array in the -given linked @program. - - - - - - A #CoglHandle for a linked program - - - - the uniform location retrieved from cogl_program_get_uniform_location(). - - - - The dimensions of the matrix. So for for example pass 2 for a 2x2 matrix or 3 for 3x3. - - - - For uniform arrays this is the array length otherwise just pass 1 - - - - Whether to transpose the matrix when setting the uniform. - - - - the new value of the uniform. - - - - - - - - Changes the value of a floating point uniform in the currently -used (see cogl_program_use()) shader program. - - - - - - the uniform to set. - - - - the new value of the uniform. - - - - - - Changes the value of an integer uniform in the currently -used (see cogl_program_use()) shader program. - - - - - - the uniform to set. - - - - the new value of the uniform. - - - - - - Changes the value of a float vector uniform, or uniform array in the -currently used (see cogl_program_use()) shader program. - - - - - - the uniform to set. - - - - Size of float vector. - - - - Size of array of uniforms. - - - - the new value of the uniform. - - - - - - - - Changes the value of a int vector uniform, or uniform array in the -currently used (see cogl_program_use()) shader program. - - - - - - the uniform to set. - - - - Size of int vector. - - - - Size of array of uniforms. - - - - the new value of the uniform. - - - - - - - - Changes the value of a matrix uniform, or uniform array in the -currently used (see cogl_program_use()) shader program. The @size -parameter is used to determine the square size of the matrix. - - - - - - the uniform to set. - - - - Size of matrix. - - - - Size of array of uniforms. - - - - Whether to transpose the matrix when setting the uniform. - - - - the new value of the uniform. - - - - - - - - Removes a reference to a program. If it was the last reference the -program object will be destroyed. - - - - - - A #CoglHandle to a program. - - - - - - Activate a specific shader program replacing that part of the GL -rendering pipeline, if passed in %COGL_INVALID_HANDLE the default -behavior of GL is reinstated. - - - - - - a #CoglHandle for a shader program or %COGL_INVALID_HANDLE. - - - - - - Save cogl_set_draw_buffer() state. - - - - - - Redirects all subsequent drawing to the specified framebuffer. This can -either be an offscreen buffer created with cogl_offscreen_new_to_texture () -or in the future it may be an onscreen framebuffer too. -You should understand that a framebuffer owns the following state: -<itemizedlist> -<listitem><simpara>The projection matrix</simpara></listitem> -<listitem><simpara>The modelview matrix stack</simpara></listitem> -<listitem><simpara>The viewport</simpara></listitem> -<listitem><simpara>The clip stack</simpara></listitem> -</itemizedlist> -So these items will automatically be saved and restored when you -push and pop between different framebuffers. -Also remember a newly allocated framebuffer will have an identity matrix for -the projection and modelview matrices which gives you a coordinate space -like OpenGL with (-1, -1) corresponding to the top left of the viewport, -(1, 1) corresponding to the bottom right and +z coming out towards the -viewer. -If you want to set up a coordinate space like Clutter does with (0, 0) -corresponding to the top left and (framebuffer_width, framebuffer_height) -corresponding to the bottom right you can do so like this: -|[ -static void -setup_viewport (unsigned int width, -unsigned int height, -float fovy, -float aspect, -float z_near, -float z_far) -{ -float z_camera; -CoglMatrix projection_matrix; -CoglMatrix mv_matrix; -cogl_set_viewport (0, 0, width, height); -cogl_perspective (fovy, aspect, z_near, z_far); -cogl_get_projection_matrix (&amp;projection_matrix); -z_camera = 0.5 * projection_matrix.xx; -cogl_matrix_init_identity (&amp;mv_matrix); -cogl_matrix_translate (&amp;mv_matrix, -0.5f, -0.5f, -z_camera); -cogl_matrix_scale (&amp;mv_matrix, 1.0f / width, -1.0f / height, 1.0f / width); -cogl_matrix_translate (&amp;mv_matrix, 0.0f, -1.0 * height, 0.0f); -cogl_set_modelview_matrix (&amp;mv_matrix); -} -static void -my_init_framebuffer (ClutterStage *stage, -CoglFramebuffer *framebuffer, -unsigned int framebuffer_width, -unsigned int framebuffer_height) -{ -ClutterPerspective perspective; -clutter_stage_get_perspective (stage, &perspective); -cogl_push_framebuffer (framebuffer); -setup_viewport (framebuffer_width, -framebuffer_height, -perspective.fovy, -perspective.aspect, -perspective.z_near, -perspective.z_far); -} -]| -The previous framebuffer can be restored by calling cogl_pop_framebuffer() - - - - - - A #CoglFramebuffer object, either onscreen or offscreen. - - - - - - Stores the current model-view matrix on the matrix stack. The matrix -can later be restored with cogl_pop_matrix(). - - - - - - This reads a rectangle of pixels from the current framebuffer where -position (0, 0) is the top left. The pixel at (x, y) is the first -read, and the data is returned with a rowstride of (width * 4). -Currently Cogl assumes that the framebuffer is in a premultiplied -format so if @format is non-premultiplied it will convert it. To -read the pixel values without any conversion you should either -specify a format that doesn't use an alpha channel or use one of -the formats ending in PRE. - - - - - - The window x position to start reading from - - - - The window y position to start reading from - - - - The width of the rectangle you want to read - - - - The height of the rectangle you want to read - - - - Identifies which auxillary buffer you want to read (only COGL_READ_PIXELS_COLOR_BUFFER supported currently) - - - - The pixel format you want the result in (only COGL_PIXEL_FORMAT_RGBA_8888 supported currently) - - - - The location to write the pixel data. - - - - - - Fills a rectangle at the given coordinates with the current source material - - - - - - X coordinate of the top-left corner - - - - Y coordinate of the top-left corner - - - - X coordinate of the bottom-right corner - - - - Y coordinate of the bottom-right corner - - - - - - This function draws a rectangle using the current source material to -texture or fill with. As a material may contain multiple texture layers -this interface lets you supply texture coordinates for each layer of the -material. -The first pair of coordinates are for the first layer (with the smallest -layer index) and if you supply less texture coordinates than there are -layers in the current source material then default texture coordinates -(0.0, 0.0, 1.0, 1.0) are generated. - - - - - - x coordinate upper left on screen. - - - - y coordinate upper left on screen. - - - - x coordinate lower right on screen. - - - - y coordinate lower right on screen. - - - - An array containing groups of 4 float values: [tx1, ty1, tx2, ty2] that are interpreted as two texture coordinates; one for the upper left texel, and one for the lower right texel. Each value should be between 0.0 and 1.0, where the coordinate (0.0, 0.0) represents the top left of the texture, and (1.0, 1.0) the bottom right. - - - - - - The length of the tex_coords array. (e.g. for one layer and one group of texture coordinates, this would be 4) - - - - - - Draw a rectangle using the current material and supply texture coordinates -to be used for the first texture layer of the material. To draw the entire -texture pass in @tx1=0.0 @ty1=0.0 @tx2=1.0 @ty2=1.0. - - - - - - x coordinate upper left on screen. - - - - y coordinate upper left on screen. - - - - x coordinate lower right on screen. - - - - y coordinate lower right on screen. - - - - x part of texture coordinate to use for upper left pixel - - - - y part of texture coordinate to use for upper left pixel - - - - x part of texture coordinate to use for lower right pixel - - - - y part of texture coordinate to use for left pixel - - - - - - Draws a series of rectangles in the same way that -cogl_rectangle() does. In some situations it can give a -significant performance boost to use this function rather than -calling cogl_rectangle() separately for each rectangle. -parameters x1, y1, x2, and y2, and have the same -meaning as in cogl_rectangle(). - - - - - - an array of vertices - - - - - - number of rectangles to draw - - - - - - Draws a series of rectangles in the same way that -cogl_rectangle_with_texture_coords() does. In some situations it can give a -significant performance boost to use this function rather than -calling cogl_rectangle_with_texture_coords() separately for each rectangle. -parameters x1, y1, x2, y2, tx1, ty1, tx2 and ty2 and have the same -meaning as in cogl_rectangle_with_texture_coords(). - - - - - - an array of vertices - - - - - - number of rectangles to draw - - - - - - Multiplies the current model-view matrix by one that rotates the -model around the vertex specified by @x, @y and @z. The rotation -follows the right-hand thumb rule so for example rotating by 10 -degrees about the vertex (0, 0, 1) causes a small counter-clockwise -rotation. - - - - - - Angle in degrees to rotate. - - - - X-component of vertex to rotate around. - - - - Y-component of vertex to rotate around. - - - - Z-component of vertex to rotate around. - - - - - - Multiplies the current model-view matrix by one that scales the x, -y and z axes by the given values. - - - - - - Amount to scale along the x-axis - - - - Amount to scale along the y-axis - - - - Amount to scale along the z-axis - - - - - - Sets whether textures positioned so that their backface is showing -should be hidden. This can be used to efficiently draw two-sided -textures or fully closed cubes without enabling depth testing. This -only affects calls to the cogl_rectangle* family of functions and -cogl_vertex_buffer_draw*. Backface culling is disabled by default. - - - - - - %TRUE to enable backface culling or %FALSE to disable. - - - - - - Sets whether depth testing is enabled. If it is disabled then the -order that actors are layered on the screen depends solely on the -order specified using clutter_actor_raise() and -clutter_actor_lower(), otherwise it will also take into account the -actor's depth. Depth testing is disabled by default. -instead. - - - - - - %TRUE to enable depth testing or %FALSE to disable. - - - - - - Redirects all subsequent drawing to the specified framebuffer. This -can either be an offscreen buffer created with -cogl_offscreen_new_to_texture () or you can revert to your original -on screen window buffer. -the type of CoglHandle given instead. - - - - - - A #CoglBufferTarget that specifies what kind of framebuffer you are setting as the render target. - - - - If you are setting a framebuffer of type COGL_OFFSCREEN_BUFFER then this is a CoglHandle for the offscreen buffer. - - - - - - Enables fogging. Fogging causes vertices that are further away from the eye -to be rendered with a different color. The color is determined according to -the chosen fog mode; at it's simplest the color is linearly interpolated so -that vertices at @z_near are drawn fully with their original color and -vertices at @z_far are drawn fully with @fog_color. Fogging will remain -enabled until you call cogl_disable_fog(). -<note>The fogging functions only work correctly when primitives use -unmultiplied alpha colors. By default Cogl will premultiply textures -and cogl_set_source_color() will premultiply colors, so unless you -explicitly load your textures requesting an unmultiplied internal format -and use cogl_material_set_color() you can only use fogging with fully -opaque primitives. This might improve in the future when we can depend -on fragment shaders.</note> - - - - - - The color of the fog - - - - A #CoglFogMode that determines the equation used to calculate the fogging blend factor. - - - - Used by %COGL_FOG_MODE_EXPONENTIAL and by %COGL_FOG_MODE_EXPONENTIAL_SQUARED equations. - - - - Position along Z axis where no fogging should be applied - - - - Position along Z axis where full fogging should be applied - - - - - - This redirects all subsequent drawing to the specified framebuffer. This can -either be an offscreen buffer created with cogl_offscreen_new_to_texture () -or in the future it may be an onscreen framebuffers too. - - - - - - A #CoglFramebuffer object, either onscreen or offscreen. - - - - - - Loads @matrix as the new model-view matrix. - - - - - - the new model-view matrix - - - - - - Replaces the current path with @path. A reference is taken on the -object so if you no longer need the path you should unref with -cogl_object_unref(). - - - - - - A #CoglPath object - - - - - - Loads matrix as the new projection matrix. - - - - - - the new projection matrix - - - - - - This function sets the source material that will be used to fill subsequent -geometry emitted via the cogl API. -<note>In the future we may add the ability to set a front facing material, -and a back facing material, in which case this function will set both to the -same.</note> - - - - - - A #CoglHandle for a material - - - - - - This is a convenience function for creating a solid fill source material -from the given color. This color will be used for any subsequent drawing -operation. -The color will be premultiplied by Cogl, so the color should be -semi-transparent red. -See also cogl_set_source_color4ub() and cogl_set_source_color4f() -if you already have the color components. - - - - - - a #CoglColor - - - - - - This is a convenience function for creating a solid fill source material -from the given color using normalized values for each component. This color -will be used for any subsequent drawing operation. -The value for each component is a fixed point number in the range -between 0 and %1.0. If the values passed in are outside that -range, they will be clamped. - - - - - - value of the red channel, between 0 and %1.0 - - - - value of the green channel, between 0 and %1.0 - - - - value of the blue channel, between 0 and %1.0 - - - - value of the alpha channel, between 0 and %1.0 - - - - - - This is a convenience function for creating a solid fill source material -from the given color using unsigned bytes for each component. This -color will be used for any subsequent drawing operation. -The value for each component is an unsigned byte in the range -between 0 and 255. - - - - - - value of the red channel, between 0 and 255 - - - - value of the green channel, between 0 and 255 - - - - value of the blue channel, between 0 and 255 - - - - value of the alpha channel, between 0 and 255 - - - - - - This is a convenience function for creating a material with the first -layer set to #texture_handle and setting that material as the source with -cogl_set_source. -and cogl_set_source_texture. If you need to blend a texture with a color then -you can create a simple material like this: -<programlisting> -material = cogl_material_new (); -cogl_material_set_color4ub (material, 0xff, 0x00, 0x00, 0x80); -cogl_material_set_layer (material, 0, tex_handle); -cogl_set_source (material); -</programlisting> - - - - - - The Cogl texture you want as your source - - - - - - Replaces the current viewport with the given values. - - - - - - X offset of the viewport - - - - Y offset of the viewport - - - - Width of the viewport - - - - Height of the viewport - - - - - - Compiles the shader, no return value, but the shader is now ready for -linking into a program. - - - - - - #CoglHandle for a shader. - - - - - - Retrieves the information log for a coglobject, can be used in conjunction -with cogl_shader_get_parameteriv() to retrieve the compiler warnings/error -messages that caused a shader to not compile correctly, mainly useful for -debugging purposes. -g_free() to free it - - a newly allocated string containing the info log. Use - - - - - #CoglHandle for a shader. - - - - - - Retrieves the type of a shader #CoglHandle -or %COGL_SHADER_TYPE_FRAGMENT if the shader is a frament processor - - %COGL_SHADER_TYPE_VERTEX if the shader is a vertex processor - - - - - #CoglHandle for a shader. - - - - - - Retrieves whether a shader #CoglHandle has been compiled - - %TRUE if the shader object has sucessfully be compiled - - - - - #CoglHandle for a shader. - - - - - - Add an extra reference to a shader. - - @handle - - - - - A #CoglHandle to a shader. - - - - - - Replaces the current GLSL source associated with a shader with a new -one. - - - - - - #CoglHandle for a shader. - - - - GLSL shader source. - - - - - - Removes a reference to a shader. If it was the last reference the -shader object will be destroyed. - - - - - - A #CoglHandle to a shader. - - - - - - Very fast fixed point implementation of square root for integers. -This function is at least 6x faster than clib sqrt() on x86, and (this is -not a typo!) about 500x faster on ARM without FPU. It's error is less than -5% for arguments smaller than %COGL_SQRTI_ARG_5_PERCENT and less than 10% -for narguments smaller than %COGL_SQRTI_ARG_10_PERCENT. The maximum -argument that can be passed to this function is %COGL_SQRTI_ARG_MAX. - - integer square root. - - - - - integer value - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Copies the pixel data from a cogl texture to system memory. -is not valid - - the size of the texture data in bytes, or 0 if the texture - - - - - a #CoglHandle for a texture. - - - - the #CoglPixelFormat to store the texture as. - - - - the rowstride of @data or retrieved from texture if none is specified. - - - - memory location to write contents of buffer, or %NULL if we're only querying the data size through the return value. - - - - - - Queries the #CoglPixelFormat of a cogl texture. - - the #CoglPixelFormat of the GPU side texture - - - - - a #CoglHandle for a texture. - - - - - - Queries the GL handles for a GPU side texture through its #CoglHandle. -If the texture is spliced the data for the first sub texture will be -queried. -if the handle was invalid - - %TRUE if the handle was successfully retrieved, %FALSE - - - - - a #CoglHandle for a texture. - - - - pointer to return location for the textures GL handle, or %NULL. - - - - pointer to return location for the GL target type, or %NULL. - - - - - - Queries the height of a cogl texture. - - the height of the GPU side texture in pixels - - - - - a #CoglHandle for a texture. - - - - - - Queries the maximum wasted (unused) pixels in one dimension of a GPU side -texture. - - the maximum waste - - - - - a #CoglHandle for a texture. - - - - - - Queries the rowstride of a cogl texture. - - the offset in bytes between each consequetive row of pixels - - - - - a #CoglHandle for a texture. - - - - - - Queries the width of a cogl texture. - - the width of the GPU side texture in pixels - - - - - a #CoglHandle for a texture. - - - - - - Queries if a texture is sliced (stored as multiple GPU side tecture -objects). -is stored as a single GPU texture - - %TRUE if the texture is sliced, %FALSE if the texture - - - - - a #CoglHandle for a texture. - - - - - - Creates a COGL texture from a CoglBitmap. -%COGL_INVALID_HANDLE on failure - - a #CoglHandle to the newly created texture or - - - - - A CoglBitmap handle - - - - Optional flags for the texture, or %COGL_TEXTURE_NONE - - - - the #CoglPixelFormat to use for the GPU storage of the texture - - - - - - Creates a new texture using the buffer specified by @handle. If the buffer -has been created using cogl_pixel_buffer_new_for_size() it's possible to omit -the height and width values already specified at creation time. -failure - - a #CoglHandle to the new texture or %COGL_INVALID_HANDLE on - - - - - the #CoglHandle of a pixel buffer - - - - width of texture in pixels or 0 - - - - height of texture in pixels or 0 - - - - optional flags for the texture, or %COGL_TEXTURE_NONE - - - - the #CoglPixelFormat the buffer is stored in in RAM - - - - the #CoglPixelFormat that will be used for storing the buffer on the GPU. If %COGL_PIXEL_FORMAT_ANY is given then a premultiplied format similar to the format of the source data will be used. The default blending equations of Cogl expect premultiplied color data; the main use of passing a non-premultiplied format here is if you have non-premultiplied source data and are going to adjust the blend mode (see cogl_material_set_blend()) or use the data for something other than straight blending - - - - the memory offset in bytes between the starts of scanlines in @data. If 0 is given the row stride will be deduced from - - - - offset in bytes in @buffer from where the texture data starts - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Creates a new COGL texture based on data residing in memory. -%COGL_INVALID_HANDLE on failure - - a #CoglHandle to the newly created texture or - - - - - width of texture in pixels - - - - height of texture in pixels - - - - Optional flags for the texture, or %COGL_TEXTURE_NONE - - - - the #CoglPixelFormat the buffer is stored in in RAM - - - - the #CoglPixelFormat that will be used for storing the buffer on the GPU. If COGL_PIXEL_FORMAT_ANY is given then a premultiplied format similar to the format of the source data will be used. The default blending equations of Cogl expect premultiplied color data; the main use of passing a non-premultiplied format here is if you have non-premultiplied source data and are going to adjust the blend mode (see cogl_material_set_blend()) or use the data for something other than straight blending. - - - - the memory offset in bytes between the starts of scanlines in @data - - - - pointer the memory region where the source buffer resides - - - - - - Creates a COGL texture from an image file. -%COGL_INVALID_HANDLE on failure - - a #CoglHandle to the newly created texture or - - - - - the file to load - - - - Optional flags for the texture, or %COGL_TEXTURE_NONE - - - - the #CoglPixelFormat to use for the GPU storage of the texture. If %COGL_PIXEL_FORMAT_ANY is given then a premultiplied format similar to the format of the source data will be used. The default blending equations of Cogl expect premultiplied color data; the main use of passing a non-premultiplied format here is if you have non-premultiplied source data and are going to adjust the blend mode (see cogl_material_set_blend()) or use the data for something other than straight blending. - - - - - - Creates a COGL texture based on an existing OpenGL texture; the -width, height and format are passed along since it is not always -possible to query these from OpenGL. -The waste arguments allow you to create a Cogl texture that maps to -a region smaller than the real OpenGL texture. For instance if your -hardware only supports power-of-two textures you may load a -non-power-of-two image into a larger power-of-two texture and use -the waste arguments to tell Cogl which region should be mapped to -the texture coordinate range [0:1]. -%COGL_INVALID_HANDLE on failure - - a #CoglHandle to the newly created texture or - - - - - opengl handle of foreign texture. - - - - opengl target type of foreign texture - - - - width of foreign texture - - - - height of foreign texture. - - - - horizontal waste on the right hand edge of the texture. - - - - vertical waste on the bottom edge of the texture. - - - - format of the foreign texture. - - - - - - Creates a new texture which represents a subregion of another -texture. The GL resources will be shared so that no new texture -data is actually allocated. -Sub textures have undefined behaviour texture coordinates outside -of the range [0,1] are used. They also do not work with -CoglVertexBuffers. -The sub texture will keep a reference to the full texture so you do -not need to keep one separately if you only want to use the sub -texture. - - a #CoglHandle to the new texture. - - - - - a #CoglHandle to an existing texture - - - - X coordinate of the top-left of the subregion - - - - Y coordinate of the top-left of the subregion - - - - Width in pixels of the subregion - - - - Height in pixels of the subregion - - - - - - Creates a new COGL texture with the specified dimensions and pixel format. -%COGL_INVALID_HANDLE on failure - - a #CoglHandle to the newly created texture or - - - - - width of texture in pixels. - - - - height of texture in pixels. - - - - Optional flags for the texture, or %COGL_TEXTURE_NONE - - - - the #CoglPixelFormat to use for the GPU storage of the texture. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Increment the reference count for a cogl texture. - - the @handle. - - - - - a @CoglHandle. - - - - - - Sets the pixels in a rectangular subregion of @handle from an in-memory -buffer containing pixel data. -%FALSE otherwise - - %TRUE if the subregion upload was successful, and - - - - - a #CoglHandle. - - - - upper left coordinate to use from source data. - - - - upper left coordinate to use from source data. - - - - upper left destination horizontal coordinate. - - - - upper left destination vertical coordinate. - - - - width of destination region to write. - - - - height of destination region to write. - - - - width of source data buffer. - - - - height of source data buffer. - - - - the #CoglPixelFormat used in the source buffer. - - - - rowstride of source buffer (computed from width if none specified) - - - - the actual pixel data. - - - - - - Decrement the reference count for a cogl texture. - - - - - - a @CoglHandle. - - - - - - Multiplies the current model-view matrix by the given matrix. - - - - - - the matrix to multiply with the current model-view - - - - - - Multiplies the current model-view matrix by one that translates the -model along all three axes according to the given values. - - - - - - Distance to translate along the x-axis - - - - Distance to translate along the y-axis - - - - Distance to translate along the z-axis - - - - - - - - - - - - - - - - - - - Adds an attribute to a buffer. -You either can use one of the built-in names such as "gl_Vertex", or -"gl_MultiTexCoord0" to add standard attributes, like positions, colors -and normals, or you can add custom attributes for use in shaders. -The number of vertices declared when calling cogl_vertex_buffer_new() -determines how many attribute values will be read from the supplied -The data for your attribute isn't copied anywhere until you call -cogl_vertex_buffer_submit(), or issue a draw call which automatically -submits pending attribute changes. so the supplied pointer must remain -valid until then. If you are updating an existing attribute (done by -re-adding it) then you still need to re-call cogl_vertex_buffer_submit() -to commit the changes to the GPU. Be carefull to minimize the number -of calls to cogl_vertex_buffer_submit(), though. -<note>If you are interleving attributes it is assumed that each interleaved -attribute starts no farther than +- stride bytes from the other attributes -it is interleved with. I.e. this is ok: -<programlisting> -|-0-0-0-0-0-0-0-0-0-0| -</programlisting> -This is not ok: -<programlisting> -|- - - - -0-0-0-0-0-0 0 0 0 0| -</programlisting> -(Though you can have multiple groups of interleved attributes)</note> - - - - - - A vertex buffer handle - - - - The name of your attribute. It should be a valid GLSL variable name and standard attribute types must use one of following built-in names: (Note: they correspond to the built-in names of GLSL) <itemizedlist> <listitem>"gl_Color"</listitem> <listitem>"gl_Normal"</listitem> <listitem>"gl_MultiTexCoord0, gl_MultiTexCoord1, ..."</listitem> <listitem>"gl_Vertex"</listitem> </itemizedlist> To support adding multiple variations of the same attribute the name can have a detail component, E.g. "gl_Color::active" or "gl_Color::inactive" - - - - The number of components per attribute and must be 1, 2, 3 or 4 - - - - a #CoglAttributeType specifying the data type of each component. - - - - If %TRUE, this specifies that values stored in an integer format should be mapped into the range [-1.0, 1.0] or [0.0, 1.0] for unsigned values. If %FALSE they are converted to floats directly. - - - - This specifies the number of bytes from the start of one attribute value to the start of the next value (for the same attribute). So, for example, with a position interleved with color like this: XYRGBAXYRGBAXYRGBA, then if each letter represents a byte, the stride for both attributes is 6. The special value 0 means the values are stored sequentially in memory. - - - - This addresses the first attribute in the vertex array. This must remain valid until you either call cogl_vertex_buffer_submit() or issue a draw call. - - - - - - Deletes an attribute from a buffer. You will need to call -cogl_vertex_buffer_submit() or issue a draw call to commit this -change to the GPU. - - - - - - A vertex buffer handle - - - - The name of a previously added attribute - - - - - - Disables a previosuly added attribute. -Since it can be costly to add and remove new attributes to buffers; to make -individual buffers more reuseable it is possible to enable and disable -attributes before using a buffer for drawing. -You don't need to call cogl_vertex_buffer_submit() after using this -function. - - - - - - A vertex buffer handle - - - - The name of the attribute you want to disable - - - - - - Allows you to draw geometry using all or a subset of the -vertices in a vertex buffer. -Any un-submitted attribute changes are automatically submitted before -drawing. - - - - - - A vertex buffer handle - - - - A #CoglVerticesMode specifying how the vertices should be interpreted. - - - - Specifies the index of the first vertex you want to draw with - - - - Specifies the number of vertices you want to draw. - - - - - - This function lets you use an array of indices to specify the vertices -within your vertex buffer that you want to draw. The indices themselves -are created by calling cogl_vertex_buffer_indices_new () -Any un-submitted attribute changes are automatically submitted before -drawing. - - - - - - A vertex buffer handle - - - - A #CoglVerticesMode specifying how the vertices should be interpreted. - - - - A CoglHandle for a set of indices allocated via cogl_vertex_buffer_indices_new () - - - - Specifies the minimum vertex index contained in indices - - - - Specifies the maximum vertex index contained in indices - - - - An offset into named indices. The offset marks the first index to use for drawing. - - - - Specifies the number of vertices you want to draw. - - - - - - Enables a previosuly disabled attribute. -Since it can be costly to add and remove new attributes to buffers; to make -individual buffers more reuseable it is possible to enable and disable -attributes before using a buffer for drawing. -You don't need to call cogl_vertex_buffer_submit() after using this function - - - - - - A vertex buffer handle - - - - The name of the attribute you want to enable - - - - - - Retrieves the number of vertices that @handle represents - - the number of vertices - - - - - A vertex buffer handle - - - - - - Creates a vertex buffer containing the indices needed to draw pairs -of triangles from a list of vertices grouped as quads. There will -be at least @n_indices entries in the buffer (but there may be -more). -The indices will follow this pattern: -0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7 ... etc -For example, if you submit vertices for a quad like like that shown -in <xref linkend="quad-indices-order"/> then you can request 6 -indices to render two triangles like those shown in <xref -linkend="quad-indices-triangles"/>. -<figure id="quad-indices-order"> -<title>Example of vertices submitted to form a quad</title> -<graphic fileref="quad-indices-order.png" format="PNG"/> -</figure> -<figure id="quad-indices-triangles"> -<title>Illustration of the triangle indices that will be generated</title> -<graphic fileref="quad-indices-triangles.png" format="PNG"/> -</figure> -owned by Cogl and should not be modified or unref'd. - - A %CoglHandle containing the indices. The handled is - - - - - the number of indices in the vertex buffer. - - - - - - Queries back the data type used for the given indices - - The CoglIndicesType used - - - - - - - - - - Depending on how much geometry you are submitting it can be worthwhile -optimizing the number of redundant vertices you submit. Using an index -array allows you to reference vertices multiple times, for example -during triangle strips. -cogl_vertex_buffer_draw_elements(). - - A CoglHandle for the indices which you can pass to - - - - - a #CoglIndicesType specifying the data type used for the indices. - - - - Specifies the address of your array of indices - - - - - - The number of indices in indices_array - - - - - - Creates a new vertex buffer that you can use to add attributes. - - a new #CoglHandle - - - - - The number of vertices that your attributes will correspond to. - - - - - - Increment the reference count for a vertex buffer - - the @handle. - - - - - a @CoglHandle. - - - - - - Submits all the user added attributes to the GPU; once submitted, the -attributes can be used for drawing. -You should aim to minimize calls to this function since it implies -validating your data; it potentially incurs a transport cost (especially if -you are using GLX indirect rendering) and potentially a format conversion -cost if the GPU doesn't natively support any of the given attribute formats. - - - - - - A vertex buffer handle - - - - - - Decrement the reference count for a vertex buffer - - - - - - a @CoglHandle. - - - - - - Replace the current viewport with the given values. - - - - - - Width of the viewport - - - - Height of the viewport - - - - - - diff --git a/extra/clutter/cogl/ffi/ffi.factor b/extra/clutter/cogl/ffi/ffi.factor index 199fa07272..b4752d402a 100644 --- a/extra/clutter/cogl/ffi/ffi.factor +++ b/extra/clutter/cogl/ffi/ffi.factor @@ -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 diff --git a/extra/clutter/ffi/ffi.factor b/extra/clutter/ffi/ffi.factor index 4a4441296c..06ff981f65 100644 --- a/extra/clutter/ffi/ffi.factor +++ b/extra/clutter/ffi/ffi.factor @@ -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 diff --git a/extra/clutter/gtk/GtkClutter-0.10.gir b/extra/clutter/gtk/GtkClutter-0.10.gir deleted file mode 100644 index 3811379217..0000000000 --- a/extra/clutter/gtk/GtkClutter-0.10.gir +++ /dev/null @@ -1,912 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - A #GtkWidget containing the default Clutter stage. - - - - Creates a new #GtkClutterEmbed widget. This widget can be -used to build a scene using Clutter API into a GTK+ application. - - the newly created #GtkClutterEmbed - - - - - 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. - - a #ClutterStage. You should never destroy - - - - - - - - - - - - Base class for #GtkClutterEmbed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Retrieves the horizontal and vertical adjustments used to -determine the position of the scrollable actor. - - - - - - return location for a #GtkAdjustment, or %NULL - - - - return location for a #GtkAdjustment, or %NULL - - - - - - Sets the horizontal and vertical adjustments used to determine -the position of the scrollable actor. - - - - - - a #GtkAdjustment, or %NULL - - - - a #GtkAdjustment, or %NULL - - - - - - Retrieves the horizontal and vertical adjustments used to -determine the position of the scrollable actor. - - - - - - return location for a #GtkAdjustment, or %NULL - - - - return location for a #GtkAdjustment, or %NULL - - - - - - Sets the horizontal and vertical adjustments used to determine -the position of the scrollable actor. - - - - - - a #GtkAdjustment, or %NULL - - - - a #GtkAdjustment, or %NULL - - - - - - The #GtkAdjustment that determines the value of the -horizontal position for this scrollable actor. - - - - The #GtkAdjustment that determines the value of the -vertical position for this scrollable actor. - - - - - The #GtkClutterScrollableIface structure contains only private data -and should be accessed using the provided functions. - - - - - - - - - - - - - - a #GtkAdjustment, or %NULL - - - - a #GtkAdjustment, or %NULL - - - - - - - - - - - - - - - - return location for a #GtkAdjustment, or %NULL - - - - return location for a #GtkAdjustment, or %NULL - - - - - - - - The #GtkClutterViewport structure contains only private data and -should be accessed using the provided functions. - - - - - - - - Creates a new #GtkClutterViewport with the given adjustments. - - the newly created viewport actor - - - - - horizontal adjustment, or %NULL - - - - vertical adjustment, or %NULL - - - - zoom adjustment, or %NULL - - - - - - Retrieves the current translation factor ("origin") used when -displaying the child of @viewport. - - - - - - return location for the X origin in pixels, or %NULL - - - - return location for the Y origin in pixels, or %NULL - - - - return location for the Z origin in pixels, or %NULL - - - - - - The #ClutterActor inside the viewport. - - - - The current origin of the viewport. You should use the -vertex to convert event coordinates for the child of the -viewport. - - - - - - - - - - - The #GtkClutterViewportClass structure contains only private data and -should be accessed using the provided functions. - - - - - - - - - Retrieves the adjustment used to determine the zoom factor of -the zoomable actor - - a #GtkAdjustment - - - - - Sets the adjustment used to determine the zoom factor of -the zoomable actor - - - - - - a #GtkAdjustment, or %NULL - - - - - - Retrieves the adjustment used to determine the zoom factor of -the zoomable actor - - a #GtkAdjustment - - - - - Sets the adjustment used to determine the zoom factor of -the zoomable actor - - - - - - a #GtkAdjustment, or %NULL - - - - - - The #GtkAdjustment that determines the value of -the zoom factor for this zoomable actor - - - - - The #GtkClutterZoomableIface structure contains only private data - - - - - - - - - - - - - - a #GtkAdjustment, or %NULL - - - - - - - - - a #GtkAdjustment - - - - - - - - - - - - Retrieves the base color of @widget for the given @state and copies it -into @color. - - - - - - a #GtkWidget - - - - a state - - - - return location for a #ClutterColor - - - - - - Retrieves the background color of @widget for the given @state and copies -it into @color. - - - - - - a #GtkWidget - - - - a state - - - - return location for a #ClutterColor - - - - - - Retrieves the dark color of @widget for the given @state and copies it -into @color. - - - - - - a #GtkWidget - - - - a state - - - - return location for a #ClutterColor - - - - - - Retrieves the foreground color of @widget for the given @state and copies -it into @color. - - - - - - a #GtkWidget - - - - a state - - - - return location for a #ClutterColor - - - - - - Retrieves the light color of @widget for the given @state and copies it -into @color. - - - - - - a #GtkWidget - - - - a state - - - - return location for a #ClutterColor - - - - - - Retrieves the mid color of @widget for the given @state and copies it -into @color. - - - - - - a #GtkWidget - - - - a state - - - - return location for a #ClutterColor - - - - - - Retrieves the text-aa color of @widget for the given @state and copies it -into @color. - - - - - - a #GtkWidget - - - - a state - - - - return location for a #ClutterColor - - - - - - Retrieves the text color of @widget for the given @state and copies it -into @color. - - - - - - a #GtkWidget - - - - a state - - - - return location for a #ClutterColor - - - - - - This function should be called instead of clutter_init() and -gtk_init(). -on failure. - - %CLUTTER_INIT_SUCCESS on success, a negative integer - - - - - pointer to the arguments count, or %NULL - - - - pointer to the arguments vector, or %NULL - - - - - - - - This function should be called instead of clutter_init() and -gtk_init_with_args(). -on failure. - - %CLUTTER_INIT_SUCCESS on success, a negative integer - - - - - a pointer to the number of command line arguments. - - - - a pointer to the array of command line arguments. - - - - - - a string which is displayed in the first line of <option>--help</option> output, after <literal><replaceable>programname</replaceable> [OPTION...]</literal> - - - - a %NULL-terminated array of #GOptionEntry<!-- -->s describing the options of your program, or %NULL - - - - a translation domain to use for translating the <option>--help</option> output for the options in @entries with gettext(), or %NULL - - - - - - - - - - - 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. - - the newly created texture, or %NULL if @widget - - - - - a #GtkWidget or %NULL - - - - the name of the icon - - - - the size of the icon, or -1 - - - - - - Creates a new #ClutterTexture and sets its contents with a copy -of @pixbuf. - - the newly created #ClutterTexture - - - - - a #GdkPixbuf - - - - - - Creates a new #ClutterTexture and sets its contents using the stock -icon @stock_id as rendered by @widget. - - the newly created #ClutterTexture - - - - - a #GtkWidget - - - - the stock id of the icon - - - - the size of the icon, or -1 - - - - - - Sets the contents of @texture using the @icon_name from the -current icon theme. - - %TRUE on success, %FALSE on failure. - - - - - a #ClutterTexture - - - - a #GtkWidget or %NULL - - - - the name of the icon - - - - the icon size or -1 - - - - - - Sets the contents of @texture with a copy of @pixbuf. - - %TRUE on success, %FALSE on failure. - - - - - a #ClutterTexture - - - - a #GdkPixbuf - - - - - - Sets the contents of @texture using the stock icon @stock_id, as -rendered by @widget. - - %TRUE on success, %FALSE on failure. - - - - - a #ClutterTexture - - - - a #GtkWidget - - - - the stock id of the icon - - - - the size of the icon, or -1 - - - - - - diff --git a/extra/clutter/gtk/ffi/ffi.factor b/extra/clutter/gtk/ffi/ffi.factor index 088899aaf0..4c64071a04 100644 --- a/extra/clutter/gtk/ffi/ffi.factor +++ b/extra/clutter/gtk/ffi/ffi.factor @@ -19,5 +19,5 @@ LIBRARY: clutter.gtk } cond >> -GIR: vocab:clutter/gtk/GtkClutter-0.10.gir +GIR: GtkClutter-0.10.gir diff --git a/extra/clutter/json/Json-1.0.gir b/extra/clutter/json/Json-1.0.gir deleted file mode 100644 index e9454087fd..0000000000 --- a/extra/clutter/json/Json-1.0.gir +++ /dev/null @@ -1,2925 +0,0 @@ - - - - - - - - - - A JSON array type. The contents of the #JsonArray structure are private -and should only be accessed by the provided API - - Creates a new #JsonArray. - - the newly created #JsonArray - - - - - Creates a new #JsonArray with @n_elements slots already allocated. - - the newly created #JsonArray - - - - - number of slots to pre-allocate - - - - - - Conveniently adds an array into @array. The @array takes ownership -of the newly added #JsonArray - - - - - - a #JsonArray - - - - - - Conveniently adds a boolean @value into @array - - - - - - a boolean value - - - - - - Conveniently adds a floating point @value into @array - - - - - - a floating point value - - - - - - Appends @node inside @array. The array will take ownership of the -#JsonNode. - - - - - - a #JsonNode - - - - - - Conveniently adds an integer @value into @array - - - - - - an integer value - - - - - - Conveniently adds a null element into @array - - - - - - Conveniently adds an object into @array. The @array takes ownership -of the newly added #JsonObject - - - - - - a #JsonObject - - - - - - Conveniently adds a string @value into @array - - - - - - a string value - - - - - - Retrieves a copy of the #JsonNode containing the value of the -element at @index_ inside a #JsonArray -index. Use json_node_free() when done. - - a copy of the #JsonNode at the requested - - - - - the index of the element to retrieve - - - - - - Iterates over all elements of @array and calls @func on -each one of them. -It is safe to change the value of a #JsonNode of the @array -from within the iterator @func, but it is not safe to add or -remove elements from the @array. - - - - - - the function to be called on each element - - - - data to be passed to the function - - - - - - Conveniently retrieves the array from the element at @index_ -inside @array - - the array - - - - - the index of the element to retrieve - - - - - - Conveniently retrieves the boolean value of the element at @index_ -inside @array - - the integer value - - - - - the index of the element to retrieve - - - - - - Conveniently retrieves the floating point value of the element at - - the floating point value - - - - - the index of the element to retrieve - - - - - - Retrieves the #JsonNode containing the value of the element at @index_ -inside a #JsonArray. - - a pointer to the #JsonNode at the requested index - - - - - the index of the element to retrieve - - - - - - Gets the elements of a #JsonArray as a list of #JsonNode<!-- -->s. -containing the elements of the array. The contents of the list are -owned by the array and should never be modified or freed. Use -g_list_free() on the returned list when done using it - - a #GList - - - - - - - Conveniently retrieves the integer value of the element at @index_ -inside @array - - the integer value - - - - - the index of the element to retrieve - - - - - - Retrieves the length of a #JsonArray - - the length of the array - - - - - Conveniently retrieves whether the element at @index_ is set to null - - %TRUE if the element is null - - - - - the index of the element to retrieve - - - - - - Conveniently retrieves the object from the element at @index_ -inside @array - - the object - - - - - the index of the element to retrieve - - - - - - Conveniently retrieves the string value of the element at @index_ -inside @array -the #JsonArray and should not be modified or freed - - the string value; the returned string is owned by - - - - - the index of the element to retrieve - - - - - - Increase by one the reference count of a #JsonArray. -increased by one. - - the passed #JsonArray, with the reference count - - - - - Removes the #JsonNode inside @array at @index_ freeing its allocated -resources. - - - - - - the position of the element to be removed - - - - - - Decreases by one the reference count of a #JsonArray. If the -reference count reaches zero, the array is destroyed and all -its allocated resources are freed. - - - - - - - The function to be passed to json_array_foreach_element(). You -should not add or remove elements to and from @array within -this function. It is safe to change the value of @element_node. - - - - - - the iterated #JsonArray - - - - the index of the element - - - - a #JsonNode containing the value at @index_ - - - - data passed to the function - - - - - - Deserializes the contents of the passed #JsonNode into a #GBoxed - - the newly created boxed type - - - - - a #JsonNode - - - - - - Serializes the passed #GBoxed and stores it inside a #JsonNode - - the newly created #JsonNode - - - - - a #GBoxed - - - - - - The <structname>JsonBuilder</structname> structure contains only -private data and shouls be accessed using the provided API - - Creates a new #JsonBuilder. You can use this object to generate a -JSON tree and obtain the root #JsonNode<!-- -->s. - - the newly created #JsonBuilder instance - - - - - If called after json_builder_set_member_name(), sets @value as member of the -most recent opened object, otherwise @value is added as element of the most -recent opened array. - - the #JsonBuilder, or %NULL if the call was inconsistent - - - - - the value of the member or element - - - - - - If called after json_builder_set_member_name(), sets @value as member of the -most recent opened object, otherwise @value is added as element of the most -recent opened array. - - the #JsonBuilder, or %NULL if the call was inconsistent - - - - - the value of the member or element - - - - - - If called after json_builder_set_member_name(), sets @value as member of the -most recent opened object, otherwise @value is added as element of the most -recent opened array. - - the #JsonBuilder, or %NULL if the call was inconsistent - - - - - the value of the member or element - - - - - - If called after json_builder_set_member_name(), sets null as member of the -most recent opened object, otherwise null is added as element of the most -recent opened array. - - the #JsonBuilder, or %NULL if the call was inconsistent - - - - - If called after json_builder_set_member_name(), sets @value as member of the -most recent opened object, otherwise @value is added as element of the most -recent opened array. - - the #JsonBuilder, or %NULL if the call was inconsistent - - - - - the value of the member or element - - - - - - If called after json_builder_set_member_name(), sets @node as member of the -most recent opened object, otherwise @node is added as element of the most -recent opened array. - - the #JsonBuilder, or %NULL if the call was inconsistent - - - - - the value of the member or element - - - - - - Opens a subarray inside the given @builder. When done adding members to -the subarray, json_builder_end_array() must be called. -Can be called for first or only if the call is associated to an object member -or an array element. - - the #JsonBuilder, or %NULL if the call was inconsistent - - - - - Opens a subobject inside the given @builder. When done adding members to -the subobject, json_builder_end_object() must be called. -Can be called for first or only if the call is associated to an object member -or an array element. - - the #JsonBuilder, or %NULL if the call was inconsistent - - - - - Closes the subarray inside the given @builder that was opened by the most -recent call to json_builder_begin_array(). -Cannot be called after json_builder_set_member_name(). - - the #JsonBuilder, or %NULL if the call was inconsistent - - - - - Closes the subobject inside the given @builder that was opened by the most -recent call to json_builder_begin_object(). -Cannot be called after json_builder_set_member_name(). - - the #JsonBuilder, or %NULL if the call was inconsistent - - - - - Returns the root of the current constructed tree, if the build is complete -(ie: all opened objects, object members and arrays are being closed). -Free the returned value with json_node_free(). - - the #JsonNode, or %NULL if the build is not complete. - - - - - Resets the state of the @builder back to its initial state. - - - - - - Set the name of the next member in an object. The next call must add a value, -open an object or an array. -Can be called only if the call is associated to an object. - - the #JsonBuilder, or %NULL if the call was inconsistent - - - - - the name of the member - - - - - - - - - - - - - The <structname>JsonBuilder</structname> structure contains only -private data - - - - - - - - - - - - - - - - - - - - - - JSON data streams generator. The contents of the #JsonGenerator structure -are private and should only be accessed via the provided API. - - Creates a new #JsonGenerator. You can use this object to generate a -JSON data stream starting from a data object model composed by -#JsonNode<!-- -->s. - - the newly created #JsonGenerator instance - - - - - Sets @node as the root of the JSON data stream to be serialized by -the #JsonGenerator. -<note>The node is copied by the generator object, so it can be safely -freed after calling this function.</note> - - - - - - a #JsonNode - - - - - - Generates a JSON data stream from @generator and returns it as a -buffer. -Use g_free() to free the allocated resources. - - a newly allocated buffer holding a JSON data stream. - - - - - return location for the length of the returned buffer, or %NULL - - - - - - Creates a JSON data stream and puts it inside @filename, overwriting the -current file contents. This operation is atomic. - - %TRUE if saving was successful. - - - - - path to the target file - - - - - - Outputs JSON data and streams it (synchronously) to @stream. -on failure. In case of error, the #GError will be filled accordingly - - %TRUE if the write operation was successful, and %FALSE - - - - - a #GOutputStream - - - - a #GCancellable, or %NULL - - - - - - Number of spaces to be used to indent when pretty printing. - - - - The character that should be used when indenting in pretty print. - - - - Whether the output should be "pretty-printed", with indentation and -newlines. The indentation level can be controlled by using the -JsonGenerator:indent property - - - - The root #JsonNode to be used when constructing a JSON data -stream. - - - - - - - - - - - #JsonGenerator class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A generic container of JSON data types. The contents of the #JsonNode -structure are private and should only be accessed via the provided -functions and never directly. - - Creates a new #JsonNode of @type. - - the newly created #JsonNode - - - - - a #JsonNodeType - - - - - - Copies @node. If the node contains complex data types then the reference -count of the objects is increased. - - the copied #JsonNode - - - - - - - - - - Retrieves the #JsonObject inside @node. The reference count of -the returned object is increased. - - the #JsonObject - - - - - Gets a copy of the string value stored inside a #JsonNode -of the #JsonNode contents. Use g_free() to free the allocated resources - - a newly allocated string containing a copy - - - - - Frees the resources allocated by @node. - - - - - - Retrieves the #JsonArray stored inside a #JsonNode - - the #JsonArray - - - - - Gets the boolean value stored inside a #JsonNode - - a boolean value. - - - - - Gets the double value stored inside a #JsonNode - - a double value. - - - - - Gets the integer value stored inside a #JsonNode - - an integer value. - - - - - Retrieves the #JsonNodeType of @node - - the type of the node - - - - - Retrieves the #JsonObject stored inside a #JsonNode - - the #JsonObject - - - - - Retrieves the parent #JsonNode of @node. - - the parent node, or %NULL if @node is the root node - - - - - Gets the string value stored inside a #JsonNode - - a string value. - - - - - Retrieves a value from a #JsonNode and copies into @value. When done -using it, call g_value_unset() on the #GValue. - - - - - - return location for an uninitialized value - - - - - - Returns the #GType of the payload of the node. - - a #GType for the payload. - - - - - Checks whether @node is a %JSON_NODE_NULL -<note>A null node is not the same as a %NULL #JsonNode</note> - - %TRUE if the node is null - - - - - Sets @array inside @node and increases the #JsonArray reference count - - - - - - a #JsonArray - - - - - - Sets @value as the boolean content of the @node, replacing any existing -content. - - - - - - a boolean value - - - - - - Sets @value as the double content of the @node, replacing any existing -content. - - - - - - a double value - - - - - - Sets @value as the integer content of the @node, replacing any existing -content. - - - - - - an integer value - - - - - - Sets @objects inside @node. The reference count of @object is increased. - - - - - - a #JsonObject - - - - - - Sets the parent #JsonNode of @node - - - - - - the parent #JsonNode of @node - - - - - - Sets @value as the string content of the @node, replacing any existing -content. - - - - - - a string value - - - - - - Sets @value inside @node. The passed #GValue is copied into the #JsonNode - - - - - - the #GValue to set - - - - - - Sets @array into @node without increasing the #JsonArray reference count. - - - - - - a #JsonArray - - - - - - Sets @object inside @node. The reference count of @object is not increased. - - - - - - a #JsonObject - - - - - - Retrieves the user readable name of the data type contained by @node. -is owned by the node and should never be modified or freed - - a string containing the name of the type. The returned string - - - - - - Indicates the content of a #JsonNode. - - - - - - - A JSON object type. The contents of the #JsonObject structure are private -and should only be accessed by the provided API - - Creates a new #JsonObject, an JSON object type representation. - - the newly created #JsonObject - - - - - Adds a member named @member_name and containing @node into a #JsonObject. -The object will take ownership of the #JsonNode. -This function will return if the @object already contains a member - - - - - - the name of the member - - - - the value of the member - - - - - - Retrieves a copy of the #JsonNode containing the value of @member_name -inside a #JsonObject -object member or %NULL. Use json_node_free() when done. - - (transfer full) a copy of the node for the requested - - - - - the name of the JSON object member to access - - - - - - Iterates over all members of @object and calls @func on -each one of them. -It is safe to change the value of a #JsonNode of the @object -from within the iterator @func, but it is not safe to add or -remove members from the @object. - - - - - - the function to be called on each member - - - - data to be passed to the function - - - - - - Convenience function that retrieves the array -stored in @member_name of @object - - the array inside the object's member - - - - - the name of the member - - - - - - Convenience function that retrieves the boolean value -stored in @member_name of @object - - the boolean value of the object's member - - - - - the name of the member - - - - - - Convenience function that retrieves the floating point value -stored in @member_name of @object - - the floating point value of the object's member - - - - - the name of the member - - - - - - Convenience function that retrieves the integer value -stored in @member_name of @object - - the integer value of the object's member - - - - - the name of the member - - - - - - Retrieves the #JsonNode containing the value of @member_name inside -a #JsonObject. -member, or %NULL - - a pointer to the node for the requested object - - - - - the name of the JSON object member to access - - - - - - Retrieves all the names of the members of a #JsonObject. You can -obtain the value for each member using json_object_get_member(). -of member names. The content of the list is owned by the #JsonObject -and should never be modified or freed. When you have finished using -the returned list, use g_list_free() to free the resources it has -allocated. - - a #GList - - - - - - - Convenience function that checks whether the value -stored in @member_name of @object is null - - %TRUE if the value is null - - - - - the name of the member - - - - - - Convenience function that retrieves the object -stored in @member_name of @object - - the object inside the object's member - - - - - the name of the member - - - - - - Retrieves the number of members of a #JsonObject. - - the number of members - - - - - Convenience function that retrieves the string value -stored in @member_name of @object - - the string value of the object's member - - - - - the name of the member - - - - - - Retrieves all the values of the members of a #JsonObject. -#JsonNode<!-- -->s. The content of the list is owned by the #JsonObject -and should never be modified or freed. When you have finished using the -returned list, use g_list_free() to free the resources it has allocated. - - a #GList of - - - - - - - Checks whether @object has a member named @member_name. - - %TRUE if the JSON object has the requested member - - - - - the name of a JSON object member - - - - - - Increase by one the reference count of a #JsonObject. -increased by one. - - the passed #JsonObject, with the reference count - - - - - Removes @member_name from @object, freeing its allocated resources. - - - - - - the name of the member to remove - - - - - - Convenience function for setting an array @value of -The @object will take ownership of the passed #JsonArray - - - - - - the name of the member - - - - the value of the member - - - - - - Convenience function for setting a boolean @value of - - - - - - the name of the member - - - - the value of the member - - - - - - Convenience function for setting a floating point @value -of @member_name inside @object. - - - - - - the name of the member - - - - the value of the member - - - - - - Convenience function for setting an integer @value of - - - - - - the name of the member - - - - the value of the member - - - - - - Sets @node as the value of @member_name inside @object. -If @object already contains a member called @member_name then -the member's current value is overwritten. Otherwise, a new -member is added to @object. - - - - - - the name of the member - - - - the value of the member - - - - - - Convenience function for setting a null @value of - - - - - - the name of the member - - - - - - Convenience function for setting an object @value of -The @object will take ownership of the passed #JsonObject - - - - - - the name of the member - - - - the value of the member - - - - - - Convenience function for setting a string @value of - - - - - - the name of the member - - - - the value of the member - - - - - - Decreases by one the reference count of a #JsonObject. If the -reference count reaches zero, the object is destroyed and all -its allocated resources are freed. - - - - - - - The function to be passed to json_object_foreach_member(). You -should not add or remove members to and from @object within -this function. It is safe to change the value of @member_node. - - - - - - the iterated #JsonObject - - - - the name of the member - - - - a #JsonNode containing the @member_name value - - - - data passed to the function - - - - - - JSON data streams parser. The contents of the #JsonParser structure are -private and should only be accessed via the provided API. - - Creates a new #JsonParser instance. You can use the #JsonParser to -load a JSON stream from either a file or a buffer and then walk the -hierarchy using the data types API. -to release all the memory it allocates. - - the newly created #JsonParser. Use g_object_unref() - - - - - - - - - - Retrieves the line currently parsed, starting from 1. -This function has defined behaviour only while parsing; calling this -function from outside the signal handlers emitted by #JsonParser will -yield 0. - - the currently parsed line, or 0. - - - - - Retrieves the current position inside the current line, starting -from 0. -This function has defined behaviour only while parsing; calling this -function from outside the signal handlers emitted by #JsonParser will -yield 0. - - the position in the current line, or 0. - - - - - Retrieves the top level node from the parsed JSON stream. -node is owned by the #JsonParser and should never be modified -or freed. - - the root #JsonNode . The returned - - - - - A JSON data stream might sometimes contain an assignment, like: -|[ -]| -even though it would technically constitute a violation of the RFC. -#JsonParser will ignore the left hand identifier and parse the right -hand value of the assignment. #JsonParser will record, though, the -existence of the assignment in the data stream and the variable name -used. -used in the assignment. The string is owned by #JsonParser and should -never be modified or freed. - - %TRUE if there was an assignment, %FALSE otherwise. If - - - - - Return location for the variable name, or %NULL - - - - - - Loads a JSON stream from a buffer and parses it. You can call this function -multiple times with the same #JsonParser object, but the contents of the -parser will be destroyed each time. -of error, @error is set accordingly and %FALSE is returned - - %TRUE if the buffer was succesfully parser. In case - - - - - the buffer to parse - - - - the length of the buffer, or -1 - - - - - - Loads a JSON stream from the content of @filename and parses it. See -json_parser_load_from_data(). -In case of error, @error is set accordingly and %FALSE is returned - - %TRUE if the file was successfully loaded and parsed. - - - - - the path for the file to parse - - - - - - Loads the contents of an input stream and parses them. -If @cancellable is not %NULL, then the operation can be cancelled by -triggering the @cancellable object from another thread. If the -operation was cancelled, the error %G_IO_ERROR_CANCELLED will be set -on the passed @error. -parsed, and %FALSE otherwise - - %TRUE if the data stream was successfully read and - - - - - an open #GInputStream - - - - a #GCancellable, or %NULL - - - - - - Asynchronously reads the contents of @stream. -For more details, see json_parser_load_from_stream() which is the -synchronous version of this call. -When the operation is finished, @callback will be called. You should -then call json_parser_load_from_stream_finish() to get the result -of the operation. - - - - - - a #GInputStream - - - - a #GCancellable, or %NULL - - - - a #GAsyncReadyCallback to call when the request is satisfied - - - - the data to pass to @callback - - - - - - Finishes an asynchronous stream loading started with -json_parser_load_from_stream_async(). -and parsed, and %FALSE otherwise. In case of error, the #GError will be -filled accordingly. - - %TRUE if the content of the stream was successfully retrieves - - - - - a #GAsyncResult - - - - - - - - - - - - The ::array-element signal is emitted each time the #JsonParser -has successfully parsed a single element of a #JsonArray. The -array and element index are passed to the signal handlers. - - - - - - a #JsonArray - - - - the index of the newly parsed element - - - - - - The ::array-end signal is emitted each time the #JsonParser -has successfully parsed an entire #JsonArray - - - - - - the parsed #JsonArray - - - - - - The ::array-start signal is emitted each time the #JsonParser -starts parsing a #JsonArray - - - - - - The ::error signal is emitted each time a #JsonParser encounters -an error in a JSON stream. - - - - - - a pointer to the #GError - - - - - - The ::object-end signal is emitted each time the #JsonParser -has successfully parsed an entire #JsonObject. - - - - - - the parsed #JsonObject - - - - - - The ::object-member signal is emitted each time the #JsonParser -has successfully parsed a single member of a #JsonObject. The -object and member are passed to the signal handlers. - - - - - - a #JsonObject - - - - the name of the newly parsed member - - - - - - The ::object-start signal is emitted each time the #JsonParser -starts parsing a #JsonObject. - - - - - - The ::parse-end signal is emitted when the parser successfully -finished parsing a JSON data stream - - - - - - The ::parse-start signal is emitted when the parser began parsing -a JSON data stream. - - - - - - - #JsonParser class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Error enumeration for #JsonParser -This enumeration can be extended at later date - - - - - - - - - - - The <structname>JsonReader</structname> structure contains only -private data and should only be accessed using the provided API - - Creates a new #JsonReader. You can use this object to read the contents of -the JSON tree starting from @node -release the allocated resources when done - - the newly created #JsonReader. Use g_object_unref() to - - - - - a #JsonNode, or %NULL - - - - - - - - - - - Counts the elements of the current position, if @reader is -positioned on an array -the #JsonReader is set in an error state - - the number of elements, or -1. In case of failure - - - - - Counts the members of the current position, if @reader is -positioned on an object -the #JsonReader is set in an error state - - the number of members, or -1. In case of failure - - - - - Moves the cursor back to the previous node after being positioned -inside an array -This function resets the error state of @reader, if any was set - - - - - - Moves the cursor back to the previous node after being positioned -inside an object -This function resets the error state of @reader, if any was set - - - - - - Retrieves the boolean value of the current position of @reader - - the boolean value - - - - - Retrieves the floating point value of the current position of @reader - - the floating point value - - - - - Retrieves the #GError currently set on @reader, if the #JsonReader -is in error state - - the pointer to the error, or %NULL - - - - - Retrieves the integer value of the current position of @reader - - the integer value - - - - - Checks whether the value of the current position of @reader is 'null' - - %TRUE if 'null' is set, and %FALSE otherwise - - - - - Retrieves the string value of the current position of @reader - - the string value - - - - - Retrieves the #JsonNode of the current position of @reader -is owned by the #JsonReader and it should not be modified or freed -directly - - a #JsonNode, or %NULL. The returned node - - - - - Checks whether the @reader is currently on an array -otherwise - - %TRUE if the #JsonReader is on an array, and %FALSE - - - - - Checks whether the @reader is currently on an object -otherwise - - %TRUE if the #JsonReader is on an object, and %FALSE - - - - - Checks whether the @reader is currently on a value -otherwise - - %TRUE if the #JsonReader is on a value, and %FALSE - - - - - Advances the cursor of @reader to the element @index_ of array at the -current position. -You can use the json_reader_get_value* family of functions to retrieve -the value of the element; for instance: -|[ -json_reader_read_element (reader, 0); -int_value = json_reader_get_int_value (reader); -]| -After reading the value, json_reader_end_element() should be called to -reposition the cursor inside the #JsonReader, e.g.: -|[ -json_reader_read_element (reader, 1); -str_value = json_reader_get_string_value (reader); -json_reader_end_element (reader); -json_reader_read_element (reader, 2); -str_value = json_reader_get_string_value (reader); -json_reader_end_element (reader); -]| -If @reader is not currently on an array, or if the @index_ is bigger than -the size of the array, the #JsonReader will be put in an error state until -json_reader_end_element() is called. - - %TRUE on success, and %FALSE otherwise - - - - - the index of the element - - - - - - Advances the cursor of @reader to the @member_name of the object at the -current position. -You can use the json_reader_get_value* family of functions to retrieve -the value of the member; for instance: -|[ -json_reader_read_member (reader, "width"); -width = json_reader_get_int_value (reader); -]| -After reading the value, json_reader_end_member() should be called to -reposition the cursor inside the #JsonReader, e.g.: -|[ -json_reader_read_member (reader, "author"); -author = json_reader_get_string_value (reader); -json_reader_end_element (reader); -json_reader_read_element (reader, "title"); -title = json_reader_get_string_value (reader); -json_reader_end_element (reader); -]| -If @reader is not currently on an object, or if the @member_name is not -defined in the object, the #JsonReader will be put in an error state until -json_reader_end_member() is called. - - %TRUE on success, and %FALSE otherwise - - - - - the name of the member to read - - - - - - Sets the root #JsonNode to be read by @reader. The @reader will take -a copy of @root -If another #JsonNode is currently set as root, it will be replaced. - - - - - - a #JsonNode - - - - - - The root of the JSON tree that the #JsonReader should read. - - - - - - - - - - - The <structname>JsonReaderClass</structname> structure contains only -private data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Error codes enumeration for #JsonReader errors - - - - - - - - - - Asks a #JsonSerializable implementation to deserialize the -property contained inside @property_node into @value. - - %TRUE if the property was successfully deserialized. - - - - - the name of the property - - - - a pointer to an uninitialized #GValue - - - - a #GParamSpec - - - - a #JsonNode containing the serialized property - - - - - - Asks a #JsonSerializable implementation to serialize a #GObject -property into a #JsonNode object. - - a #JsonNode containing the serialized property - - - - - the name of the property - - - - the value of the property - - - - a #GParamSpec - - - - - - Calls the default implementation of the #JsonSerializable -deserialize_property() virtual function -This function can be used inside a custom implementation -of the deserialize_property() virtual function in lieu of: -|[ -JsonSerializable *iface; -gboolean res; -iface = g_type_default_interface_peek (JSON_TYPE_SERIALIZABLE); -res = iface->deserialize_property (serializable, property_name, -value, -pspec, -property_node); -]| - - %TRUE if the property was successfully deserialized. - - - - - the name of the property - - - - a pointer to an uninitialized #GValue - - - - a #GParamSpec - - - - a #JsonNode containing the serialized property - - - - - - Calls the default implementation of the #JsonSerializable -serialize_property() virtual function -This function can be used inside a custom implementation -of the serialize_property() virtual function in lieu of: -|[ -JsonSerializable *iface; -JsonNode *node; -iface = g_type_default_interface_peek (JSON_TYPE_SERIALIZABLE); -node = iface->serialize_property (serializable, property_name, -value, -pspec); -]| -property - - a #JsonNode containing the serialized - - - - - the name of the property - - - - the value of the property - - - - a #GParamSpec - - - - - - Asks a #JsonSerializable implementation to deserialize the -property contained inside @property_node into @value. - - %TRUE if the property was successfully deserialized. - - - - - the name of the property - - - - a pointer to an uninitialized #GValue - - - - a #GParamSpec - - - - a #JsonNode containing the serialized property - - - - - - Asks a #JsonSerializable implementation to serialize a #GObject -property into a #JsonNode object. - - a #JsonNode containing the serialized property - - - - - the name of the property - - - - the value of the property - - - - a #GParamSpec - - - - - - - Interface that allows serializing and deserializing #GObject<!-- -->s -with properties storing complex data types. The json_serialize_gobject() -function will check if the passed #GObject implements this interface, -so it can also be used to override the default property serialization -sequence. - - - - - - - a #JsonNode containing the serialized property - - - - - - - - the name of the property - - - - the value of the property - - - - a #GParamSpec - - - - - - - - - %TRUE if the property was successfully deserialized. - - - - - - - - the name of the property - - - - a pointer to an uninitialized #GValue - - - - a #GParamSpec - - - - a #JsonNode containing the serialized property - - - - - - - - Checks whether it is possible to deserialize a #GBoxed of -type @gboxed_type from a #JsonNode of type @node_type - - %TRUE if the type can be deserialized, %FALSE otherwise - - - - - a boxed type - - - - a #JsonNode type - - - - - - Checks whether it is possible to serialize a #GBoxed of -type @gboxed_type into a #JsonNode. The type of the -#JsonNode is placed inside @node_type if the function -returns %TRUE and it's undefined otherwise. -and %FALSE otherwise. - - %TRUE if the type can be serialized, - - - - - a boxed type - - - - the #JsonNode type to which the boxed type can be serialized into - - - - - - Deserializes @node into a #GBoxed of @gboxed_type -g_boxed_free() to release the resources allocated by this -function - - the newly allocated #GBoxed. Use - - - - - a boxed type - - - - a #JsonNode - - - - - - Registers a deserialization function for a #GBoxed of type @gboxed_type -from a #JsonNode of type @node_type - - - - - - a boxed type - - - - a node type - - - - deserialization function for @boxed_type from a #JsonNode of type @node_type - - - - - - Registers a serialization function for a #GBoxed of type @gboxed_type -to a #JsonNode of type @node_type - - - - - - a boxed type - - - - a node type - - - - serialization function for @boxed_type into a #JsonNode of type @node_type - - - - - - Serializes @boxed, a pointer to a #GBoxed of type @gboxed_type, -into a #JsonNode -boxed type, or %NULL if serialization either failed or was not possible - - a #JsonNode with the serialization of the - - - - - a boxed type - - - - a pointer to a #GBoxed of type @gboxed_type - - - - - - Deserializes a JSON data stream and creates the corresponding -#GObject class. If @gtype implements the #JsonSerializableIface -interface, it will be asked to deserialize all the JSON members -into the respective properties; otherwise, the default implementation -will be used to translate the compatible JSON native types. - - a #GObject or %NULL - - - - - the #GType of object to construct - - - - a JSON data stream - - - - length of the data stream - - - - - - Creates a new #GObject of type @gtype, and constructs it -using the members of the passed #JsonObject -instance. Use g_object_unref() to free the resources -allocated by this function - - The newly created #GObject - - - - - the type of the #GObject to create - - - - a #JsonNode of type %JSON_NODE_OBJECT describing the instance of type @gtype - - - - - - Deserializes a JSON data stream and creates the corresponding -#GObject class. If @gtype implements the #JsonSerializableIface -interface, it will be asked to deserialize all the JSON members -into the respective properties; otherwise, the default implementation -will be used to translate the compatible JSON native types. - - a #GObject or %NULL - - - - - the #GType of object to construct - - - - a JSON data stream - - - - length of the data stream, or -1 if it is NUL-terminated - - - - - - Creates a #JsonNode representing the passed #GObject -instance. Each member of the returned JSON object will -map to a property of the #GObject -of type %JSON_NODE_OBJECT. Use json_node_free() to free -the resources allocated by this function - - the newly created #JsonNode - - - - - a #GObject - - - - - - Serializes a #GObject into a JSON data stream, iterating recursively -over each property. -If @gobject implements the #JsonSerializableIface interface, it will -be asked to serialize all its properties; otherwise, the default -implementation will be use to translate the compatible types into -JSON native types. - - a JSON data stream representing the passed #GObject - - - - - a #GObject - - - - return value for the length of the buffer, or %NULL - - - - - - Serializes a #GObject into a JSON data stream. If @gobject implements -the #JsonSerializableIface interface, it will be asked to serizalize all -its properties; otherwise, the default implementation will be use to -translate the compatible types into JSON native types. - - a JSON data stream representing the passed #GObject - - - - - a #GObject - - - - return value for the length of the buffer, or %NULL - - - - - - diff --git a/extra/clutter/json/ffi/ffi.factor b/extra/clutter/json/ffi/ffi.factor index 5a9d118f75..ea562c1f3d 100644 --- a/extra/clutter/json/ffi/ffi.factor +++ b/extra/clutter/json/ffi/ffi.factor @@ -19,5 +19,5 @@ LIBRARY: clutter.json } cond >> -GIR: vocab:clutter/json/Json-1.0.gir +GIR: Json-1.0.gir From f006b3482c5b7342820756828ba8f337e25be912 Mon Sep 17 00:00:00 2001 From: Anton Gorenko Date: Tue, 15 Mar 2011 23:01:18 +0600 Subject: [PATCH 5/6] gstreamer: remove all girs; --- extra/gstreamer/Gst-0.10.gir | 26303 ---------------- extra/gstreamer/base/GstBase-0.10.gir | 5989 ---- extra/gstreamer/base/ffi/ffi.factor | 2 +- .../controller/GstController-0.10.gir | 1160 - extra/gstreamer/controller/ffi/ffi.factor | 2 +- extra/gstreamer/ffi/ffi.factor | 2 +- extra/gstreamer/net/GstNet-0.10.gir | 299 - extra/gstreamer/net/ffi/ffi.factor | 2 +- 8 files changed, 4 insertions(+), 33755 deletions(-) delete mode 100644 extra/gstreamer/Gst-0.10.gir delete mode 100644 extra/gstreamer/base/GstBase-0.10.gir delete mode 100644 extra/gstreamer/controller/GstController-0.10.gir delete mode 100644 extra/gstreamer/net/GstNet-0.10.gir diff --git a/extra/gstreamer/Gst-0.10.gir b/extra/gstreamer/Gst-0.10.gir deleted file mode 100644 index 9c73cc1d0d..0000000000 --- a/extra/gstreamer/Gst-0.10.gir +++ /dev/null @@ -1,26303 +0,0 @@ - - - - - - - - - - - - A datatype to hold the handle to an outstanding sync or async clock callback. - - - - A datatype to hold a time, measured in nanoseconds. - - - - A datatype to hold a time difference, measured in nanoseconds. - - - - - - - The status of a GstPad. After activating a pad, which usually happens when the -parent element goes from READY to PAUSED, the GstActivateMode defines if the -pad operates in push or pull mode. - - - - - - The main tracing object - - - - - - - - - - - - - - - - Print the status of the given GstAllocTrace. - - - - - - Enable the given features on the given GstAllocTrace object. - - - - - - flags to set - - - - - - - Flags indicating which tracing feature to enable. - - - - - Flags for an association entry. - - - - - - - - - - - - - - - - The GstBin base class. Subclasses can access these fields provided -the LOCK is taken. - - - Creates a new bin with the given name. - - a new #GstBin - - - - - the name of the new bin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Adds the given element to the bin. Sets the element's parent, and thus -takes ownership of the element. An element can only be added to one bin. -If the element's pads are linked to other pads, the pads will be unlinked -before the element is added to the bin. -MT safe. -the bin does not want to accept the element. - - TRUE if the element could be added, FALSE if - - - - - the #GstElement to add - - - - - - Adds a NULL-terminated list of elements to a bin. This function is -equivalent to calling gst_bin_add() for each member of the list. The return -value of each gst_bin_add() is ignored. - - - - - - the #GstElement element to add to the bin - - - - - - - - - - Recursively looks for elements with an unlinked pad of the given -direction within the specified bin and returns an unlinked pad -if one is found, or NULL otherwise. If a pad is found, the caller -owns a reference to it and should use gst_object_unref() on the -pad when it is not needed any longer. - - unlinked pad of the given direction, or NULL. - - - - - whether to look for an unlinked source or sink pad - - - - - - Recursively looks for elements with an unlinked pad of the given -direction within the specified bin and returns an unlinked pad -if one is found, or NULL otherwise. If a pad is found, the caller -owns a reference to it and should use gst_object_unref() on the -pad when it is not needed any longer. - - unlinked pad of the given direction, or NULL. - - - - - whether to look for an unlinked source or sink pad - - - - - - Looks for an element inside the bin that implements the given -interface. If such an element is found, it returns the element. -You can cast this element to the given interface afterwards. If you want -all elements that implement the interface, use -gst_bin_iterate_all_by_interface(). This function recurses into child bins. -MT safe. Caller owns returned reference. - - A #GstElement inside the bin implementing the interface - - - - - the #GType of an interface - - - - - - Gets the element with the given name from a bin. This -function recurses into child bins. -Returns NULL if no element with the given name is found in the bin. -MT safe. Caller owns returned reference. - - the #GstElement with the given name, or NULL - - - - - the element name to search for - - - - - - Gets the element with the given name from this bin. If the -element is not found, a recursion is performed on the parent bin. -Returns NULL if: -- no element with the given name is found in the bin -MT safe. Caller owns returned reference. - - the #GstElement with the given name, or NULL - - - - - the element name to search for - - - - - - Looks for all elements inside the bin that implements the given -interface. You can safely cast all returned elements to the given interface. -The function recurses inside child bins. The iterator will yield a series -of #GstElement that should be unreffed after use. -Each element yielded by the iterator will have its refcount increased, so -unref after use. -MT safe. Caller owns returned value. -in the bin implementing the given interface, or NULL - - a #GstIterator of #GstElement for all elements - - - - - the #GType of an interface - - - - - - Gets an iterator for the elements in this bin. -Each element yielded by the iterator will have its refcount increased, so -unref after use. -MT safe. Caller owns returned value. - - a #GstIterator of #GstElement, or NULL - - - - - Gets an iterator for the elements in this bin. -This iterator recurses into GstBin children. -Each element yielded by the iterator will have its refcount increased, so -unref after use. -MT safe. Caller owns returned value. - - a #GstIterator of #GstElement, or NULL - - - - - Gets an iterator for all elements in the bin that have the -#GST_ELEMENT_IS_SINK flag set. -Each element yielded by the iterator will have its refcount increased, so -unref after use. -MT safe. Caller owns returned value. - - a #GstIterator of #GstElement, or NULL - - - - - Gets an iterator for the elements in this bin in topologically -sorted order. This means that the elements are returned from -the most downstream elements (sinks) to the sources. -This function is used internally to perform the state changes -of the bin elements and for clock selection. -Each element yielded by the iterator will have its refcount increased, so -unref after use. -MT safe. Caller owns returned value. - - a #GstIterator of #GstElement, or NULL - - - - - Gets an iterator for all elements in the bin that have the -#GST_ELEMENT_IS_SOURCE flag set. -Each element yielded by the iterator will have its refcount increased, so -unref after use. -MT safe. Caller owns returned value. - - a #GstIterator of #GstElement, or NULL - - - - - Query @bin for the current latency using and reconfigures this latency to all the -elements with a LATENCY event. -This method is typically called on the pipeline when a #GST_MESSAGE_LATENCY -is posted on the bus. -This function simply emits the 'do-latency' signal so any custom latency -calculations will be performed. - - %TRUE if the latency could be queried and reconfigured. - - - - - Removes the element from the bin, unparenting it as well. -Unparenting the element means that the element will be dereferenced, -so if the bin holds the only reference to the element, the element -will be freed in the process of removing it from the bin. If you -want the element to still exist after removing, you need to call -gst_object_ref() before removing it from the bin. -If the element's pads are linked to other pads, the pads will be unlinked -before the element is removed from the bin. -MT safe. -the bin does not want to remove the element. - - TRUE if the element could be removed, FALSE if - - - - - the #GstElement to remove - - - - - - Remove a list of elements from a bin. This function is equivalent -to calling gst_bin_remove() with each member of the list. - - - - - - the first #GstElement to remove from the bin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Will be emitted when the bin needs to perform latency calculations. This -signal is only emited for toplevel bins or when async-handling is -enabled. -Only one signal handler is invoked. If no signals are connected, the -default handler is invoked, which will query and distribute the lowest -possible latency to all sinks. -Connect to this signal if the default latency calculations are not -sufficient, like when you need different latencies for different sinks in -the same pipeline. - - - - - - Will be emitted after the element was added to the bin. - - - - - - the #GstElement that was added to the bin - - - - - - Will be emitted after the element was removed from the bin. - - - - - - the #GstElement that was removed from the bin - - - - - - - Subclasses can override the @add_element and @remove_element to -update the list of children in the bin. -The @handle_message method can be overridden to implement custom -message handling. @handle_message takes ownership of the message, just like -#gst_element_post_message. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GstBinFlags are a set of flags specific to bins. Most are set/used -internally. They can be checked using the GST_OBJECT_FLAG_IS_SET () macro, -and (un)set using GST_OBJECT_FLAG_SET () and GST_OBJECT_FLAG_UNSET (). - - - - - - The structure of a #GstBuffer. Use the associated macros to access the public -variables. - - Creates a newly allocated buffer without any data. -MT safe. - - the new #GstBuffer. - - - - - Creates a newly allocated buffer with data of the given size. -The buffer memory is not cleared. If the requested amount of -memory can't be allocated, the program will abort. Use -gst_buffer_try_new_and_alloc() if you want to handle this case -gracefully or have gotten the size to allocate from an untrusted -source such as a media stream. -Note that when @size == 0, the buffer data pointer will be NULL. -MT safe. - - the new #GstBuffer. - - - - - the size of the new buffer's data. - - - - - - Tries to create a newly allocated buffer with data of the given size. If -the requested amount of memory can't be allocated, NULL will be returned. -The buffer memory is not cleared. -Note that when @size == 0, the buffer data pointer will be NULL. -MT safe. -be allocated. - - a new #GstBuffer, or NULL if the memory couldn't - - - - - the size of the new buffer's data. - - - - - - Copies the metadata from @src into @dest. The data, size and mallocdata -fields are not copied. -all the metadata fields. -This function is typically called from a custom buffer copy function after -creating @dest and setting the data, size, mallocdata. - - - - - - a source #GstBuffer - - - - flags indicating what metadata fields should be copied. - - - - - - Creates a sub-buffer from @parent at @offset and @size. -This sub-buffer uses the actual memory space of the parent buffer. -This function will copy the offset and timestamp fields when the -offset is 0. If not, they will be set to #GST_CLOCK_TIME_NONE and -#GST_BUFFER_OFFSET_NONE. -If @offset equals 0 and @size equals the total size of @buffer, the -duration and offset end fields are also copied. If not they will be set -to #GST_CLOCK_TIME_NONE and #GST_BUFFER_OFFSET_NONE. -MT safe. -invalid. - - the new #GstBuffer or NULL if the arguments were - - - - - the offset into parent #GstBuffer at which the new sub-buffer begins. - - - - the size of the new #GstBuffer sub-buffer, in bytes. - - - - - - Gets the media type of the buffer. This can be NULL if there -is no media type attached to this buffer. -Returns NULL if there were no caps on this buffer. - - a reference to the #GstCaps. unref after usage. - - - - - Similar to gst_buffer_is_writable, but this only ensures that the -refcount of the buffer is 1, indicating that the caller is the sole -owner and can change the buffer metadata, such as caps and timestamps. - - TRUE if the metadata is writable. - - - - - Determines whether a gst_buffer_span() can be done without copying -the contents, that is, whether the data areas are contiguous sub-buffers of -the same buffer. -MT safe. -FALSE if a copy would be required. - - TRUE if the buffers are contiguous, - - - - - the second #GstBuffer. - - - - - - Create a new buffer that is the concatenation of the two source -buffers, and unrefs the original source buffers. -If the buffers point to contiguous areas of memory, the buffer -is created without copying the data. -This is a convenience function for C programmers. See also -gst_buffer_merge(), which does the same thing without -unreffing the input parameters. Language bindings without -explicit reference counting should not wrap this function. -the source buffers. - - the new #GstBuffer which is the concatenation of - - - - - the second source #GstBuffer. - - - - - - Similar to gst_buffer_make_writable, but does not ensure that the buffer -data array is writable. Instead, this just ensures that the returned buffer -is solely owned by the caller, by creating a subbuffer of the original -buffer if necessary. -After calling this function, @buf should not be referenced anymore. The -result of this function has guaranteed writable metadata. -may or may not be the same as @buf. - - a new #GstBuffer with writable metadata, which - - - - - Create a new buffer that is the concatenation of the two source -buffers. The original source buffers will not be modified or -unref'd. Make sure you unref the source buffers if they are not used -anymore afterwards. -If the buffers point to contiguous areas of memory, the buffer -is created without copying the data. -of the source buffers. - - the new #GstBuffer which is the concatenation - - - - - the second source #GstBuffer to merge. - - - - - - Sets the media type on the buffer. The refcount of the caps will -be increased and any previous caps on the buffer will be -unreffed. - - - - - - a #GstCaps. - - - - - - Creates a new buffer that consists of part of buf1 and buf2. -Logically, buf1 and buf2 are concatenated into a single larger -buffer, and a new buffer is created at the given offset inside -this space, with a given length. -If the two source buffers are children of the same larger buffer, -and are contiguous, the new buffer will be a child of the shared -parent, and thus no copying is necessary. you can use -gst_buffer_is_span_fast() to determine if a memcpy will be needed. -MT safe. -buffers, or NULL if the arguments are invalid. - - the new #GstBuffer that spans the two source - - - - - the offset in the first buffer from where the new buffer should start. - - - - the second source #GstBuffer to merge. - - - - the total length of the new buffer. - - - - - - Copies additional information (the timestamp, duration, and offset start -and end) from one buffer to the other. -This function does not copy any buffer flags or caps and is equivalent to -gst_buffer_copy_metadata(@dest, @src, GST_BUFFER_COPY_TIMESTAMPS). -control. - - - - - - buffer to stamp from - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A set of flags that can be provided to the gst_buffer_copy_metadata() -function to specify which metadata fields should be copied. - - - - - - A set of buffer flags used to describe properties of a #GstBuffer. - - - - - - - - - - - - - Opaque list of grouped buffers. - - Creates a new, empty #GstBufferList. The caller is responsible for unreffing -the returned #GstBufferList. -after usage. - - the new #GstBufferList. gst_buffer_list_unref() - - - - - Call @func with @data for each buffer in @list. -of @func define if this function returns or if the remaining buffers in a -group should be skipped. - - - - - - a #GstBufferListFunc to call - - - - user data passed to @func - - - - - - Get the buffer at @idx in @group. -Note that this function is not efficient for iterating over the entire list. -Use an iterator or gst_buffer_list_foreach() instead. -is no buffer. The buffer remains valid as long as @list is valid. - - the buffer at @idx in @group or NULL when there - - - - - the group - - - - the index in @group - - - - - - Iterate the buffers in @list. The owner of the iterator must also be the -owner of a reference to @list while the returned iterator is in use. - - a new #GstBufferListIterator of the buffers in - - - - - Returns the number of groups in @list. - - the number of groups in the buffer list - - - - - - - - A function for accessing the last buffer returned by -gst_buffer_list_iterator_next(). The function can leave @buffer in the list, -replace @buffer in the list or remove @buffer from the list, depending on -the return value. If the function returns NULL, @buffer will be removed from -the list, otherwise @buffer will be replaced with the returned buffer. -The last buffer returned by gst_buffer_list_iterator_next() will be replaced -with the buffer returned from the function. The function takes ownership of -unreffed. If NULL is returned, the buffer will be removed from the list. The -list must be writable. -to remove @buffer from the list - - the buffer to replace @buffer in the list, or NULL - - - - - the #GstBuffer - - - - user data - - - - - - A function that will be called from gst_buffer_list_foreach(). The @buffer -field will point to a the reference of the buffer at @idx in @group. -When this function returns #GST_BUFFER_LIST_CONTINUE, the next buffer will be -returned. When #GST_BUFFER_LIST_SKIP_GROUP is returned, all remaining buffers -in the current group will be skipped and the first buffer of the next group -is returned (if any). When GST_BUFFER_LIST_END is returned, -gst_buffer_list_foreach() will return. -When @buffer is set to NULL, the item will be removed from the bufferlist. -When @buffer has been made writable, the new buffer reference can be assigned -to @buffer. This function is responsible for unreffing the old buffer when -removing or modifying. - - a #GstBufferListItem - - - - - pointer the buffer - - - - the group index of @buffer - - - - the index in @group of @buffer - - - - user data passed to gst_buffer_list_foreach() - - - - - - The result of the #GstBufferListFunc. - - - - - - Opaque iterator for a #GstBufferList. - - Inserts @buffer into the #GstBufferList iterated with @it. The buffer is -inserted into the current group, immediately before the buffer that would be -returned by gst_buffer_list_iterator_next(). The buffer is inserted before -the implicit cursor, a subsequent call to gst_buffer_list_iterator_next() -will return the buffer after the inserted buffer, if any. -This function takes ownership of @buffer. - - - - - - a #GstBuffer - - - - - - Inserts a new, empty group into the #GstBufferList iterated with @it. The -group is inserted immediately before the group that would be returned by -gst_buffer_list_iterator_next_group(). A subsequent call to -gst_buffer_list_iterator_next_group() will advance the iterator to the group -after the inserted group, if any. - - - - - - Inserts @list of buffers into the #GstBufferList iterated with @it. The list is -inserted into the current group, immediately before the buffer that would be -returned by gst_buffer_list_iterator_next(). The list is inserted before -the implicit cursor, a subsequent call to gst_buffer_list_iterator_next() -will return the buffer after the last buffer of the inserted list, if any. -This function takes ownership of @list and all its buffers. - - - - - - a #GList of buffers - - - - - - - - Calls the given function for the last buffer returned by -gst_buffer_list_iterator_next(). gst_buffer_list_iterator_next() must have -been called on @it before this function is called. -gst_buffer_list_iterator_remove() and gst_buffer_list_iterator_steal() must -not have been called since the last call to gst_buffer_list_iterator_next(). -See #GstBufferListDoFunction for more details. - - the return value from @do_func - - - - - the function to be called - - - - the gpointer to optional user data. - - - - - - Free the iterator. - - - - - - Merge a buffer list group into a normal #GstBuffer by copying its metadata -and memcpying its data into consecutive memory. All buffers in the current -group after the implicit cursor will be merged into one new buffer. The -metadata of the new buffer will be a copy of the metadata of the buffer that -would be returned by gst_buffer_list_iterator_next(). If there is no buffer -in the current group after the implicit cursor, NULL will be returned. -This function will not move the implicit cursor or in any other way affect -the state of the iterator @it or the list. -or NULL - - a new #GstBuffer, gst_buffer_unref() after usage, - - - - - Returns the number of buffers left to iterate in the current group. I.e. the -number of calls that can be made to gst_buffer_list_iterator_next() before -it returns NULL. -This function will not move the implicit cursor or in any other way affect -the state of the iterator @it. - - the number of buffers left to iterate in the current group - - - - - Returns the next buffer in the list iterated with @it. If the iterator is at -the end of a group, NULL will be returned. This function may be called -repeatedly to iterate through the current group. -The caller will not get a new ref to the returned #GstBuffer and must not -unref it. -buffer list, or NULL - - the next buffer in the current group of the - - - - - Advance the iterator @it to the first buffer in the next group. If the -iterator is at the last group, FALSE will be returned. This function may be -called repeatedly to iterate through the groups in a buffer list. -the iterator was already at the last group - - TRUE if the iterator could be advanced to the next group, FALSE if - - - - - Removes the last buffer returned by gst_buffer_list_iterator_next() from -the #GstBufferList iterated with @it. gst_buffer_list_iterator_next() must -have been called on @it before this function is called. This function can -only be called once per call to gst_buffer_list_iterator_next(). -The removed buffer is unreffed. - - - - - - Returns the last buffer returned by gst_buffer_list_iterator_next() without -modifying the refcount of the buffer. -gst_buffer_list_iterator_next() - - the last buffer returned by - - - - - Replaces the last buffer returned by gst_buffer_list_iterator_next() with -this function is called. gst_buffer_list_iterator_remove() must not have been -called since the last call to gst_buffer_list_iterator_next(). -This function unrefs the replaced buffer if it has not been stolen with -gst_buffer_list_iterator_steal() and takes ownership of @buffer (i.e. the -refcount of @buffer is not increased). - - - - - - a #GstBuffer - - - - - - - The different types of buffering methods. - - - - - - - The opaque #GstBus data structure. - - Creates a new #GstBus instance. - - a new #GstBus instance - - - - - Adds a bus signal watch to the default main context with the default priority -(%G_PRIORITY_DEFAULT). -After calling this statement, the bus will emit the "message" signal for each -message posted on the bus. -This function may be called multiple times. To clean up, the caller is -responsible for calling gst_bus_remove_signal_watch() as many times as this -function is called. -MT safe. - - - - - - Adds a bus signal watch to the default main context with the given @priority -(e.g. %G_PRIORITY_DEFAULT). -After calling this statement, the bus will emit the "message" signal for each -message posted on the bus when the main loop is running. -This function may be called multiple times. To clean up, the caller is -responsible for calling gst_bus_remove_signal_watch() as many times as this -function is called. -There can only be a single bus watch per bus, you most remove all signal watch -before you can set another type of watch. -MT safe. - - - - - - The priority of the watch. - - - - - - Adds a bus watch to the default main context with the default priority -(%G_PRIORITY_DEFAULT). -This function is used to receive asynchronous messages in the main loop. -There can only be a single bus watch per bus, you must remove it before you -can set a new one. -The watch can be removed using g_source_remove() or by returning FALSE -from @func. -MT safe. - - The event source id. - - - - - A function to call when a message is received. - - - - user data passed to @func. - - - - - - Adds a bus watch to the default main context with the given @priority (e.g. -%G_PRIORITY_DEFAULT). -This function is used to receive asynchronous messages in the main loop. -There can only be a single bus watch per bus, you must remove it before you -can set a new one. -When @func is called, the message belongs to the caller; if you want to -keep a copy of it, call gst_message_ref() before leaving @func. -The watch can be removed using g_source_remove() or by returning FALSE -from @func. -MT safe. - - The event source id. - - - - - The priority of the watch. - - - - A function to call when a message is received. - - - - user data passed to @func. - - - - the function to call when the source is removed. - - - - - - A helper #GstBusFunc that can be used to convert all asynchronous messages -into signals. - - TRUE - - - - - the #GstMessage received - - - - user data - - - - - - Create watch for this bus. The GSource will be dispatched whenever -a message is on the bus. After the GSource is dispatched, the -message is popped off the bus and unreffed. - - a #GSource that can be added to a mainloop. - - - - - Instructs GStreamer to stop emitting the "sync-message" signal for this bus. -See gst_bus_enable_sync_message_emission() for more information. -In the event that multiple pieces of code have called -gst_bus_enable_sync_message_emission(), the sync-message emissions will only -be stopped after all calls to gst_bus_enable_sync_message_emission() were -"cancelled" by calling this function. In this way the semantics are exactly -the same as gst_object_ref() that which calls enable should also call -disable. -MT safe. - - - - - - Instructs GStreamer to emit the "sync-message" signal after running the bus's -sync handler. This function is here so that code can ensure that they can -synchronously receive messages without having to affect what the bin's sync -handler is. -This function may be called multiple times. To clean up, the caller is -responsible for calling gst_bus_disable_sync_message_emission() as many times -as this function is called. -While this function looks similar to gst_bus_add_signal_watch(), it is not -exactly the same -- this function enables <emphasis>synchronous</emphasis> emission of -signals when messages arrive; gst_bus_add_signal_watch() adds an idle callback -to pop messages off the bus <emphasis>asynchronously</emphasis>. The sync-message signal -comes from the thread of whatever object posted the message; the "message" -signal is marshalled to the main thread via the main loop. -MT safe. - - - - - - Check if there are pending messages on the bus that -should be handled. -otherwise. -MT safe. - - TRUE if there are messages on the bus to be handled, FALSE - - - - - Peek the message on the top of the bus' queue. The message will remain -on the bus' message queue. A reference is returned, and needs to be unreffed -by the caller. -bus is empty. -MT safe. - - the #GstMessage that is on the bus, or NULL if the - - - - - Poll the bus for messages. Will block while waiting for messages to come. -You can specify a maximum time to poll with the @timeout parameter. If -All messages not in @events will be popped off the bus and will be ignored. -Because poll is implemented using the "message" signal enabled by -gst_bus_add_signal_watch(), calling gst_bus_poll() will cause the "message" -signal to be emitted for every message that poll sees. Thus a "message" -signal handler will see the same messages that this function sees -- neither -will steal messages from the other. -This function will run a main loop from the default main context when -polling. -You should never use this function, since it is pure evil. This is -especially true for GUI applications based on Gtk+ or Qt, but also for any -other non-trivial application that uses the GLib main loop. As this function -runs a GLib main loop, any callback attached to the default GLib main -context may be invoked. This could be timeouts, GUI events, I/O events etc.; -even if gst_bus_poll() is called with a 0 timeout. Any of these callbacks -may do things you do not expect, e.g. destroy the main application window or -some other resource; change other application state; display a dialog and -run another main loop until the user clicks it away. In short, using this -function may add a lot of complexity to your code through unexpected -re-entrancy and unexpected changes to your application's state. -For 0 timeouts use gst_bus_pop_filtered() instead of this function; for -other short timeouts use gst_bus_timed_pop_filtered(); everything else is -better handled by setting up an asynchronous bus watch and doing things -from there. -poll timed out. The message is taken from the bus and needs to be -unreffed with gst_message_unref() after usage. - - the message that was received, or NULL if the - - - - - a mask of #GstMessageType, representing the set of message types to poll for. - - - - the poll timeout, as a #GstClockTimeDiff, or -1 to poll indefinitely. - - - - - - Get a message from the bus. -bus is empty. The message is taken from the bus and needs to be unreffed -with gst_message_unref() after usage. -MT safe. - - the #GstMessage that is on the bus, or NULL if the - - - - - Get a message matching @type from the bus. Will discard all messages on -the bus that do not match @type and that have been posted before the first -message that does match @type. If there is no message matching @type on -the bus, all messages will be discarded. -the bus, or NULL if the bus is empty or there is no message matching -gst_message_unref() after usage. -MT safe. - - the next #GstMessage matching @type that is on - - - - - message types to take into account - - - - - - Post a message on the given bus. Ownership of the message -is taken by the bus. -MT safe. - - TRUE if the message could be posted, FALSE if the bus is flushing. - - - - - the #GstMessage to post - - - - - - Removes a signal watch previously added with gst_bus_add_signal_watch(). -MT safe. - - - - - - If @flushing, flush out and unref any messages queued in the bus. Releases -references to the message origin objects. Will flush future messages until -gst_bus_set_flushing() sets @flushing to #FALSE. -MT safe. - - - - - - whether or not to flush the bus - - - - - - Sets the synchronous handler on the bus. The function will be called -every time a new message is posted on the bus. Note that the function -will be called in the same thread context as the posting object. This -function is usually only called by the creator of the bus. Applications -should handle messages asynchronously using the gst_bus watch and poll -functions. -You cannot replace an existing sync_handler. You can pass NULL to this -function, which will clear the existing handler. - - - - - - The handler function to install - - - - User data that will be sent to the handler function. - - - - - - A helper GstBusSyncHandler that can be used to convert all synchronous -messages into signals. - - GST_BUS_PASS - - - - - the #GstMessage received - - - - user data - - - - - - Get a message from the bus, waiting up to the specified timeout. -If @timeout is 0, this function behaves like gst_bus_pop(). If @timeout is -#GST_CLOCK_TIME_NONE, this function will block forever until a message was -posted on the bus. -specified timeout or NULL if the bus is empty after the timeout expired. -The message is taken from the bus and needs to be unreffed with -gst_message_unref() after usage. -MT safe. - - the #GstMessage that is on the bus after the - - - - - a timeout - - - - - - Get a message from the bus whose type matches the message type mask @types, -waiting up to the specified timeout (and discarding any messages that do not -match the mask provided). -If @timeout is 0, this function behaves like gst_bus_pop_filtered(). If -matching message was posted on the bus. -or NULL if no matching message was found on the bus until the timeout -expired. The message is taken from the bus and needs to be unreffed -with gst_message_unref() after usage. -MT safe. - - a #GstMessage matching the filter in @types, - - - - - a timeout in nanoseconds, or GST_CLOCK_TIME_NONE to wait forever - - - - message types to take into account, GST_MESSAGE_ANY for any type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A message has been posted on the bus. This signal is emitted from a -GSource added to the mainloop. this signal will only be emitted when -there is a mainloop running. - - - - - - the message that has been posted asynchronously - - - - - - A message has been posted on the bus. This signal is emitted from the -thread that posted the message so one has to be careful with locking. -This signal will not be emitted by default, you have to set up -gst_bus_sync_signal_handler() as a sync handler if you want this -signal to be emitted when a message is posted on the bus, like this: -<programlisting> -gst_bus_set_sync_handler (bus, gst_bus_sync_signal_handler, yourdata); -</programlisting> - - - - - - the message that has been posted synchronously - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The standard flags that a bus may have. - - - - - Specifies the type of function passed to gst_bus_add_watch() or -gst_bus_add_watch_full(), which is called from the mainloop when a message -is available on the bus. -The message passed to the function will be unreffed after execution of this -function so it should not be freed in the function. -Note that this function is used as a GSourceFunc which means that returning -FALSE will remove the GSource from the mainloop. - - %FALSE if the event source should be removed. - - - - - the #GstBus that sent the message - - - - the #GstMessage - - - - user data that has been given, when registering the handler - - - - - - - - Handler will be invoked synchronously, when a new message has been injected -into the bus. This function is mostly used internally. Only one sync handler -can be attached to a given bus. -If the handler returns GST_BUS_DROP, it should unref the message, else the -message should not be unreffed by the sync handler. - - #GstBusSyncReply stating what to do with the message - - - - - the #GstBus that sent the message - - - - the #GstMessage - - - - user data that has been given, when registering the handler - - - - - - The result values for a GstBusSyncHandler. - - - - - - - - - - - - - - - Object describing media types. - - - - - - - - - - - - - - - - - - - - - Creates a new #GstCaps that indicates that it is compatible with -any media format. - - the new #GstCaps - - - - - Creates a new #GstCaps that is empty. That is, the returned -#GstCaps contains no media formats. -Caller is responsible for unreffing the returned caps. - - the new #GstCaps - - - - - Creates a new #GstCaps and adds all the structures listed as -arguments. The list must be NULL-terminated. The structures -are not copied; the returned #GstCaps owns the structures. - - the new #GstCaps - - - - - the first structure to add - - - - - - - - - - Creates a new #GstCaps and adds all the structures listed as -arguments. The list must be NULL-terminated. The structures -are not copied; the returned #GstCaps owns the structures. - - the new #GstCaps - - - - - the first structure to add - - - - additional structures to add - - - - - - Creates a new #GstCaps that contains one #GstStructure. The -structure is defined by the arguments, which have the same format -as gst_structure_new(). -Caller is responsible for unreffing the returned caps. - - the new #GstCaps - - - - - the media type of the structure - - - - first field to set - - - - - - - - - - Appends the structures contained in @caps2 to @caps1. The structures in -freed. If either caps is ANY, the resulting caps will be ANY. - - - - - - the #GstCaps to append - - - - - - Appends @structure to @caps. The structure is not copied; @caps -becomes the owner of @structure. - - - - - - the #GstStructure to append - - - - - - Tries intersecting @caps1 and @caps2 and reports whether the result would not -be empty - - %TRUE if intersection would be not empty - - - - - a #GstCaps to intersect - - - - - - Creates a new #GstCaps as a copy of the old @caps. The new caps will have a -refcount of 1, owned by the caller. The structures are copied as well. -Note that this function is the semantic equivalent of a gst_caps_ref() -followed by a gst_caps_make_writable(). If you only want to hold on to a -reference to the data, you should use gst_caps_ref(). -When you are finished with the caps, call gst_caps_unref() on it. - - the new #GstCaps - - - - - Creates a new #GstCaps and appends a copy of the nth structure -contained in @caps. - - the new #GstCaps - - - - - the nth structure to copy - - - - - - Modifies the given @caps inplace into a representation that represents the -same set of formats, but in a simpler form. Component structures that are -identical are merged. Component structures that have values that can be -merged are also merged. - - TRUE, if the caps could be simplified - - - - - Gets the number of structures contained in @caps. - - the number of structures that @caps contains - - - - - Finds the structure in @caps that has the index @index, and -returns it. -non-const GstStructure *. This is for programming convenience -- -the caller should be aware that structures inside a constant -#GstCaps should not be modified. However, if you know the caps -are writable, either because you have just copied them or made -them writable with gst_caps_make_writable(), you may modify the -structure returned in the usual way, e.g. with functions like -gst_structure_set(). -You do not need to free or unref the structure returned, it -belongs to the #GstCaps. -to @index - - a pointer to the #GstStructure corresponding - - - - - the index of the structure - - - - - - Creates a new #GstCaps that contains all the formats that are common -to both @caps1 and @caps2. - - the new #GstCaps - - - - - a #GstCaps to intersect - - - - - - A given #GstCaps structure is always compatible with another if -every media format that is in the first is also contained in the -second. That is, @caps1 is a subset of @caps2. - - TRUE if @caps1 is a subset of @caps2. - - - - - the #GstCaps to test - - - - - - Determines if @caps represents any media format. - - TRUE if @caps represents any format. - - - - - Determines if @caps represents no media formats. - - TRUE if @caps represents no formats. - - - - - Checks if the given caps represent the same set of caps. -<note>This function does not work reliably if optional properties for caps -are included on one caps and omitted on the other.</note> -This function deals correctly with passing NULL for any of the caps. - - TRUE if both caps are equal. - - - - - another #GstCaps - - - - - - Tests if two #GstCaps are equal. This function only works on fixed -#GstCaps. - - TRUE if the arguments represent the same format - - - - - the #GstCaps to test - - - - - - Fixed #GstCaps describe exactly one format, that is, they have exactly -one structure, and each field in the structure describes a fixed type. -Examples of non-fixed types are GST_TYPE_INT_RANGE and GST_TYPE_LIST. - - TRUE if @caps is fixed - - - - - Checks if all caps represented by @subset are also represented by @superset. -<note>This function does not work reliably if optional properties for caps -are included on one caps and omitted on the other.</note> - - %TRUE if @subset is a subset of @superset - - - - - a potentially greater #GstCaps - - - - - - Returns a writable copy of @caps. -If there is only one reference count on @caps, the caller must be the owner, -and so this function will return the caps object unchanged. If on the other -hand there is more than one reference on the object, a new caps object will -be returned. The caller's reference on @caps will be removed, and instead the -caller will own a reference to the returned object. -In short, this function unrefs the caps in the argument and refs the caps -that it returns. Don't access the argument after calling this function. See - - the same #GstCaps object. - - - - - Appends the structures contained in @caps2 to @caps1 if they are not yet -expressed by @caps1. The structures in @caps2 are not copied -- they are -transferred to @caps1, and then @caps2 is freed. -If either caps is ANY, the resulting caps will be ANY. - - - - - - the #GstCaps to merge in - - - - - - Appends @structure to @caps if its not already expressed by @caps. The -structure is not copied; @caps becomes the owner of @structure. - - - - - - the #GstStructure to merge - - - - - - Creates a new #GstCaps that represents the same set of formats as - - the new #GstCaps - - - - - Add a reference to a #GstCaps object. -From this point on, until the caller calls gst_caps_unref() or -gst_caps_make_writable(), it is guaranteed that the caps object will not -change. This means its structures won't change, etc. To use a #GstCaps -object, you must always have a refcount on it -- either the one made -implicitly by e.g. gst_caps_new_simple(), or via taking one explicitly with -this function. - - the same #GstCaps object. - - - - - removes the stucture with the given index from the list of structures -contained in @caps. - - - - - - Index of the structure to remove - - - - - - Serializes a #GstCaps to XML and adds it as a child node of @parent. - - a XML node pointer - - - - - a XML parent node - - - - - - Sets fields in a #GstCaps. The arguments must be passed in the same -manner as gst_structure_set(), and be NULL-terminated. -<note>Prior to GStreamer version 0.10.26, this function failed when -of GStreamer, you may only call this function when GST_CAPS_IS_SIMPLE() -is %TRUE for @caps.</note> - - - - - - first field to set - - - - - - - - - - Sets fields in a #GstCaps. The arguments must be passed in the same -manner as gst_structure_set(), and be NULL-terminated. -<note>Prior to GStreamer version 0.10.26, this function failed when -of GStreamer, you may only call this function when GST_CAPS_IS_SIMPLE() -is %TRUE for @caps.</note> - - - - - - first field to set - - - - additional parameters - - - - - - Sets the given @field on all structures of @caps to the given @value. -This is a convenience function for calling gst_structure_set_value() on -all structures of @caps. - - - - - - name of the field to set - - - - value to set the field to - - - - - - Retrieves the stucture with the given index from the list of structures -contained in @caps. The caller becomes the owner of the returned structure. -to @index. - - a pointer to the #GstStructure corresponding - - - - - Index of the structure to retrieve - - - - - - Subtracts the @subtrahend from the @minuend. -<note>This function does not work reliably if optional properties for caps -are included on one caps and omitted on the other.</note> - - the resulting caps - - - - - #GstCaps to substract - - - - - - Converts @caps to a string representation. This string representation -can be converted back to a #GstCaps by gst_caps_from_string(). -For debugging purposes its easier to do something like this: -|[ -GST_LOG ("caps are %" GST_PTR_FORMAT, caps); -]| -This prints the caps in human readble form. - - a newly allocated string representing @caps. - - - - - Destructively discard all but the first structure from @caps. Useful when -fixating. @caps must be writable. - - - - - - Creates a new #GstCaps that contains all the formats that are in -either @caps1 and @caps2. - - the new #GstCaps - - - - - a #GstCaps to union - - - - - - Unref a #GstCaps and and free all its structures and the -structures' values when the refcount reaches 0. - - - - - - - Extra flags for a caps. - - - - Opaque #GstChildProxy data structure. - - - Fetches a child by its number. -too high). Unref after usage. -MT safe. - - the child object or %NULL if not found (index - - - - - the childs position in the child list - - - - - - Gets the number of child objects this parent contains. -MT safe. - - the number of child objects - - - - - Fetches a child by its number. -too high). Unref after usage. -MT safe. - - the child object or %NULL if not found (index - - - - - the childs position in the child list - - - - - - Looks up a child element by the given name. -Implementors can use #GstObject together with gst_object_get_name() -after usage. -MT safe. - - the child object or %NULL if not found. Unref - - - - - the childs name - - - - - - Gets the number of child objects this parent contains. -MT safe. - - the number of child objects - - - - - - - - - - - - - - - - - - - - - - - - - - #GstChildProxy interface. - - - - - - - the child object or %NULL if not found (index - - - - - - - - the childs position in the child list - - - - - - - - - the number of child objects - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #GstClock base structure. The values of this structure are -protected for subclasses, use the methods to use the #GstClock. - - - - - - - - - - - - - - - - - - - - - - - - - Increase the refcount of given @id. -MT safe. - - The same #GstClockID with increased refcount. - - - - - The #GstClockID to ref - - - - - - Unref given @id. When the refcount reaches 0 the -#GstClockID will be freed. -MT safe. - - - - - - The #GstClockID to unref - - - - - - Cancel an outstanding request with @id. This can either -be an outstanding async notification or a pending sync notification. -After this call, @id cannot be used anymore to receive sync or -async notifications, you need to create a new #GstClockID. -MT safe. - - - - - - The id to unschedule - - - - - - - - - - - - - - - - - - - Register a callback on the given #GstClockID @id with the given -function and user_data. When passing a #GstClockID with an invalid -time to this function, the callback will be called immediately -with a time set to GST_CLOCK_TIME_NONE. The callback will -be called when the time of @id has been reached. -The callback @func can be invoked from any thread, either provided by the -core or from a streaming thread. The application should be prepared for this. -MT safe. - - the result of the non blocking wait. - - - - - a #GstClockID to wait on - - - - The callback function - - - - User data passed in the callback - - - - - - Register a callback on the given #GstClockID @id with the given -function and user_data. When passing a #GstClockID with an invalid -time to this function, the callback will be called immediately -with a time set to GST_CLOCK_TIME_NONE. The callback will -be called when the time of @id has been reached. -The callback @func can be invoked from any thread, either provided by the -core or from a streaming thread. The application should be prepared for this. -MT safe. - - the result of the non blocking wait. - - - - - a #GstClockID to wait on - - - - The callback function - - - - User data passed in the callback - - - - #GDestroyNotify for user_data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get the master clock that @clock is slaved to or %NULL when the clock is -not slaved to any master clock. -not slaved to a master clock. Unref after usage. -MT safe. - - a master #GstClock or %NULL when this clock is - - - - - - - - - - - - - - - Get an ID from @clock to trigger a periodic notification. -The periodic notifications will start at time @start_time and -will then be fired with the given @interval. @id should be unreffed -after usage. -time notification. -MT safe. - - a #GstClockID that can be used to request the - - - - - the requested start time - - - - the requested interval - - - - - - Get a #GstClockID from @clock to trigger a single shot -notification at the requested time. The single shot id should be -unreffed after usage. -time notification. -MT safe. - - a #GstClockID that can be used to request the - - - - - the requested time - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Reinitializes the provided single shot @id to the provided time. Does not -modify the reference count. - - %TRUE if the GstClockID could be reinitialized to the provided - - - - - a #GstClockID - - - - The requested time. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The function prototype of the callback. - - %TRUE or %FALSE (currently unused) - - - - - The clock that triggered the callback - - - - The time it was triggered - - - - The #GstClockID that expired - - - - user data passed in the gst_clock_id_wait_async() function - - - - - - GStreamer clock class. Override the vmethods to implement the clock -functionality. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - All pending timeouts or periodic notifies are converted into -an entry. -Note that GstClockEntry should be treated as an opaque structure. It must -not be extended or allocated using a custom allocator. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The type of the clock entry - - - - - The capabilities of this clock - - - - - - - - - - - - The return value of a clock operation. - - - - - - - - - - - The different kind of clocks. - - - - - A function to create a copy of some object or -increase its reference count. - - a copy of the object or the same object with increased reference count - - - - - The object to copy - - - - - - Core errors are errors inside the core GStreamer library. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Opaque, immutable, refcounted struct that stores date, time and timezone -information. It currently supports ranges from 0001-01-01 to -9999-12-31 in the Gregorian proleptic calendar. -Use the acessor functions to get the stored values. - - Creates a new #GstDateTime using the date and times in the gregorian calendar -in the supplied timezone. -1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59. -Note that @tzoffset is a float and was chosen so for being able to handle -some fractional timezones, while it still keeps the readability of -represeting it in hours for most timezones. - - the newly created #GstDateTime - - - - - Offset from UTC in hours. - - - - the gregorian year - - - - the gregorian month - - - - the day of the gregorian month - - - - the hour of the day - - - - the minute of the hour - - - - the second of the minute - - - - - - Creates a new #GstDateTime using the time since Jan 1, 1970 specified by - - the newly created #GstDateTime - - - - - seconds from the Unix epoch - - - - - - Creates a new #GstDateTime using the time since Jan 1, 1970 specified by - - the newly created #GstDateTime - - - - - seconds from the Unix epoch - - - - - - Creates a new #GstDateTime using the date and times in the gregorian calendar -in the local timezone. -1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59. - - the newly created #GstDateTime - - - - - the gregorian year - - - - the gregorian month - - - - the day of the gregorian month - - - - the hour of the day - - - - the minute of the hour - - - - the second of the minute - - - - - - Creates a new #GstDateTime representing the current date and time. -be freed with gst_date_time_unref(). - - the newly created #GstDateTime which should - - - - - Creates a new #GstDateTime that represents the current instant at Universal -coordinated time. -be freed with gst_date_time_unref(). - - the newly created #GstDateTime which should - - - - - Returns the day of this #GstDateTime. - - The day of this #GstDateTime - - - - - Retrieves the hour of the day represented by @datetime in the gregorian -calendar. The return is in the range of 0 to 23. - - the hour of the day - - - - - Retrieves the fractional part of the seconds in microseconds represented by - - the microsecond of the second - - - - - Retrieves the minute of the hour represented by @datetime in the gregorian -calendar. - - the minute of the hour - - - - - Returns the month of this #GstDateTime. January is 1, February is 2, etc.. - - The month of this #GstDateTime - - - - - Retrieves the second of the minute represented by @datetime in the gregorian -calendar. - - the second represented by @datetime - - - - - Retrieves the offset from UTC in hours that the timezone specified -by @datetime represents. Timezones ahead (to the east) of UTC have positive -values, timezones before (to the west) of UTC have negative values. -If @datetime represents UTC time, then the offset is zero. - - the offset from UTC in hours - - - - - Returns the year of this #GstDateTime - - The year of this #GstDateTime - - - - - Atomically increments the reference count of @datetime by one. - - the reference @datetime - - - - - Atomically decrements the reference count of @datetime by one. When the -reference count reaches zero, the structure is freed. - - - - - - - This is the struct that describes the categories. Once initialized with -#GST_DEBUG_CATEGORY_INIT, its values can't be changed anymore. - - - - - - - - - - - - - - Removes and frees the category and all associated resources. - - - - - - Returns the color of a debug category used when printing output in this -category. - - the color of the category. - - - - - Returns the description of a debug category. - - the description of the category. - - - - - Returns the name of a debug category. - - the name of the category. - - - - - Returns the threshold of a #GstDebugCategory. - - the #GstDebugLevel that is used as threshold. - - - - - Resets the threshold of the category to the default level. Debug information -will only be output if the threshold is lower or equal to the level of the -debugging message. -Use this function to set the threshold back to where it was after using -gst_debug_category_set_threshold(). - - - - - - Sets the threshold of the category to the given level. Debug information will -only be output if the threshold is lower or equal to the level of the -debugging message. -<note><para> -Do not use this function in production code, because other functions may -change the threshold of categories as side effect. It is however a nice -function to use when debugging (even from gdb). -</para></note> - - - - - - the #GstDebugLevel threshold to set. - - - - - - - These are some terminal style flags you can use when creating your -debugging categories to make them stand out in debugging output. - - - - - - - - - - - - - - - - - - - - - - - - - - Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE() -and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(). - - - - - - - - The level defines the importance of a debugging message. The more important a -message is, the greater the probability that the debugging system outputs it. - - - - - - - - - - - - - - Gets the string representation of a #GstDebugMessage. This function is used -in debug handlers to extract the message. - - the string representation of a #GstDebugMessage. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GStreamer element abstract base class. - - Creates an element for handling the given URI. - - a new element or NULL if none could be created - - - - - Whether to create a source or a sink - - - - URI to create an element for - - - - Name of created element, can be NULL. - - - - - - Create a new elementfactory capable of instantiating objects of the - - TRUE, if the registering succeeded, FALSE on error - - - - - #GstPlugin to register the element with, or NULL for a static element (note that passing NULL only works in GStreamer 0.10.13 and later) - - - - name of elements of this type - - - - rank of element (higher rank means more importance when autoplugging) - - - - GType of element to register - - - - - - Gets a string representing the given state change result. -result. - - a string with the name of the state - - - - - a #GstStateChangeReturn to get the name of. - - - - - - Gets a string representing the given state. - - a string with the name of the state. - - - - - a #GstState to get the name of. - - - - - - Perform @transition on @element. -This function must be called with STATE_LOCK held and is mainly used -internally. - - the #GstStateChangeReturn of the state transition. - - - - - the requested transition - - - - - - Gets the index from the element. -element. unref after usage. -MT safe. - - a #GstIndex or %NULL when no index was set on the - - - - - Get an array of query types from the element. -If the element doesn't implement a query types function, -the query will be forwarded to the peer of a random linked sink pad. -be freed or modified. -MT safe. - - An array of #GstQueryType elements that should not - - - - - Gets the state of the element. -For elements that performed an ASYNC state change, as reported by -gst_element_set_state(), this function will block up to the -specified timeout value for the state change to complete. -If the element completes the state change or goes into -an error, this function returns immediately with a return value of -%GST_STATE_CHANGE_SUCCESS or %GST_STATE_CHANGE_FAILURE respectively. -For elements that did not return %GST_STATE_CHANGE_ASYNC, this function -returns the current and pending state immediately. -This function returns %GST_STATE_CHANGE_NO_PREROLL if the element -successfully changed its state but is not able to provide data yet. -This mostly happens for live sources that only produce data in -%GST_STATE_PLAYING. While the state change return is equivalent to -%GST_STATE_CHANGE_SUCCESS, it is returned to the application to signal that -some sink elements might not be able to complete their state change because -an element is not producing data to complete the preroll. When setting the -element to playing, the preroll will complete and playback will start. -and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the -element is still performing a state change or -%GST_STATE_CHANGE_FAILURE if the last state change failed. -MT safe. - - %GST_STATE_CHANGE_SUCCESS if the element has no more pending state - - - - - a pointer to #GstState to hold the state. Can be %NULL. - - - - a pointer to #GstState to hold the pending state. Can be %NULL. - - - - a #GstClockTime to specify the timeout for an async state change or %GST_CLOCK_TIME_NONE for infinite timeout. - - - - - - Get the clock provided by the given element. -<note>An element is only required to provide a clock in the PAUSED -state. Some elements can provide a clock in other states.</note> -if no clock could be provided. Unref after usage. -MT safe. - - the GstClock provided by the element or %NULL - - - - - Performs a query on the given element. -For elements that don't implement a query handler, this function -forwards the query to a random srcpad or to the peer of a -random linked sinkpad of this element. -Please note that some queries might need a running pipeline to work. -MT safe. - - TRUE if the query could be performed. - - - - - the #GstQuery. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Sends an event to an element. If the element doesn't implement an -event handler, the event will be pushed on a random linked sink pad for -upstream events or a random linked source pad for downstream events. -This function takes owership of the provided event so you should -gst_event_ref() it if you want to reuse the event after this call. -MT safe. - - %TRUE if the event was handled. - - - - - the #GstEvent to send to the element. - - - - - - Sets the bus of the element. Increases the refcount on the bus. -For internal use only, unless you're testing elements. -MT safe. - - - - - - the #GstBus to set. - - - - - - Sets the clock for the element. This function increases the -refcount on the clock. Any previously set clock on the object -is unreffed. -clock when it, for example, is not able to slave its internal clock to the -MT safe. - - %TRUE if the element accepted the clock. An element can refuse a - - - - - the #GstClock to set for the element. - - - - - - Set @index on the element. The refcount of the index -will be increased, any previously set index is unreffed. -MT safe. - - - - - - a #GstIndex. - - - - - - Sets the state of the element. This function will try to set the -requested state by going through all the intermediary states and calling -the class's state change function for each. -This function can return #GST_STATE_CHANGE_ASYNC, in which case the -element will perform the remainder of the state change asynchronously in -another thread. -An application can use gst_element_get_state() to wait for the completion -of the state change or it can wait for a state change message on the bus. -State changes to %GST_STATE_READY or %GST_STATE_NULL never return -#GST_STATE_CHANGE_ASYNC. -MT safe. - - Result of the state change using #GstStateChangeReturn. - - - - - the element's new #GstState. - - - - - - Abort the state change of the element. This function is used -by elements that do asynchronous state changes and find out -something is wrong. -This function should be called with the STATE_LOCK held. -MT safe. - - - - - - Adds a pad (link point) to @element. @pad's parent will be set to @element; -see gst_object_set_parent() for refcounting information. -Pads are not automatically activated so elements should perform the needed -steps to activate the pad in case this pad is added in the PAUSED or PLAYING -state. See gst_pad_set_active() for more information about activating pads. -The pad and the element should be unlocked when calling this function. -This function will emit the #GstElement::pad-added signal on the element. -a pad with the same name already existed or the pad already had another -parent. -MT safe. - - %TRUE if the pad could be added. This function can fail when - - - - - the #GstPad to add to the element. - - - - - - Perform @transition on @element. -This function must be called with STATE_LOCK held and is mainly used -internally. - - the #GstStateChangeReturn of the state transition. - - - - - the requested transition - - - - - - Commit the state change of the element and proceed to the next -pending state if any. This function is used -by elements that do asynchronous state changes. -The core will normally call this method automatically when an -element returned %GST_STATE_CHANGE_SUCCESS from the state change function. -If after calling this method the element still has not reached -the pending state, the next state change is performed. -This method is used internally and should normally not be called by plugins -or applications. -MT safe. - - The result of the commit state change. - - - - - The previous state return value - - - - - - Creates a pad for each pad template that is always available. -This function is only useful during object intialization of -subclasses of #GstElement. - - - - - - Posts a message to the bus that new tags were found, and pushes an event -to all sourcepads. Takes ownership of the @list. -This is a utility method for elements. Applications should use the -#GstTagSetter interface. - - - - - - list of tags. - - - - - - Posts a message to the bus that new tags were found and pushes the -tags as event. Takes ownership of the @list. -This is a utility method for elements. Applications should use the -#GstTagSetter interface. - - - - - - pad on which to push tag-event - - - - the taglist to post on the bus and create event from - - - - - - Returns the base time of the element. The base time is the -absolute time of the clock when this element was last put to -PLAYING. Subtracting the base time from the clock time gives -the running time of the element. -MT safe. - - the base time of the element. - - - - - Returns the bus of the element. Note that only a #GstPipeline will provide a -bus for the application. -MT safe. - - the element's #GstBus. unref after usage. - - - - - Gets the currently configured clock of the element. This is the clock as was -last set with gst_element_set_clock(). -MT safe. - - the #GstClock of the element. unref after usage. - - - - - Looks for an unlinked pad to which the given pad can link. It is not -guaranteed that linking the pads will work, though it should work in most -cases. -This function will first attempt to find a compatible unlinked ALWAYS pad, -and if none can be found, it will request a compatible REQUEST pad by looking -at the templates of @element. -if one cannot be found. gst_object_unref() after usage. - - the #GstPad to which a link can be made, or %NULL - - - - - the #GstPad to find a compatible one for. - - - - the #GstCaps to use as a filter. - - - - - - Retrieves a pad template from @element that is compatible with @compattempl. -Pads from compatible templates can be linked together. -was found. No unreferencing is necessary. - - a compatible #GstPadTemplate, or NULL if none - - - - - the #GstPadTemplate to find a compatible template for - - - - - - Retrieves the factory that was used to create this element. -element. no refcounting is needed. - - the #GstElementFactory used for creating this - - - - - Gets the index from the element. -element. unref after usage. -MT safe. - - a #GstIndex or %NULL when no index was set on the - - - - - Retrieves a pad from @element by name. Tries gst_element_get_static_pad() -first, then gst_element_get_request_pad(). -to the result pad should be released with gst_object_unref() in case of a static pad -or gst_element_release_request_pad() in case of a request pad. -Use gst_element_get_static_pad() or gst_element_get_request_pad() instead. -depending on the type of the pad. - - the #GstPad if found, otherwise %NULL. Unref or Release after usage, - - - - - the name of the pad to retrieve. - - - - - - Get an array of query types from the element. -If the element doesn't implement a query types function, -the query will be forwarded to the peer of a random linked sink pad. -be freed or modified. -MT safe. - - An array of #GstQueryType elements that should not - - - - - Retrieves a pad from the element by name. This version only retrieves -request pads. The pad should be released with -gst_element_release_request_pad(). -This method is slow and will be deprecated in the future. New code should -use gst_element_request_pad() with the requested template. -Release after usage. - - requested #GstPad if found, otherwise %NULL. - - - - - the name of the request #GstPad to retrieve. - - - - - - Returns the start time of the element. The start time is the -running time of the clock when this element was last put to PAUSED. -Usually the start_time is managed by a toplevel element such as -#GstPipeline. -MT safe. - - the start time of the element. - - - - - Gets the state of the element. -For elements that performed an ASYNC state change, as reported by -gst_element_set_state(), this function will block up to the -specified timeout value for the state change to complete. -If the element completes the state change or goes into -an error, this function returns immediately with a return value of -%GST_STATE_CHANGE_SUCCESS or %GST_STATE_CHANGE_FAILURE respectively. -For elements that did not return %GST_STATE_CHANGE_ASYNC, this function -returns the current and pending state immediately. -This function returns %GST_STATE_CHANGE_NO_PREROLL if the element -successfully changed its state but is not able to provide data yet. -This mostly happens for live sources that only produce data in -%GST_STATE_PLAYING. While the state change return is equivalent to -%GST_STATE_CHANGE_SUCCESS, it is returned to the application to signal that -some sink elements might not be able to complete their state change because -an element is not producing data to complete the preroll. When setting the -element to playing, the preroll will complete and playback will start. -and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the -element is still performing a state change or -%GST_STATE_CHANGE_FAILURE if the last state change failed. -MT safe. - - %GST_STATE_CHANGE_SUCCESS if the element has no more pending state - - - - - a pointer to #GstState to hold the state. Can be %NULL. - - - - a pointer to #GstState to hold the pending state. Can be %NULL. - - - - a #GstClockTime to specify the timeout for an async state change or %GST_CLOCK_TIME_NONE for infinite timeout. - - - - - - Retrieves a pad from @element by name. This version only retrieves -already-existing (i.e. 'static') pads. -unref after usage. -MT safe. - - the requested #GstPad if found, otherwise %NULL. - - - - - the name of the static #GstPad to retrieve. - - - - - - Test whether the given element implements a certain interface of type -iface_type, and test whether it is supported for this specific instance. - - whether or not the element implements the interface. - - - - - (final) type of the interface which we want to be implemented - - - - - - Queries if the element can be indexed. -MT safe. - - TRUE if the element can be indexed. - - - - - Checks if the state of an element is locked. -If the state of an element is locked, state changes of the parent don't -affect the element. -This way you can leave currently unused elements inside bins. Just lock their -state before changing the state from #GST_STATE_NULL. -MT safe. - - TRUE, if the element's state is locked. - - - - - Retrieves an iterattor of @element's pads. The iterator should -be freed after usage. -after use. -MT safe. - - the #GstIterator of #GstPad. Unref each pad - - - - - Retrieves an iterator of @element's sink pads. -after use. -MT safe. - - the #GstIterator of #GstPad. Unref each pad - - - - - Retrieves an iterator of @element's source pads. -after use. -MT safe. - - the #GstIterator of #GstPad. Unref each pad - - - - - Links @src to @dest. The link must be from source to -destination; the other direction will not be tried. The function looks for -existing pads that aren't linked yet. It will request new pads if necessary. -Such pads need to be released manualy when unlinking. -If multiple links are possible, only one is established. -Make sure you have added your elements to a bin or pipeline with -gst_bin_add() before trying to link them. - - TRUE if the elements could be linked, FALSE otherwise. - - - - - the #GstElement containing the destination pad. - - - - - - Links @src to @dest using the given caps as filtercaps. -The link must be from source to -destination; the other direction will not be tried. The function looks for -existing pads that aren't linked yet. It will request new pads if necessary. -If multiple links are possible, only one is established. -Make sure you have added your elements to a bin or pipeline with -gst_bin_add() before trying to link them. - - TRUE if the pads could be linked, FALSE otherwise. - - - - - the #GstElement containing the destination pad. - - - - the #GstCaps to filter the link, or #NULL for no filter. - - - - - - Chain together a series of elements. Uses gst_element_link(). -Make sure you have added your elements to a bin or pipeline with -gst_bin_add() before trying to link them. - - TRUE on success, FALSE otherwise. - - - - - the second #GstElement in the link chain. - - - - - - - - - - Links the two named pads of the source and destination elements. -Side effect is that if one of the pads has no parent, it becomes a -child of the parent of the other element. If they have different -parents, the link fails. - - TRUE if the pads could be linked, FALSE otherwise. - - - - - the name of the #GstPad in source element or NULL for any pad. - - - - the #GstElement containing the destination pad. - - - - the name of the #GstPad in destination element, or NULL for any pad. - - - - - - Links the two named pads of the source and destination elements. Side effect -is that if one of the pads has no parent, it becomes a child of the parent of -the other element. If they have different parents, the link fails. If @caps -is not #NULL, makes sure that the caps of the link is a subset of @caps. - - TRUE if the pads could be linked, FALSE otherwise. - - - - - the name of the #GstPad in source element or NULL for any pad. - - - - the #GstElement containing the destination pad. - - - - the name of the #GstPad in destination element or NULL for any pad. - - - - the #GstCaps to filter the link, or #NULL for no filter. - - - - - - Links the two named pads of the source and destination elements. -Side effect is that if one of the pads has no parent, it becomes a -child of the parent of the other element. If they have different -parents, the link fails. -Calling gst_element_link_pads_full() with @flags == %GST_PAD_LINK_CHECK_DEFAULT -is the same as calling gst_element_link_pads() and the recommended way of -linking pads with safety checks applied. - - TRUE if the pads could be linked, FALSE otherwise. - - - - - the name of the #GstPad in source element or NULL for any pad. - - - - the #GstElement containing the destination pad. - - - - the name of the #GstPad in destination element, or NULL for any pad. - - - - the #GstPadLinkCheck to be performed when linking pads. - - - - - - Brings the element to the lost state. This function calls -gst_element_lost_state_full() with the new_base_time set to %TRUE. -This function is used internally and should normally not be called from -plugins or applications. -MT safe. - - - - - - Brings the element to the lost state. The current state of the -element is copied to the pending state so that any call to -gst_element_get_state() will return %GST_STATE_CHANGE_ASYNC. -An ASYNC_START message is posted with indication to distribute a new -base_time to the element when @new_base_time is %TRUE. -If the element was PLAYING, it will go to PAUSED. The element -will be restored to its PLAYING state by the parent pipeline when it -prerolls again. -This is mostly used for elements that lost their preroll buffer -in the %GST_STATE_PAUSED or %GST_STATE_PLAYING state after a flush, -they will go to their pending state again when a new preroll buffer is -queued. This function can only be called when the element is currently -not in error or an async state change. -This function is used internally and should normally not be called from -plugins or applications. -MT safe. - - - - - - if a new base time should be distributed - - - - - - Post an error, warning or info message on the bus from inside an element. -#GST_MESSAGE_INFO. -MT safe. - - - - - - the #GstMessageType - - - - the GStreamer GError domain this message belongs to - - - - the GError code belonging to the domain - - - - an allocated text string to be used as a replacement for the default message connected to code, or %NULL - - - - an allocated debug message to be used as a replacement for the default debugging information, or %NULL - - - - the source code file where the error was generated - - - - the source code function where the error was generated - - - - the source code line where the error was generated - - - - - - Use this function to signal that the element does not expect any more pads -to show up in the current pipeline. This function should be called whenever -pads have been added by the element itself. Elements with #GST_PAD_SOMETIMES -pad templates use this in combination with autopluggers to figure out that -the element is done initializing its pads. -This function emits the #GstElement::no-more-pads signal. -MT safe. - - - - - - Post a message on the element's #GstBus. This function takes ownership of the -message; if you want to access the message after this call, you should add an -additional reference before calling. -%FALSE if the element did not have a bus. -MT safe. - - %TRUE if the message was successfully posted. The function returns - - - - - a #GstMessage to post - - - - - - Get the clock provided by the given element. -<note>An element is only required to provide a clock in the PAUSED -state. Some elements can provide a clock in other states.</note> -if no clock could be provided. Unref after usage. -MT safe. - - the GstClock provided by the element or %NULL - - - - - Query if the element provides a clock. A #GstClock provided by an -element can be used as the global #GstClock for the pipeline. -An element that can provide a clock is only required to do so in the PAUSED -state, this means when it is fully negotiated and has allocated the resources -to operate the clock. -MT safe. - - %TRUE if the element provides a clock - - - - - Performs a query on the given element. -For elements that don't implement a query handler, this function -forwards the query to a random srcpad or to the peer of a -random linked sinkpad of this element. -Please note that some queries might need a running pipeline to work. -MT safe. - - TRUE if the query could be performed. - - - - - the #GstQuery. - - - - - - Queries an element to convert @src_val in @src_format to @dest_format. - - TRUE if the query could be performed. - - - - - a #GstFormat to convert from. - - - - a value to convert. - - - - a pointer to the #GstFormat to convert to. - - - - a pointer to the result. - - - - - - Queries an element for the total stream duration. - - TRUE if the query could be performed. - - - - - a pointer to the #GstFormat asked for. On return contains the #GstFormat used. - - - - A location in which to store the total duration, or NULL. - - - - - - Queries an element for the stream position. - - TRUE if the query could be performed. - - - - - a pointer to the #GstFormat asked for. On return contains the #GstFormat used. - - - - a location in which to store the current position, or NULL. - - - - - - Makes the element free the previously requested pad as obtained -with gst_element_get_request_pad(). -This does not unref the pad. If the pad was created by using -gst_element_get_request_pad(), gst_element_release_request_pad() needs to be -followed by gst_object_unref() to free the @pad. -MT safe. - - - - - - the #GstPad to release. - - - - - - Removes @pad from @element. @pad will be destroyed if it has not been -referenced elsewhere using gst_object_unparent(). -This function is used by plugin developers and should not be used -by applications. Pads that were dynamically requested from elements -with gst_element_get_request_pad() should be released with the -gst_element_release_request_pad() function instead. -Pads are not automatically deactivated so elements should perform the needed -steps to deactivate the pad in case this pad is removed in the PAUSED or -PLAYING state. See gst_pad_set_active() for more information about -deactivating pads. -The pad and the element should be unlocked when calling this function. -This function will emit the #GstElement::pad-removed signal on the element. -pad does not belong to the provided element. -MT safe. - - %TRUE if the pad could be removed. Can return %FALSE if the - - - - - the #GstPad to remove from the element. - - - - - - Retrieves a request pad from the element according to the provided template. -If the @caps are specified and the element implements thew new -request_new_pad_full virtual method, the element will use them to select -which pad to create. -The pad should be released with gst_element_release_request_pad(). -Release after usage. - - requested #GstPad if found, otherwise %NULL. - - - - - a #GstPadTemplate of which we want a pad of. - - - - the name of the request #GstPad to retrieve. Can be %NULL. - - - - the caps of the pad we want to request. Can be %NULL. - - - - - - Query if the element requires a clock. -MT safe. - - %TRUE if the element requires a clock - - - - - Sends a seek event to an element. See gst_event_new_seek() for the details of -the parameters. The seek event is sent to the element using -gst_element_send_event(). -MT safe. - - %TRUE if the event was handled. - - - - - The new playback rate - - - - The format of the seek values - - - - The optional seek flags. - - - - The type and flags for the new current position - - - - The value of the new current position - - - - The type and flags for the new stop position - - - - The value of the new stop position - - - - - - - - - - - - - - - - - - - - - - Sends an event to an element. If the element doesn't implement an -event handler, the event will be pushed on a random linked sink pad for -upstream events or a random linked source pad for downstream events. -This function takes owership of the provided event so you should -gst_event_ref() it if you want to reuse the event after this call. -MT safe. - - %TRUE if the event was handled. - - - - - the #GstEvent to send to the element. - - - - - - Set the base time of an element. See gst_element_get_base_time(). -MT safe. - - - - - - the base time to set. - - - - - - Sets the bus of the element. Increases the refcount on the bus. -For internal use only, unless you're testing elements. -MT safe. - - - - - - the #GstBus to set. - - - - - - Sets the clock for the element. This function increases the -refcount on the clock. Any previously set clock on the object -is unreffed. -clock when it, for example, is not able to slave its internal clock to the -MT safe. - - %TRUE if the element accepted the clock. An element can refuse a - - - - - the #GstClock to set for the element. - - - - - - Set @index on the element. The refcount of the index -will be increased, any previously set index is unreffed. -MT safe. - - - - - - a #GstIndex. - - - - - - Locks the state of an element, so state changes of the parent don't affect -this element anymore. -MT safe. -or the elements state-locking needed no change. - - TRUE if the state was changed, FALSE if bad parameters were given - - - - - TRUE to lock the element's state - - - - - - Set the start time of an element. The start time of the element is the -running time of the element when it last went to the PAUSED state. In READY -or after a flushing seek, it is set to 0. -Toplevel elements like #GstPipeline will manage the start_time and -base_time on its children. Setting the start_time to #GST_CLOCK_TIME_NONE -on such a toplevel element will disable the distribution of the base_time to -the children and can be useful if the application manages the base_time -itself, for example if you want to synchronize capture from multiple -pipelines, and you can also ensure that the pipelines have the same clock. -MT safe. - - - - - - the base time to set. - - - - - - Sets the state of the element. This function will try to set the -requested state by going through all the intermediary states and calling -the class's state change function for each. -This function can return #GST_STATE_CHANGE_ASYNC, in which case the -element will perform the remainder of the state change asynchronously in -another thread. -An application can use gst_element_get_state() to wait for the completion -of the state change or it can wait for a state change message on the bus. -State changes to %GST_STATE_READY or %GST_STATE_NULL never return -#GST_STATE_CHANGE_ASYNC. -MT safe. - - Result of the state change using #GstStateChangeReturn. - - - - - the element's new #GstState. - - - - - - Tries to change the state of the element to the same as its parent. -If this function returns FALSE, the state of element is undefined. -MT safe. - - TRUE, if the element's state could be synced to the parent's state. - - - - - Unlinks all source pads of the source element with all sink pads -of the sink element to which they are linked. -If the link has been made using gst_element_link(), it could have created an -requestpad, which has to be released using gst_element_release_request_pad(). - - - - - - the sink #GstElement to unlink. - - - - - - Unlinks a series of elements. Uses gst_element_unlink(). - - - - - - the second #GstElement in the link chain. - - - - - - - - - - Unlinks the two named pads of the source and destination elements. - - - - - - the name of the #GstPad in source element. - - - - a #GstElement containing the destination pad. - - - - the name of the #GstPad in destination element. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This signals that the element will not generate more dynamic pads. - - - - - - a new #GstPad has been added to the element. - - - - - - the pad that has been added - - - - - - a #GstPad has been removed from the element - - - - - - the pad that has been removed - - - - - - - GStreamer element class. Override the vmethods to implement the element -functionality. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %GST_STATE_CHANGE_SUCCESS if the element has no more pending state - - - - - - - - a pointer to #GstState to hold the state. Can be %NULL. - - - - a pointer to #GstState to hold the pending state. Can be %NULL. - - - - a #GstClockTime to specify the timeout for an async state change or %GST_CLOCK_TIME_NONE for infinite timeout. - - - - - - - - - Result of the state change using #GstStateChangeReturn. - - - - - - - - the element's new #GstState. - - - - - - - - - the #GstStateChangeReturn of the state transition. - - - - - - - - the requested transition - - - - - - - - - - - - - - - - the #GstBus to set. - - - - - - - - - the GstClock provided by the element or %NULL - - - - - - - - - - - - - %TRUE if the element accepted the clock. An element can refuse a - - - - - - - - the #GstClock to set for the element. - - - - - - - - - a #GstIndex or %NULL when no index was set on the - - - - - - - - - - - - - - - - - - - - a #GstIndex. - - - - - - - - - %TRUE if the event was handled. - - - - - - - - the #GstEvent to send to the element. - - - - - - - - - An array of #GstQueryType elements that should not - - - - - - - - - - - - - TRUE if the query could be performed. - - - - - - - - the #GstQuery. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Adds a padtemplate to an element class. This is mainly used in the _base_init -functions of classes. - - - - - - a #GstPadTemplate to add to the element class. - - - - - - Retrieves a padtemplate from @element_class with the given name. -<note>If you use this function in the #GInstanceInitFunc of an object class -that has subclasses, make sure to pass the g_class parameter of the -#GInstanceInitFunc here.</note> -if none was found. No unreferencing is necessary. - - the #GstPadTemplate with the given name, or %NULL - - - - - the name of the #GstPadTemplate to get. - - - - - - Retrieves a list of the pad templates associated with @element_class. The -list must not be modified by the calling code. -<note>If you use this function in the #GInstanceInitFunc of an object class -that has subclasses, make sure to pass the g_class parameter of the -#GInstanceInitFunc here.</note> -pad templates. - - the #GList of - - - - - - - Adds a list of standardized properties with types to the @klass. -the id is for the property switch in your get_prop method, and -the flags determine readability / writeability. - - - - - - the name of the first property. in a NULL terminated - - - - - - - - - - Sets the detailed information for a #GstElementClass. -<note>This function is for use in _base_init functions only.</note> -The @details are copied. - - - - - - details to set - - - - - - Sets the detailed information for a #GstElementClass. Simpler version of -gst_element_class_set_details() that generates less linker overhead. -<note>This function is for use in _base_init functions only.</note> -The detail parameter strings are copied into the #GstElementDetails for -the element class. - - - - - - The long English name of the element. E.g. "File Sink" - - - - String describing the type of element, as an unordered list separated with slashes ('/'). See draft-klass.txt of the design docs for more details and common types. E.g: "Sink/File" - - - - Sentence describing the purpose of the element. E.g: "Write stream to a file" - - - - Name and contact details of the author(s). Use \n to separate multiple author details. E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;" - - - - - - Set uri pointing to user documentation. Applications can use this to show -help for e.g. effects to users. - - - - - - uri of element documentation - - - - - - Elements that bridge to certain other products can include an icon of that -used product. Application can show the icon in menus/selectors to help -identifying specific elements. - - - - - - name of an icon - - - - - - - This struct defines the public information about a #GstElement. It contains -meta-data about the element that is mostly for the benefit of editors. -The @klass member can be used by applications to filter elements based -on functionality. - - - - - - - - - - - - - - - - - - - - The opaque #GstElementFactory data structure. - - Search for an element factory of the given name. Refs the returned -element factory; caller is responsible for unreffing. - - #GstElementFactory if found, NULL otherwise - - - - - name of factory to find - - - - - - Filter out all the elementfactories in @list that can handle @caps in -the given direction. -If @subsetonly is %TRUE, then only the elements whose pads templates -are a complete superset of @caps will be returned. Else any element -whose pad templates caps can intersect with @caps will be returned. -#GstElementFactory elements that match the given requisits. -Use #gst_plugin_feature_list_free after usage. - - a #GList of - - - - - - - a #GList of #GstElementFactory to filter - - - - - - a #GstCaps - - - - a #GstPadDirection to filter on - - - - whether to filter on caps subsets or not. - - - - - - Get a list of factories that match the given @type. Only elements -with a rank greater or equal to @minrank will be returned. -The list of factories is returned by decreasing rank. -#GstElementFactory elements. Use gst_plugin_feature_list_free() after -usage. - - a #GList of - - - - - - - a #GstElementFactoryListType - - - - Minimum rank - - - - - - Create a new element of the type defined by the given element factory. -If name is NULL, then the element will receive a guaranteed unique name, -consisting of the element factory name and a number. -If name is given, it will be given the name supplied. - - new #GstElement or NULL if unable to create element - - - - - a named factory to instantiate - - - - name of new element - - - - - - Checks if the factory can sink the given capability. - - true if it can sink the capabilities - - - - - the caps to check - - - - - - Checks if the factory can source the given capability. - - true if it can src the capabilities - - - - - the caps to check - - - - - - Create a new element of the type defined by the given elementfactory. -It will be given the name supplied, since all elements require a name as -their first argument. -be created - - new #GstElement or NULL if the element couldn't - - - - - name of new element - - - - - - Gets the author for this factory. - - the author - - - - - Gets the description for this factory. - - the description - - - - - Gets icon name for this factory if set. - - the icon name - - - - - Get the #GType for elements managed by this factory. The type can -only be retrieved if the element factory is loaded, which can be -assured with gst_plugin_feature_load(). -the factory is not loaded. - - the #GType for elements managed by this factory or 0 if - - - - - - - - - - Gets the class for this factory. - - the class - - - - - Gets the longname for this factory - - the longname - - - - - Gets the number of pad_templates in this factory. - - the number of pad_templates - - - - - Gets the #GList of #GstStaticPadTemplate for this factory. -static pad templates - - the - - - - - - - Gets a NULL-terminated array of protocols this element supports or NULL if -no protocols are supported. You may not change the contents of the returned -array, as it is still owned by the element factory. Use g_strdupv() to -make a copy of the protocol string array if you need to. -or NULL - - the supported protocols - - - - - - - Gets the type of URIs the element supports or #GST_URI_UNKNOWN if none. - - type of URIs this element supports - - - - - Check if @factory implements the interface with name @interfacename. - - #TRUE when @factory implement the interface. - - - - - an interface name - - - - - - Check if @factory if of the given types. - - %TRUE if @factory is of @type. - - - - - a #GstElementFactoryListType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The standard flags that an element may have. - - - - - - - - A #GstEvent. - - Create a new buffersize event. The event is sent downstream and notifies -elements that they should provide a buffer of the specified dimensions. -When the @async flag is set, a thread boundary is prefered. - - a new #GstEvent - - - - - buffer format - - - - minimum buffer size - - - - maximum buffer size - - - - thread behavior - - - - - - Create a new custom-typed event. This can be used for anything not -handled by other event-specific functions to pass an event to another -element. -Make sure to allocate an event type with the #GST_EVENT_MAKE_TYPE macro, -assigning a free number and filling in the correct direction and -serialization flags. -New custom events can also be created by subclassing the event type if -needed. - - the new custom event. - - - - - The type of the new event - - - - the structure for the event. The event will take ownership of the structure. - - - - - - Create a new EOS event. The eos event can only travel downstream -synchronized with the buffer flow. Elements that receive the EOS -event on a pad can return #GST_FLOW_UNEXPECTED as a #GstFlowReturn -when data after the EOS event arrives. -The EOS event will travel down to the sink elements in the pipeline -which will then post the #GST_MESSAGE_EOS on the bus after they have -finished playing any buffered data. -When all sinks have posted an EOS message, an EOS message is -forwarded to the application. -The EOS event itself will not cause any state transitions of the pipeline. - - the new EOS event. - - - - - Allocate a new flush start event. The flush start event can be sent -upstream and downstream and travels out-of-bounds with the dataflow. -It marks pads as being flushing and will make them return -#GST_FLOW_WRONG_STATE when used for data flow with gst_pad_push(), -gst_pad_chain(), gst_pad_alloc_buffer(), gst_pad_get_range() and -gst_pad_pull_range(). Any event (except a #GST_EVENT_FLUSH_STOP) received -on a flushing pad will return %FALSE immediately. -Elements should unlock any blocking functions and exit their streaming -functions as fast as possible when this event is received. -This event is typically generated after a seek to flush out all queued data -in the pipeline so that the new media is played as soon as possible. - - a new flush start event. - - - - - Allocate a new flush stop event. The flush stop event can be sent -upstream and downstream and travels serialized with the dataflow. -It is typically sent after sending a FLUSH_START event to make the -pads accept data again. -Elements can process this event synchronized with the dataflow since -the preceeding FLUSH_START event stopped the dataflow. -This event is typically generated to complete a seek and to resume -dataflow. - - a new flush stop event. - - - - - Create a new latency event. The event is sent upstream from the sinks and -notifies elements that they should add an additional @latency to the -running time before synchronising against the clock. -The latency is mostly used in live sinks and is always expressed in -the time format. - - a new #GstEvent - - - - - the new latency value - - - - - - Create a new navigation event from the given description. - - a new #GstEvent - - - - - description of the event. The event will take ownership of the structure. - - - - - - Allocate a new newsegment event with the given format/values tripplets -This method calls gst_event_new_new_segment_full() passing a default -value of 1.0 for applied_rate - - a new newsegment event. - - - - - is this segment an update to a previous one - - - - a new rate for playback - - - - The format of the segment values - - - - the start value of the segment - - - - the stop value of the segment - - - - stream position - - - - - - Allocate a new newsegment event with the given format/values triplets. -The newsegment event marks the range of buffers to be processed. All -data not within the segment range is not to be processed. This can be -used intelligently by plugins to apply more efficient methods of skipping -unneeded data. The valid range is expressed with the @start and @stop -values. -The position value of the segment is used in conjunction with the start -value to convert the buffer timestamps into the stream time. This is -usually done in sinks to report the current stream_time. -is a valid @stop given, it must be greater or equal the @start, including -when the indicated playback @rate is < 0. -The @applied_rate value provides information about any rate adjustment that -has already been made to the timestamps and content on the buffers of the -stream. (@rate * @applied_rate) should always equal the rate that has been -requested for playback. For example, if an element has an input segment -with intended playback @rate of 2.0 and applied_rate of 1.0, it can adjust -incoming timestamps and buffer content by half and output a newsegment event -with @rate of 1.0 and @applied_rate of 2.0 -After a newsegment event, the buffer stream time is calculated with: -position + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate) - - a new newsegment event. - - - - - Whether this segment is an update to a previous one - - - - A new rate for playback - - - - The rate factor which has already been applied - - - - The format of the segment values - - - - The start value of the segment - - - - The stop value of the segment - - - - stream position - - - - - - Allocate a new qos event with the given values. -The QOS event is generated in an element that wants an upstream -element to either reduce or increase its rate because of -high/low CPU load or other resource usage such as network performance. -Typically sinks generate these events for each buffer they receive. -element that generated the QoS event (usually the sink). The value is -generally computed based on more long term statistics about the streams -timestamps compared to the clock. -A value < 1.0 indicates that the upstream element is producing data faster -than real-time. A value > 1.0 indicates that the upstream element is not -producing data fast enough. 1.0 is the ideal @proportion value. The -proportion value can safely be used to lower or increase the quality of -the element. -buffer that caused the element to generate the QOS event. A negative value -means that the buffer with @timestamp arrived in time. A positive value -indicates how late the buffer with @timestamp was. -to generate the QOS event. It is expressed in running time and thus an ever -increasing value. -The upstream element can use the @diff and @timestamp values to decide -whether to process more buffers. For possitive @diff, all buffers with -timestamp <= @timestamp + @diff will certainly arrive late in the sink -as well. A (negative) @diff value so that @timestamp + @diff would yield a -result smaller than 0 is not allowed. -The application can use general event probes to intercept the QoS -event and implement custom application specific QoS handling. - - a new QOS event. - - - - - the proportion of the qos message - - - - The time difference of the last Clock sync - - - - The timestamp of the buffer - - - - - - Allocate a new seek event with the given parameters. -The seek event configures playback of the pipeline between @start to @stop -at the speed given in @rate, also called a playback segment. -The @start and @stop values are expressed in @format. -A @rate of 1.0 means normal playback rate, 2.0 means double speed. -Negatives values means backwards playback. A value of 0.0 for the -rate is not allowed and should be accomplished instead by PAUSING the -pipeline. -A pipeline has a default playback segment configured with a start -position of 0, a stop position of -1 and a rate of 1.0. The currently -configured playback segment can be queried with #GST_QUERY_SEGMENT. -start and stop fields in playback segment. Adjustments can be made relative -or absolute to the last configured values. A type of #GST_SEEK_TYPE_NONE -means that the position should not be updated. -When the rate is positive and @start has been updated, playback will start -from the newly configured start position. -For negative rates, playback will start from the newly configured stop -position (if any). If the stop position if updated, it must be different from --1 for negative rates. -It is not possible to seek relative to the current playback position, to do -this, PAUSE the pipeline, query the current playback position with -#GST_QUERY_POSITION and update the playback segment current position with a -#GST_SEEK_TYPE_SET to the desired position. - - a new seek event. - - - - - The new playback rate - - - - The format of the seek values - - - - The optional seek flags - - - - The type and flags for the new start position - - - - The value of the new start position - - - - The type and flags for the new stop position - - - - The value of the new stop position - - - - - - Create a new sink-message event. The purpose of the sink-message event is -to instruct a sink to post the message contained in the event synchronized -with the stream. - - a new #GstEvent - - - - - the #GstMessage to be posted - - - - - - Create a new step event. The purpose of the step event is to instruct a sink -to skip @amount (expressed in @format) of media. It can be used to implement -stepping through the video frame by frame or for doing fast trick modes. -A rate of <= 0.0 is not allowed, pause the pipeline or reverse the playback -direction of the pipeline to get the same effect. -The @flush flag will clear any pending data in the pipeline before starting -the step operation. -The @intermediate flag instructs the pipeline that this step operation is -part of a larger step operation. - - a new #GstEvent - - - - - the format of @amount - - - - the amount of data to step - - - - the step rate - - - - flushing steps - - - - intermediate steps - - - - - - Generates a metadata tag event from the given @taglist. - - a new #GstEvent - - - - - metadata list. The event will take ownership of @taglist. - - - - - - Gets the #GstEventTypeFlags associated with @type. - - a #GstEventTypeFlags. - - - - - a #GstEventType - - - - - - Get a printable name for the given event type. Do not modify or free. - - a reference to the static name of the event. - - - - - the event type - - - - - - Get the unique quark for the given event type. - - the quark associated with the event type - - - - - the event type - - - - - - Retrieve the sequence number of a event. -Events have ever-incrementing sequence numbers, which may also be set -explicitly via gst_event_set_seqnum(). Sequence numbers are typically used to -indicate that a event corresponds to some other set of events or messages, -for example an EOS event corresponding to a SEEK event. It is considered good -practice to make this correspondence when possible, though it is not -required. -Note that events and messages share the same sequence number incrementor; -two events or messages will never not have the same sequence number unless -that correspondence was made explicitly. -MT safe. - - The event's sequence number. - - - - - Access the structure of the event. -owned by the event, which means that you should not free it and -that the pointer becomes invalid when you free the event. -MT safe. - - The structure of the event. The structure is still - - - - - Checks if @event has the given @name. This function is usually used to -check the name of a custom event. - - %TRUE if @name matches the name of the event structure. - - - - - name to check - - - - - - Get the format, minsize, maxsize and async-flag in the buffersize event. - - - - - - A pointer to store the format in - - - - A pointer to store the minsize in - - - - A pointer to store the maxsize in - - - - A pointer to store the async-flag in - - - - - - Get the latency in the latency event. - - - - - - A pointer to store the latency in. - - - - - - Get the update flag, rate, format, start, stop and position in the -newsegment event. In general, gst_event_parse_new_segment_full() should -be used instead of this, to also retrieve the applied_rate value of the -segment. See gst_event_new_new_segment_full() for a full description -of the newsegment event. - - - - - - A pointer to the update flag of the segment - - - - A pointer to the rate of the segment - - - - A pointer to the format of the newsegment values - - - - A pointer to store the start value in - - - - A pointer to store the stop value in - - - - A pointer to store the stream time in - - - - - - Get the update, rate, applied_rate, format, start, stop and -position in the newsegment event. See gst_event_new_new_segment_full() -for a full description of the newsegment event. - - - - - - A pointer to the update flag of the segment - - - - A pointer to the rate of the segment - - - - A pointer to the applied_rate of the segment - - - - A pointer to the format of the newsegment values - - - - A pointer to store the start value in - - - - A pointer to store the stop value in - - - - A pointer to store the stream time in - - - - - - Get the proportion, diff and timestamp in the qos event. See -gst_event_new_qos() for more information about the different QoS values. - - - - - - A pointer to store the proportion in - - - - A pointer to store the diff in - - - - A pointer to store the timestamp in - - - - - - Parses a seek @event and stores the results in the given result locations. - - - - - - result location for the rate - - - - result location for the stream format - - - - result location for the #GstSeekFlags - - - - result location for the #GstSeekType of the start position - - - - result location for the start postion expressed in @format - - - - result location for the #GstSeekType of the stop position - - - - result location for the stop postion expressed in @format - - - - - - Parse the sink-message event. Unref @msg after usage. - - - - - - a pointer to store the #GstMessage in. - - - - - - Parse the step event. - - - - - - a pointer to store the format in - - - - a pointer to store the amount in - - - - a pointer to store the rate in - - - - a pointer to store the flush boolean in - - - - a pointer to store the intermediate boolean in - - - - - - Parses a tag @event and stores the results in the given @taglist location. - - - - - - pointer to metadata list - - - - - - Set the sequence number of a event. -This function might be called by the creator of a event to indicate that the -event relates to other events or messages. See gst_event_get_seqnum() for -more information. -MT safe. - - - - - - A sequence number. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #GstEventType lists the standard event types that can be sent in a pipeline. -The custom event types can be used for private messages between elements -that can't be expressed using normal -GStreamer buffer passing semantics. Custom events carry an arbitrary -#GstStructure. -Specific custom events are distinguished by the name of the structure. - - - - - - - - - - - - - - - - - - - - - #GstEventTypeFlags indicate the aspects of the different #GstEventType -values. You can get the type flags of a #GstEventType with the -gst_event_type_get_flags() function. - - - - - - - - - Function prototype for a filter callback that can be use in gst_filter_run(). -The function should apply its filtering to @obj. Additional data passed to -gst_filter_run() are in @data. - - %TRUE for success. - - - - - the object - - - - filter data - - - - - - sent yet) (unused/unimplemented). -this error should post an error message with more -details. -this (and higher) to define custom success -codes. Since 0.10.7. -custom success code to this to avoid compiler -warnings). Since 0.10.29. -this (and lower) to define custom error codes. -Since 0.10.7. -custom error code to this to avoid compiler -warnings). Since 0.10.29. -The result of passing data to a pad. -Note that the custom return values should not be exposed outside of the -element scope and are available since 0.10.7. - - - - - - - - - - - - - - - - - Standard predefined formats - - - - - - - - - A format definition - - - - - - - - - - - - - - - Opaque #GstGhostPad structure. - - Create a new ghostpad with @target as the target. The direction will be taken -from the target pad. @target must be unlinked. -Will ref the target. - - a new #GstPad, or NULL in case of an error. - - - - - the name of the new pad, or NULL to assign a default name - - - - the pad to ghost. - - - - - - Create a new ghostpad with @target as the target. The direction will be taken -from the target pad. The template used on the ghostpad will be @template. -Will ref the target. - - a new #GstPad, or NULL in case of an error. - - - - - the name of the new pad, or NULL to assign a default name. - - - - the pad to ghost. - - - - the #GstPadTemplate to use on the ghostpad. - - - - - - Create a new ghostpad without a target with the given direction. -A target can be set on the ghostpad later with the -gst_ghost_pad_set_target() function. -The created ghostpad will not have a padtemplate. - - a new #GstPad, or NULL in case of an error. - - - - - the name of the new pad, or NULL to assign a default name. - - - - the direction of the ghostpad - - - - - - Create a new ghostpad based on @templ, without setting a target. The -direction will be taken from the @templ. - - a new #GstPad, or NULL in case of an error. - - - - - the name of the new pad, or NULL to assign a default name - - - - the #GstPadTemplate to create the ghostpad from. - - - - - - Finish initialization of a newly allocated ghost pad. -This function is most useful in language bindings and when subclassing -#GstGhostPad; plugin and application developers normally will not call this -function. Call this function directly after a call to g_object_new -(GST_TYPE_GHOST_PAD, "direction", @dir, ..., NULL). - - %TRUE if the construction succeeds, %FALSE otherwise. - - - - - Get the target pad of @gpad. Unref target pad after usage. -has no target set. Unref target pad after usage. - - the target #GstPad, can be NULL if the ghostpad - - - - - Set the new target of the ghostpad @gpad. Any existing target -is unlinked and links to the new target are established. if @newtarget is -NULL the target will be cleared. -can return FALSE when the internal pads could not be linked. - - TRUE if the new target could be set. This function - - - - - the new pad target - - - - - - - - - - - - - - - - - - - - - - - - - - - - Opaque #GstImplementsInterface structure. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Opaque #GstIndex structure. - - Create a new tileindex object - - a new index object - - - - - - - - - - - - - - - Tell the index that the writer with the given id is done -with this index and is not going to write any more entries -to it. - - - - - - the writer that commited the index - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Before entries can be added to the index, a writer -should obtain a unique id. The methods to add new entries -to the index require this id as an argument. -The application can implement a custom function to map the writer object -to a string. That string will be used to register or look up an id -in the index. - - TRUE if the writer would be mapped to an id. - - - - - - - - - - - - - Associate given format/value pairs with each other. -Be sure to pass gint64 values to this functions varargs, -you might want to use a gint64 cast to be sure. - - a pointer to the newly added entry in the index. - - - - - the id of the index writer - - - - optinal flags for this entry - - - - the format of the value - - - - the value - - - - - - - - - - Associate given format/value pairs with each other. - - a pointer to the newly added entry in the index. - - - - - the id of the index writer - - - - optinal flags for this entry - - - - number of associations - - - - list of associations - - - - - - Adds a format entry into the index. This function is -used to map dynamic GstFormat ids to their original -format key. - - a pointer to the newly added entry in the index. - - - - - the id of the index writer - - - - the format to add to the index - - - - - - Add an id entry into the index. - - a pointer to the newly added entry in the index. - - - - - the id of the index writer - - - - the description of the index writer - - - - - - Add the given object to the index with the given key. -This function is not yet implemented. - - a pointer to the newly added entry in the index. - - - - - the id of the index writer - - - - a key for the object - - - - the GType of the object - - - - a pointer to the object to add - - - - - - Tell the index that the writer with the given id is done -with this index and is not going to write any more entries -to it. - - - - - - the writer that commited the index - - - - - - Finds the given format/value in the index -value was not found. - - the entry associated with the value or NULL if the - - - - - the id of the index writer - - - - The lookup method to use - - - - Flags for the entry - - - - the format of the value - - - - the value to find - - - - - - Finds the given format/value in the index with the given -compare function and user_data. -value was not found. - - the entry associated with the value or NULL if the - - - - - the id of the index writer - - - - The lookup method to use - - - - Flags for the entry - - - - the format of the value - - - - the value to find - - - - the function used to compare entries - - - - user data passed to the compare function - - - - - - Get the certainty of the given index. - - the certainty of the index. - - - - - Get the id of the current group. - - the id of the current group. - - - - - Before entries can be added to the index, a writer -should obtain a unique id. The methods to add new entries -to the index require this id as an argument. -The application can implement a custom function to map the writer object -to a string. That string will be used to register or look up an id -in the index. - - TRUE if the writer would be mapped to an id. - - - - - the GstObject to allocate an id for - - - - a pointer to a gint to hold the id - - - - - - Create a new group for the given index. It will be -set as the current group. - - the id of the newly created group. - - - - - Set the certainty of the given index. - - - - - - the certainty to set - - - - - - Lets the app register a custom filter function so that -it can select what entries should be stored in the index. - - - - - - the filter to register - - - - data passed to the filter function - - - - - - Lets the app register a custom filter function so that -it can select what entries should be stored in the index. - - - - - - the filter to register - - - - data passed to the filter function - - - - function to call when @user_data is unset - - - - - - Set the current groupnumber to the given argument. -did not exist. - - TRUE if the operation succeeded, FALSE if the group - - - - - the groupnumber to set - - - - - - Lets the app register a custom function to map index -ids to writer descriptions. - - - - - - the resolver to register - - - - data passed to the resolver function - - - - - - Lets the app register a custom function to map index -ids to writer descriptions. - - - - - - the resolver to register - - - - data passed to the resolver function - - - - destroy function for @user_data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An association in an entry. - - - - - - - - - The certainty of a group in the index. - - - - - - - - - - - - TRUE if the writer would be mapped to an id. - - - - - - - - - - - - - - - - - - - - - - - - - - the writer that commited the index - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The basic element of an index. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets alternative formats associated with the indexentry. -format. - - TRUE if there was a value associated with the given - - - - - the format of the value the find - - - - a pointer to store the value - - - - - - Copies an entry and returns the result. - - a newly allocated #GstIndexEntry. - - - - - Free the memory used by the given entry. - - - - - - - The different types of entries in the index. - - - - - - - The GstIndexFactory object - - Create a new indexfactory with the given parameters - - a new #GstIndexFactory. - - - - - name of indexfactory to create - - - - long description of indexfactory to create - - - - the GType of the GstIndex element of this factory - - - - - - Search for an indexfactory of the given name. - - #GstIndexFactory if found, NULL otherwise - - - - - name of indexfactory to find - - - - - - Create a new #GstIndex instance from the -indexfactory with the given name. - - a new #GstIndex instance. - - - - - the name of the factory used to create the instance - - - - - - Create a new #GstIndex instance from the -given indexfactory. - - a new #GstIndex instance. - - - - - Removes the index from the global list. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Function to filter out entries in the index. -to the index, %FALSE otherwise. - - This function should return %TRUE if the entry is to be added - - - - - The index being queried - - - - The entry to be added. - - - - User data passed to the function. - - - - - - Flags for this index - - - - - - A group of related entries in an index. - - - - - - - - - - - - - - - - - Specify the method to find an index entry in the index. - - - - - - Function to resolve ids to writer descriptions. - - %TRUE if an id could be assigned to the writer. - - - - - the index being queried. - - - - The object that wants to write - - - - A description of the writer. - - - - user_data as registered - - - - - - The method used to resolve index writers - - - - - - #GstIterator base structure. The values of this structure are -protected for subclasses, use the methods to use the #GstIterator. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create a new iterator from an existing iterator. The new iterator -will only return those elements that match the given compare function @func. -in the iterator. -When this iterator is freed, @it will also be freed. -MT safe. - - a new #GstIterator. - - - - - the compare function to select elements - - - - user data passed to the compare function - - - - - - Find the first element in @it that matches the compare function @func. -the refcount of a refcounted object will be increased before @func is -called, and should be unrefed after use in @func unless it is the matching -element. -The iterator will not be freed. -This function will return NULL if an error happened to the iterator. -function or NULL when no element matched. -MT safe. - - The element in the iterator that matches the compare - - - - - the compare function to use - - - - user data passed to the compare function - - - - - - Folds @func over the elements of @iter. That is to say, @func will be called -as @func (object, @ret, @user_data) for each object in @it. The normal use -of this procedure is to accumulate the results of operating on the objects in -before @func is called, and it should be unrefed after use in @func. -This procedure can be used (and is used internally) to implement the -gst_iterator_foreach() and gst_iterator_find_custom() operations. -The fold will proceed as long as @func returns TRUE. When the iterator has no -more arguments, %GST_ITERATOR_DONE will be returned. If @func returns FALSE, -the fold will stop, and %GST_ITERATOR_OK will be returned. Errors or resyncs -will cause fold to return %GST_ITERATOR_ERROR or %GST_ITERATOR_RESYNC as -appropriate. -The iterator will not be freed. -MT safe. - - A #GstIteratorResult, as described above. - - - - - the fold function - - - - the seed value passed to the fold function - - - - user data passed to the fold function - - - - - - Iterate over all element of @it and call the given function @func for -each element. As in gst_iterator_fold(), the refcount of a refcounted -object will be increased before @func is called, and should be unrefed -after use. -freed. -MT safe. - - the result call to gst_iterator_fold(). The iterator will not be - - - - - the function to call for each element. - - - - user data passed to the function - - - - - - Free the iterator. -MT safe. - - - - - - Get the next item from the iterator in @elem. -Only when this function returns %GST_ITERATOR_OK, @elem will contain a valid -value. For iterators that return refcounted objects, the returned object -will have its refcount increased and should therefore be unreffed after -usage. -When this function returns %GST_ITERATOR_DONE, no more elements can be -retrieved from @it. -A return value of %GST_ITERATOR_RESYNC indicates that the element list was -concurrently updated. The user of @it should call gst_iterator_resync() to -get the newly updated list. -A return value of %GST_ITERATOR_ERROR indicates an unrecoverable fatal error. -is a refcounted object. -MT safe. - - The result of the iteration. Unref @elem after usage if this - - - - - pointer to hold next element - - - - - - Pushes @other iterator onto @it. All calls performed on @it are -forwarded to @other. If @other returns %GST_ITERATOR_DONE, it is -popped again and calls are handled by @it again. -This function is mainly used by objects implementing the iterator -next function to recurse into substructures. -When gst_iterator_resync() is called on @it, @other will automatically be -popped. -MT safe. - - - - - - The #GstIterator to push - - - - - - Resync the iterator. this function is mostly called -after gst_iterator_next() returned %GST_ITERATOR_RESYNC. -When an iterator was pushed on @it, it will automatically be popped again -with this function. -MT safe. - - - - - - - The function that will be called when a #GList iterator is freed. The -owner of the #GList iterator can then clean up its resources. - - - - - - the owner of the iterator - - - - - - A function to be passed to gst_iterator_fold(). - - TRUE if the fold should continue, FALSE if it should stop. - - - - - the item to fold - - - - a #GValue collecting the result - - - - data passed to gst_iterator_fold() - - - - - - This function will be called when the iterator is freed. -Implementors of a #GstIterator should implement this -function and pass it to the constructor of the custom iterator. -The function will be called with the iterator lock held. - - - - - - the iterator - - - - - - The result of a #GstIteratorItemFunction. - - - - - - The function that will be called after the next item of the iterator -has been retrieved. This function will typically increase the refcount -of the item or make a copy. -Implementors of a #GstIterator should implement this -function and pass it to the constructor of the custom iterator. -The function will be called with the iterator lock held. - - the result of the operation. - - - - - the iterator - - - - the item being retrieved. - - - - - - The function that will be called when the next element of the iterator -should be retrieved. -Implementors of a #GstIterator should implement this -function and pass it to the constructor of the custom iterator. -The function will be called with the iterator lock held. - - the result of the operation. - - - - - the iterator - - - - a pointer to hold the next item - - - - - - The result of gst_iterator_next(). - - - - - - - This function will be called whenever a concurrent update happened -to the iterated datastructure. The implementor of the iterator should -restart the iterator from the beginning and clean up any state it might -have. -Implementors of a #GstIterator should implement this -function and pass it to the constructor of the custom iterator. -The function will be called with the iterator lock held. - - - - - - the iterator - - - - - - - - - Library errors are for errors from the library being used by elements -(initializing, finalizing, settings, ...) - - - - - - - - - - Function prototype for a logging function that can be registered with -gst_debug_add_log_function(). -Use G_GNUC_NO_INSTRUMENT on that function. - - - - - - a #GstDebugCategory - - - - a #GstDebugLevel - - - - file name - - - - function name - - - - line number - - - - a #GObject - - - - the message - - - - user data for the log function - - - - - - - - - - - - A #GstMessage. - - Create a new application-typed message. GStreamer will never create these -messages; they are a gift from us to you. Enjoy. -MT safe. - - The new application message. - - - - - the object originating the message. - - - - the structure for the message. The message will take ownership of the structure. - - - - - - The message is posted when elements completed an ASYNC state change. -MT safe. - - The new async_done message. - - - - - The object originating the message. - - - - - - This message is posted by elements when they start an ASYNC state change. -PLAYING. -MT safe. - - The new async_start message. - - - - - The object originating the message. - - - - if a new base_time should be set on the element - - - - - - Create a new buffering message. This message can be posted by an element that -needs to buffer data before it can continue processing. @percent should be a -value between 0 and 100. A value of 100 means that the buffering completed. -When @percent is < 100 the application should PAUSE a PLAYING pipeline. When -The application must be prepared to receive BUFFERING messages in the -PREROLLING state and may only set the pipeline to PLAYING after receiving a -message with @percent set to 100, which can happen after the pipeline -completed prerolling. -MT safe. - - The new buffering message. - - - - - The object originating the message. - - - - The buffering percent - - - - - - Create a clock lost message. This message is posted whenever the -clock is not valid anymore. -If this message is posted by the pipeline, the pipeline will -select a new clock again when it goes to PLAYING. It might therefore -be needed to set the pipeline to PAUSED and PLAYING again. -MT safe. - - The new clock lost message. - - - - - the object originating the message. - - - - the clock that was lost - - - - - - Create a clock provide message. This message is posted whenever an -element is ready to provide a clock or lost its ability to provide -a clock (maybe because it paused or became EOS). -This message is mainly used internally to manage the clock -selection. -MT safe. - - the new provide clock message. - - - - - the object originating the message. - - - - the clock it provides - - - - TRUE if the sender can provide a clock - - - - - - Create a new custom-typed message. This can be used for anything not -handled by other message-specific functions to pass a message to the -app. The structure field can be NULL. -MT safe. - - The new message. - - - - - The #GstMessageType to distinguish messages - - - - The object originating the message. - - - - the structure for the message. The message will take ownership of the structure. - - - - - - Create a new duration message. This message is posted by elements that -know the duration of a stream in a specific format. This message -is received by bins and is used to calculate the total duration of a -pipeline. Elements may post a duration message with a duration of -GST_CLOCK_TIME_NONE to indicate that the duration has changed and the -cached duration should be discarded. The new duration can then be -retrieved via a query. -MT safe. - - The new duration message. - - - - - The object originating the message. - - - - The format of the duration - - - - The new duration - - - - - - Create a new element-specific message. This is meant as a generic way of -allowing one-way communication from an element to an application, for example -"the firewire cable was unplugged". The format of the message should be -documented in the element's documentation. The structure field can be NULL. -MT safe. - - The new element message. - - - - - The object originating the message. - - - - The structure for the message. The message will take ownership of the structure. - - - - - - Create a new eos message. This message is generated and posted in -the sink elements of a GstBin. The bin will only forward the EOS -message to the application if all sinks have posted an EOS message. -MT safe. - - The new eos message. - - - - - The object originating the message. - - - - - - Create a new error message. The message will copy @error and -occured. The pipeline will probably (partially) stop. The application -receiving this message should stop the pipeline. -MT safe. - - the new error message. - - - - - The object originating the message. - - - - The GError for this message. - - - - A debugging string. - - - - - - Create a new info message. The message will make copies of @error and -MT safe. - - the new info message. - - - - - The object originating the message. - - - - The GError for this message. - - - - A debugging string. - - - - - - This message can be posted by elements when their latency requirements have -changed. -MT safe. - - The new latency message. - - - - - The object originating the message. - - - - - - Create a new clock message. This message is posted whenever the -pipeline selectes a new clock for the pipeline. -MT safe. - - The new new clock message. - - - - - The object originating the message. - - - - the new selected clock - - - - - - A QOS message is posted on the bus whenever an element decides to drop a -buffer because of QoS reasons or whenever it changes its processing strategy -because of QoS reasons (quality adjustments such as processing at lower -accuracy). -This message can be posted by an element that performs synchronisation against the -clock (live) or it could be dropped by an element that performs QoS because of QOS -events received from a downstream element (!live). -respective running-time, stream-time, timestamp and duration of the (dropped) -buffer that generated the QoS event. Values can be left to -GST_CLOCK_TIME_NONE when unknown. -MT safe. - - The new qos message. - - - - - The object originating the message. - - - - if the message was generated by a live element - - - - the running time of the buffer that generated the message - - - - the stream time of the buffer that generated the message - - - - the timestamps of the buffer that generated the message - - - - the duration of the buffer that generated the message - - - - - - This message can be posted by elements when they want to have their state -changed. A typical use case would be an audio server that wants to pause the -pipeline because a higher priority stream is being played. -MT safe. - - the new requst state message. - - - - - the object originating the message. - - - - The new requested state - - - - - - Create a new segment done message. This message is posted by elements that -finish playback of a segment as a result of a segment seek. This message -is received by the application after all elements that posted a segment_start -have posted the segment_done. -MT safe. - - the new segment done message. - - - - - the object originating the message. - - - - The format of the position being done - - - - The position of the segment being done - - - - - - Create a new segment message. This message is posted by elements that -start playback of a segment as a result of a segment seek. This message -is not received by the application but is used for maintenance reasons in -container elements. -MT safe. - - the new segment start message. - - - - - The object originating the message. - - - - The format of the position being played - - - - The position of the segment being played - - - - - - Create a state change message. This message is posted whenever an element -changed its state. -MT safe. - - the new state change message. - - - - - the object originating the message - - - - the previous state - - - - the new (current) state - - - - the pending (target) state - - - - - - Create a state dirty message. This message is posted whenever an element -changed its state asynchronously and is used internally to update the -states of container objects. -MT safe. - - the new state dirty message. - - - - - the object originating the message - - - - - - This message is posted by elements when they complete a part, when @intermediate set -to TRUE, or a complete step operation. -MT safe. - - the new step_done message. - - - - - The object originating the message. - - - - the format of @amount - - - - the amount of stepped data - - - - the rate of the stepped amount - - - - is this an flushing step - - - - is this an intermediate step - - - - the duration of the data - - - - the step caused EOS - - - - - - This message is posted by elements when they accept or activate a new step -event for @amount in @format. -queued it for execution in the streaming threads. -is now ready to start executing the step in the streaming thread. After this -message is emited, the application can queue a new step operation in the -element. -MT safe. - - The new step_start message. - - - - - The object originating the message. - - - - if the step is active or queued - - - - the format of @amount - - - - the amount of stepped data - - - - the rate of the stepped amount - - - - is this an flushing step - - - - is this an intermediate step - - - - - - Create a new stream status message. This message is posted when a streaming -thread is created/destroyed or when the state changed. -MT safe. - - the new stream status message. - - - - - The object originating the message. - - - - The stream status type. - - - - the owner element of @src. - - - - - - Create a new structure change message. This message is posted when the -structure of a pipeline is in the process of being changed, for example -when pads are linked or unlinked. -MT safe. - - the new structure change message. - - - - - The object originating the message. - - - - The change type. - - - - The owner element of @src. - - - - Whether the structure change is busy. - - - - - - Create a new tag message. The message will take ownership of the tag list. -The message is posted by elements that discovered a new taglist. -MT safe. - - the new tag message. - - - - - The object originating the message. - - - - the tag list for the message. - - - - - - Create a new tag message. The message will take ownership of the tag list. -The message is posted by elements that discovered a new taglist. -MT safe. - - the new tag message. - - - - - the object originating the message. - - - - the originating pad for the tag. - - - - the tag list for the message. - - - - - - Create a new warning message. The message will make copies of @error and -MT safe. - - The new warning message. - - - - - The object originating the message. - - - - The GError for this message. - - - - A debugging string. - - - - - - Get a printable name for the given message type. Do not modify or free. - - a reference to the static name of the message. - - - - - the message type - - - - - - Get the unique quark for the given message type. - - the quark associated with the message type - - - - - the message type - - - - - - Retrieve the sequence number of a message. -Messages have ever-incrementing sequence numbers, which may also be set -explicitly via gst_message_set_seqnum(). Sequence numbers are typically used -to indicate that a message corresponds to some other set of messages or -events, for example a SEGMENT_DONE message corresponding to a SEEK event. It -is considered good practice to make this correspondence when possible, though -it is not required. -Note that events and messages share the same sequence number incrementor; -two events or messages will never not have the same sequence number unless -that correspondence was made explicitly. -MT safe. - - The message's sequence number. - - - - - Extracts the object managing the streaming thread from @message. -This object is usually of type GstTask but other types can be added in the -future. The object remains valid as long as @message is valid. - - a GValue containing the object that manages the streaming thread. - - - - - Access the structure of the message. -still owned by the message, which means that you should not free it and -that the pointer becomes invalid when you free the message. -MT safe. - - The structure of the message. The structure is - - - - - Extract the new_base_time from the async_start message. -MT safe. - - - - - - Result location for the new_base_time or NULL - - - - - - Extracts the buffering percent from the GstMessage. see also -gst_message_new_buffering(). -MT safe. - - - - - - Return location for the percent. - - - - - - Extracts the buffering stats values from @message. - - - - - - a buffering mode, or NULL - - - - the average input rate, or NULL - - - - the average output rate, or NULL - - - - amount of buffering time left in milliseconds, or NULL - - - - - - Extracts the lost clock from the GstMessage. -The clock object returned remains valid until the message is freed. -MT safe. - - - - - - a pointer to hold the lost clock - - - - - - Extracts the clock and ready flag from the GstMessage. -The clock object returned remains valid until the message is freed. -MT safe. - - - - - - a pointer to hold a clock object, or NULL - - - - a pointer to hold the ready flag, or NULL - - - - - - Extracts the duration and format from the duration message. The duration -might be GST_CLOCK_TIME_NONE, which indicates that the duration has -changed. Applications should always use a query to retrieve the duration -of a pipeline. -MT safe. - - - - - - Result location for the format, or NULL - - - - Result location for the duration, or NULL - - - - - - Extracts the GError and debug string from the GstMessage. The values returned -in the output arguments are copies; the caller must free them when done. -Typical usage of this function might be: -|[ -... -switch (GST_MESSAGE_TYPE (msg)) { -GError *err = NULL; -gchar *dbg_info = NULL; -gst_message_parse_error (msg, &amp;err, &amp;dbg_info); -GST_OBJECT_NAME (msg->src), err->message); -g_error_free (err); -g_free (dbg_info); -break; -} -... -} -... -]| -MT safe. - - - - - - location for the GError - - - - location for the debug message, or NULL - - - - - - Extracts the GError and debug string from the GstMessage. The values returned -in the output arguments are copies; the caller must free them when done. -MT safe. - - - - - - location for the GError - - - - location for the debug message, or NULL - - - - - - Extracts the new clock from the GstMessage. -The clock object returned remains valid until the message is freed. -MT safe. - - - - - - a pointer to hold the selected new clock - - - - - - Extract the timestamps and live status from the QoS message. -The returned values give the running_time, stream_time, timestamp and -duration of the dropped buffer. Values of GST_CLOCK_TIME_NONE mean unknown -values. -MT safe. - - - - - - if the message was generated by a live element - - - - the running time of the buffer that generated the message - - - - the stream time of the buffer that generated the message - - - - the timestamps of the buffer that generated the message - - - - the duration of the buffer that generated the message - - - - - - Extract the QoS stats representing the history of the current continuous -pipeline playback period. -When @format is @GST_FORMAT_UNDEFINED both @dropped and @processed are -invalid. Values of -1 for either @processed or @dropped mean unknown values. -MT safe. - - - - - - Units of the 'processed' and 'dropped' fields. Video sinks and video filters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters will likely use GST_FORMAT_DEFAULT (samples). - - - - Total number of units correctly processed since the last state change to READY or a flushing operation. - - - - Total number of units dropped since the last state change to READY or a flushing operation. - - - - - - Extract the QoS values that have been calculated/analysed from the QoS data -MT safe. - - - - - - The difference of the running-time against the deadline. - - - - Long term prediction of the ideal rate relative to normal rate to get optimal quality. - - - - An element dependent integer value that specifies the current quality level of the element. The default maximum quality is 1000000. - - - - - - Extract the requested state from the request_state message. -MT safe. - - - - - - Result location for the requested state or NULL - - - - - - Extracts the position and format from the segment start message. -MT safe. - - - - - - Result location for the format, or NULL - - - - Result location for the position, or NULL - - - - - - Extracts the position and format from the segment start message. -MT safe. - - - - - - Result location for the format, or NULL - - - - Result location for the position, or NULL - - - - - - Extracts the old and new states from the GstMessage. -Typical usage of this function might be: -|[ -... -switch (GST_MESSAGE_TYPE (msg)) { -GstState old_state, new_state; -gst_message_parse_state_changed (msg, &amp;old_state, &amp;new_state, NULL); -g_print ("Element %s changed state from %s to %s.\n", -GST_OBJECT_NAME (msg->src), -gst_element_state_get_name (old_state), -gst_element_state_get_name (new_state)); -break; -} -... -} -... -]| -MT safe. - - - - - - the previous state, or NULL - - - - the new (current) state, or NULL - - - - the pending (target) state, or NULL - - - - - - Extract the values the step_done message. -MT safe. - - - - - - result location for the format - - - - result location for the amount - - - - result location for the rate - - - - result location for the flush flag - - - - result location for the intermediate flag - - - - result location for the duration - - - - result location for the EOS flag - - - - - - Extract the values from step_start message. -MT safe. - - - - - - result location for the active flag - - - - result location for the format - - - - result location for the amount - - - - result location for the rate - - - - result location for the flush flag - - - - result location for the intermediate flag - - - - - - Extracts the stream status type and owner the GstMessage. The returned -owner remains valid for as long as the reference to @message is valid and -should thus not be unreffed. -MT safe. - - - - - - A pointer to hold the status type - - - - The owner element of the message source - - - - - - Extracts the change type and completion status from the GstMessage. -MT safe. - - - - - - A pointer to hold the change type - - - - The owner element of the message source - - - - a pointer to hold whether the change is in progress or has been completed - - - - - - Extracts the tag list from the GstMessage. The tag list returned in the -output argument is a copy; the caller must free it when done. -Typical usage of this function might be: -|[ -... -switch (GST_MESSAGE_TYPE (msg)) { -GstTagList *tags = NULL; -gst_message_parse_tag (msg, &amp;tags); -g_print ("Got tags from element %s\n", GST_OBJECT_NAME (msg->src)); -handle_tags (tags); -gst_tag_list_free (tags); -break; -} -... -} -... -]| -MT safe. - - - - - - return location for the tag-list. - - - - - - Extracts the tag list from the GstMessage. The tag list returned in the -output argument is a copy; the caller must free it when done. -MT safe. - - - - - - location where the originating pad is stored, unref after usage - - - - return location for the tag-list. - - - - - - Extracts the GError and debug string from the GstMessage. The values returned -in the output arguments are copies; the caller must free them when done. -MT safe. - - - - - - location for the GError - - - - location for the debug message, or NULL - - - - - - Configures the buffering stats values in @message. - - - - - - a buffering mode - - - - the average input rate - - - - the average output rate - - - - amount of buffering time left in milliseconds - - - - - - Set the QoS stats representing the history of the current continuous pipeline -playback period. -When @format is @GST_FORMAT_UNDEFINED both @dropped and @processed are -invalid. Values of -1 for either @processed or @dropped mean unknown values. -MT safe. - - - - - - Units of the 'processed' and 'dropped' fields. Video sinks and video filters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters will likely use GST_FORMAT_DEFAULT (samples). - - - - Total number of units correctly processed since the last state change to READY or a flushing operation. - - - - Total number of units dropped since the last state change to READY or a flushing operation. - - - - - - Set the QoS values that have been calculated/analysed from the QoS data -MT safe. - - - - - - The difference of the running-time against the deadline. - - - - Long term prediction of the ideal rate relative to normal rate to get optimal quality. - - - - An element dependent integer value that specifies the current quality level of the element. The default maximum quality is 1000000. - - - - - - Set the sequence number of a message. -This function might be called by the creator of a message to indicate that -the message relates to other messages or events. See gst_message_get_seqnum() -for more information. -MT safe. - - - - - - A sequence number. - - - - - - Configures the object handling the streaming thread. This is usually a -GstTask object but other objects might be added in the future. - - - - - - the object controlling the streaming - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The different message types that are available. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Base class for refcounted lightweight objects. - - Creates a new mini-object of the desired type. -MT safe - - the new mini-object. - - - - - the #GType of the mini-object to create - - - - - - Modifies a pointer to point to a new mini-object. The modification -is done atomically, and the reference counts are updated correctly. -Either @newdata and the value pointed to by @olddata may be NULL. - - - - - - pointer to a pointer to a mini-object to be replaced - - - - pointer to new mini-object - - - - - - Creates a copy of the mini-object. -MT safe - - the new mini-object. - - - - - Checks if a mini-object is writable. A mini-object is writable -if the reference count is one and the #GST_MINI_OBJECT_FLAG_READONLY -flag is not set. Modification of a mini-object should only be -done after verifying that it is writable. -MT safe - - TRUE if the object is writable. - - - - - Checks if a mini-object is writable. If not, a writable copy is made and -returned. This gives away the reference to the original mini object, -and returns a reference to the new object. -MT safe -is writable. - - a mini-object (possibly the same pointer) that - - - - - Increase the reference count of the mini-object. -Note that the refcount affects the writeability -of @mini-object, see gst_mini_object_is_writable(). It is -important to note that keeping additional references to -GstMiniObject instances can potentially increase the number -of memcpy operations in a pipeline, especially if the miniobject -is a #GstBuffer. - - the mini-object. - - - - - Decreases the reference count of the mini-object, possibly freeing -the mini-object. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Virtual function prototype for methods to create copies of instances. - - reference to cloned instance. - - - - - MiniObject to copy - - - - - - Virtual function prototype for methods to free ressources used by -mini-objects. Subclasses of the mini object are allowed to revive the -passed object by doing a gst_mini_object_ref(). If the object is not -revived after the finalize function, the memory associated with the -object is freed. - - - - - - MiniObject to finalize - - - - - - Flags for the padtemplate - - - - - - - - GStreamer base object class. - - Checks to see if there is any object named @name in @list. This function -does not do any locking of any kind. You might want to protect the -provided list with the lock of the owner of the list. This function -will lock each #GstObject in the list to compare the name, so be -carefull when passing a list with a locked object. -FALSE if it does. -MT safe. Grabs and releases the LOCK of each object in the list. - - TRUE if a #GstObject named @name does not appear in @list, - - - - - a list of #GstObject to check through - - - - - - the name to search for - - - - - - A default deep_notify signal callback for an object. The user data -should contain a pointer to an array of strings that should be excluded -from the notify. The default handler will print the new value of the property -using g_print. -MT safe. This function grabs and releases @object's LOCK for getting its -path string. - - - - - - the #GObject that signalled the notify. - - - - a #GstObject that initiated the notify. - - - - a #GParamSpec of the property. - - - - (array zero-terminated=1) (element-type gchar*) (allow-none):a set of user-specified properties to exclude or NULL to show all changes. - - - - - - Increments the reference count on @object. This function -does not take the lock on @object because it relies on -atomic refcounting. -This object returns the input parameter to ease writing -constructs like : -result = gst_object_ref (object->parent); - - A pointer to @object - - - - - a #GstObject to reference - - - - - - Increase the reference count of @object, and possibly remove the floating -reference, if @object has a floating reference. -In other words, if the object is floating, then this call "assumes ownership" -of the floating reference, converting it to a normal reference by clearing -the floating flag while leaving the reference count unchanged. If the object -is not floating, then this call adds a new normal reference increasing the -reference count by one. -MT safe. This function grabs and releases @object lock. - - - - - - a #GstObject to sink - - - - - - Unrefs the #GstObject pointed to by @oldobj, refs @newobj and -puts @newobj in *@oldobj. Be carefull when calling this -function, it does not take any locks. You might want to lock -the object owning @oldobj pointer before calling this -function. -Make sure not to LOCK @oldobj because it might be unreffed -which could cause a deadlock when it is disposed. - - - - - - pointer to a place of a #GstObject to replace - - - - a new #GstObject - - - - - - If @object was floating, the #GST_OBJECT_FLOATING flag is removed -and @object is unreffed. When @object was not floating, -this function does nothing. -Any newly created object has a refcount of 1 and is floating. -This function should be used when creating a new object to -symbolically 'take ownership' of @object. This done by first doing a -gst_object_ref() to keep a reference to @object and then gst_object_sink() -to remove and unref any floating references to @object. -Use gst_object_set_parent() to have this done for you. -MT safe. This function grabs and releases @object lock. - - - - - - a #GstObject to sink - - - - - - Decrements the reference count on @object. If reference count hits -zero, destroy @object. This function does not take the lock -on @object as it relies on atomic refcounting. -The unref method should never be called with the LOCK held since -this might deadlock the dispose function. - - - - - - a #GstObject to unreference - - - - - - Restores @object with the data from the parent XML node. - - - - - - The XML node to load @object from - - - - - - Saves @object into the parent XML node. - - the new xmlNodePtr with the saved object - - - - - The parent XML node to save @object into - - - - - - A default error function. -The default handler will simply print the error string using g_print. - - - - - - the GError. - - - - an additional debug information string, or NULL - - - - - - Returns a copy of the name of @object. -Caller should g_free() the return value after usage. -For a nameless object, this returns NULL, which you can safely g_free() -as well. -MT safe. This function grabs and releases @object's LOCK. - - the name of @object. g_free() after usage. - - - - - Returns a copy of the name prefix of @object. -Caller should g_free() the return value after usage. -For a prefixless object, this returns NULL, which you can safely g_free() -as well. -MT safe. This function grabs and releases @object's LOCK. -for anything. - - the name prefix of @object. g_free() after usage. - - - - - Returns the parent of @object. This function increases the refcount -of the parent object so you should gst_object_unref() it after usage. -has no parent. unref after usage. -MT safe. Grabs and releases @object's LOCK. - - parent of @object, this can be NULL if @object - - - - - Generates a string describing the path of @object in -the object hierarchy. Only useful (or used) for debugging. -g_free() the string after usage. -MT safe. Grabs and releases the #GstObject's LOCK for all objects -in the hierarchy. - - a string describing the path of @object. You must - - - - - Check if @object has an ancestor @ancestor somewhere up in -the hierarchy. One can e.g. check if a #GstElement is inside a #GstPipeline. -MT safe. Grabs and releases @object's locks. - - TRUE if @ancestor is an ancestor of @object. - - - - - a #GstObject to check as ancestor - - - - - - Restores @object with the data from the parent XML node. - - - - - - The XML node to load @object from - - - - - - Saves @object into the parent XML node. - - the new xmlNodePtr with the saved object - - - - - The parent XML node to save @object into - - - - - - Sets the name of @object, or gives @object a guaranteed unique -name (if @name is NULL). -This function makes a copy of the provided name, so the caller -retains ownership of the name it sent. -a parent cannot be renamed, this function returns FALSE in those -cases. -MT safe. This function grabs and releases @object's LOCK. - - TRUE if the name could be set. Since Objects that have - - - - - new name of object - - - - - - Sets the name prefix of @object to @name_prefix. -This function makes a copy of the provided name prefix, so the caller -retains ownership of the name prefix it sent. -MT safe. This function grabs and releases @object's LOCK. -for anything. - - - - - - new name prefix of @object - - - - - - Sets the parent of @object to @parent. The object's reference count will -be incremented, and any floating reference will be removed (see gst_object_sink()). -This function causes the parent-set signal to be emitted when the parent -was successfully set. -already had a parent or @object and @parent are the same. -MT safe. Grabs and releases @object's LOCK. - - TRUE if @parent could be set or FALSE when @object - - - - - new parent of object - - - - - - Clear the parent of @object, removing the associated reference. -This function decreases the refcount of @object. -MT safe. Grabs and releases @object's lock. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The deep notify signal is used to be notified of property changes. It is -typically attached to the toplevel bin to receive notifications from all -the elements contained in that bin. - - - - - - the object that originated the signal - - - - the property that changed - - - - - - Trigered whenever a new object is saved to XML. You can connect to this -signal to insert custom XML tags into the core XML. - - - - - - the xmlNodePtr of the parent node - - - - - - Emitted when the parent of an object is set. - - - - - - the new parent - - - - - - Emitted when the parent of an object is unset. - - - - - - the old parent - - - - - - - GStreamer base object class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - the new xmlNodePtr with the saved object - - - - - - - - The parent XML node to save @object into - - - - - - - - - - - - - - - - The XML node to load @object from - - - - - - - - - - - - - The standard flags that an gstobject may have. - - - - - - - - - - - - - - - - - - - - - - - - The #GstPad structure. Use the functions to update the variables. - - Creates a new pad with the given name in the given direction. -If name is NULL, a guaranteed unique name (across all pads) -will be assigned. -This function makes a copy of the name so you can safely free the name. -MT safe. - - a new #GstPad, or NULL in case of an error. - - - - - the name of the new pad. - - - - the #GstPadDirection of the pad. - - - - - - Creates a new pad with the given name from the given static template. -If name is NULL, a guaranteed unique name (across all pads) -will be assigned. -This function makes a copy of the name so you can safely free the name. - - a new #GstPad, or NULL in case of an error. - - - - - the #GstStaticPadTemplate to use - - - - the name of the element - - - - - - Creates a new pad with the given name from the given template. -If name is NULL, a guaranteed unique name (across all pads) -will be assigned. -This function makes a copy of the name so you can safely free the name. - - a new #GstPad, or NULL in case of an error. - - - - - the pad template to use - - - - the name of the element - - - - - - Reads the pad definition from the XML node and links the given pad -in the element to a pad of an element up in the hierarchy. - - - - - - an #xmlNodePtr to read the description from. - - - - the #GstObject element that owns the pad. - - - - - - Check if the given pad accepts the caps. - - TRUE if the pad can accept the caps. - - - - - a #GstCaps to check on the pad - - - - - - Activates or deactivates the given pad in pull mode via dispatching to the -pad's activatepullfunc. For use from within pad activation functions only. -When called on sink pads, will first proxy the call to the peer pad, which -is expected to activate its internally linked pads from within its -activate_pull function. -If you don't know what this is, you probably don't want to call it. -MT safe. - - TRUE if the operation was successful. - - - - - whether or not the pad should be active. - - - - - - Activates or deactivates the given pad in push mode via dispatching to the -pad's activatepushfunc. For use from within pad activation functions only. -If you don't know what this is, you probably don't want to call it. -MT safe. - - %TRUE if the operation was successful. - - - - - whether the pad should be active or not. - - - - - - Adds a probe that will be called for all buffers passing through a pad. See -gst_pad_add_data_probe() for more information. - - The handler id - - - - - function to call when buffers are passed over pad - - - - data to pass along with the handler - - - - - - Adds a probe that will be called for all buffers passing through a pad. See -gst_pad_add_data_probe() for more information. -The @notify function is called when the probe is disconnected and usually -used to free @data. - - The handler id - - - - - function to call when buffer are passed over pad - - - - data to pass along with the handler - - - - function to call when the probe is disconnected, or NULL - - - - - - Adds a "data probe" to a pad. This function will be called whenever data -passes through a pad. In this case data means both events and buffers. The -probe will be called with the data as an argument, meaning @handler should -have the same callback signature as the #GstPad::have-data signal. -Note that the data will have a reference count greater than 1, so it will -be immutable -- you must not change it. -For source pads, the probe will be called after the blocking function, if any -(see gst_pad_set_blocked_async()), but before looking up the peer to chain -to. For sink pads, the probe function will be called before configuring the -sink with new caps, if any, and before calling the pad's chain function. -Your data probe should return TRUE to let the data continue to flow, or FALSE -to drop it. Dropping data is rarely useful, but occasionally comes in handy -with events. -Although probes are implemented internally by connecting @handler to the -have-data signal on the pad, if you want to remove a probe it is insufficient -to only call g_signal_handler_disconnect on the returned handler id. To -remove a probe, use the appropriate function, such as -gst_pad_remove_data_probe(). - - The handler id. - - - - - function to call when data is passed over pad - - - - data to pass along with the handler - - - - - - Adds a "data probe" to a pad. This function will be called whenever data -passes through a pad. In this case data means both events and buffers. The -probe will be called with the data as an argument, meaning @handler should -have the same callback signature as the #GstPad::have-data signal. -Note that the data will have a reference count greater than 1, so it will -be immutable -- you must not change it. -For source pads, the probe will be called after the blocking function, if any -(see gst_pad_set_blocked_async()), but before looking up the peer to chain -to. For sink pads, the probe function will be called before configuring the -sink with new caps, if any, and before calling the pad's chain function. -Your data probe should return TRUE to let the data continue to flow, or FALSE -to drop it. Dropping data is rarely useful, but occasionally comes in handy -with events. -Although probes are implemented internally by connecting @handler to the -have-data signal on the pad, if you want to remove a probe it is insufficient -to only call g_signal_handler_disconnect on the returned handler id. To -remove a probe, use the appropriate function, such as -gst_pad_remove_data_probe(). -The @notify function is called when the probe is disconnected and usually -used to free @data. - - The handler id. - - - - - function to call when data is passed over pad - - - - data to pass along with the handler - - - - function to call when the probe is disconnected, or NULL - - - - - - Adds a probe that will be called for all events passing through a pad. See -gst_pad_add_data_probe() for more information. - - The handler id - - - - - function to call when events are passed over pad - - - - data to pass along with the handler - - - - - - Adds a probe that will be called for all events passing through a pad. See -gst_pad_add_data_probe() for more information. -The @notify function is called when the probe is disconnected and usually -used to free @data. - - The handler id - - - - - function to call when events are passed over pad - - - - data to pass along with the handler, or NULL - - - - function to call when probe is disconnected, or NULL - - - - - - Allocates a new, empty buffer optimized to push to pad @pad. This -function only works if @pad is a source pad and has a peer. -A new, empty #GstBuffer will be put in the @buf argument. -You need to check the caps of the buffer after performing this -function and renegotiate to the format if needed. If the caps changed, it is -possible that the buffer returned in @buf is not of the right size for the -new format, @buf needs to be unreffed and reallocated if this is the case. -result code other than #GST_FLOW_OK is an error and @buf should -not be used. -An error can occur if the pad is not connected or when the downstream -peer elements cannot provide an acceptable buffer. -MT safe. - - a result code indicating success of the operation. Any - - - - - the offset of the new buffer in the stream - - - - the size of the new buffer - - - - the caps of the new buffer - - - - a newly allocated buffer - - - - - - In addition to the function gst_pad_alloc_buffer(), this function -automatically calls gst_pad_set_caps() when the caps of the -newly allocated buffer are different from the @pad caps. -After a renegotiation, the size of the new buffer returned in @buf could -be of the wrong size for the new format and must be unreffed an reallocated -in that case. -result code other than #GST_FLOW_OK is an error and @buf should -not be used. -An error can occur if the pad is not connected or when the downstream -peer elements cannot provide an acceptable buffer. -MT safe. - - a result code indicating success of the operation. Any - - - - - the offset of the new buffer in the stream - - - - the size of the new buffer - - - - the caps of the new buffer - - - - a newly allocated buffer - - - - - - Checks if the source pad and the sink pad are compatible so they can be -linked. - - TRUE if the pads can be linked. - - - - - the sink #GstPad. - - - - - - Chain a buffer to @pad. -The function returns #GST_FLOW_WRONG_STATE if the pad was flushing. -If the caps on @buffer are different from the current caps on @pad, this -function will call any setcaps function (see gst_pad_set_setcaps_function()) -installed on @pad. If the new caps are not acceptable for @pad, this -function returns #GST_FLOW_NOT_NEGOTIATED. -The function proceeds calling the chain function installed on @pad (see -gst_pad_set_chain_function()) and the return value of that function is -returned to the caller. #GST_FLOW_NOT_SUPPORTED is returned if @pad has no -chain function. -In all cases, success or failure, the caller loses its reference to @buffer -after calling this function. -MT safe. - - a #GstFlowReturn from the pad. - - - - - the #GstBuffer to send, return GST_FLOW_ERROR if not. - - - - - - Chain a bufferlist to @pad. -The function returns #GST_FLOW_WRONG_STATE if the pad was flushing. -If the caps on the first buffer of @list are different from the current -caps on @pad, this function will call any setcaps function -(see gst_pad_set_setcaps_function()) installed on @pad. If the new caps -are not acceptable for @pad, this function returns #GST_FLOW_NOT_NEGOTIATED. -The function proceeds calling the chainlist function installed on @pad (see -gst_pad_set_chain_list_function()) and the return value of that function is -returned to the caller. #GST_FLOW_NOT_SUPPORTED is returned if @pad has no -chainlist function. -In all cases, success or failure, the caller loses its reference to @list -after calling this function. -MT safe. - - a #GstFlowReturn from the pad. - - - - - the #GstBufferList to send, return GST_FLOW_ERROR if not. - - - - - - Checks if a gst_pad_pull_range() can be performed on the peer -source pad. This function is used by plugins that want to check -if they can use random access on the peer source pad. -The peer sourcepad can implement a custom #GstPadCheckGetRangeFunction -if it needs to perform some logic to determine if pull_range is -possible. -MT safe. - - a gboolean with the result. - - - - - Invokes the given dispatcher function on each respective peer of -all pads that are internally linked to the given pad. -The GstPadDispatcherFunction should return TRUE when no further pads -need to be processed. - - TRUE if one of the dispatcher functions returned TRUE. - - - - - the #GstPadDispatcherFunction to call. - - - - gpointer user data passed to the dispatcher function. - - - - - - Invokes the default event handler for the given pad. End-of-stream and -discontinuity events are handled specially, and then the event is sent to all -pads internally linked to @pad. Note that if there are many possible sink -pads that are internally linked to @pad, only one will be sent an event. -Multi-sinkpad elements should implement custom event handlers. - - TRUE if the event was sent succesfully. - - - - - the #GstEvent to handle. - - - - - - Fixate a caps on the given pad. Modifies the caps in place, so you should -make sure that the caps are actually writable (see gst_caps_make_writable()). - - - - - - the #GstCaps to fixate - - - - - - Gets the capabilities of the allowed media types that can flow through -The allowed capabilities is calculated as the intersection of the results of -calling gst_pad_get_caps() on @pad and its peer. The caller owns a reference -on the resulting caps. -caps when you no longer need it. This function returns NULL when @pad -has no peer. -MT safe. - - the allowed #GstCaps of the pad link. Unref the - - - - - Gets the capabilities this pad can produce or consume. -Note that this method doesn't necessarily return the caps set by -gst_pad_set_caps() - use GST_PAD_CAPS() for that instead. -gst_pad_get_caps returns all possible caps a pad can operate with, using -the pad's get_caps function; -this returns the pad template caps if not explicitly set. -MT safe. - - a newly allocated copy of the #GstCaps of this pad - - - - - Gets the capabilities this pad can produce or consume. Preferred function if -one only wants to read or intersect the caps. - - the caps of the pad with incremented ref-count. - - - - - Gets the direction of the pad. The direction of the pad is -decided at construction time so this function does not take -the LOCK. -MT safe. - - the #GstPadDirection of the pad. - - - - - Gets the private data of a pad. -No locking is performed in this function. - - a #gpointer to the private data. - - - - - A helper function you can use as a GetCaps function that -will return the currently negotiated caps or the padtemplate -when NULL. - - the currently negotiated caps or the padtemplate. - - - - - Gets a list of pads to which the given pad is linked to -inside of the parent element. -The caller must free this list after use. -Not MT safe. -of pads, free with g_list_free(). -could become invalid by the time the application accesses them. It's also -possible that the list changes while handling the pads, which the caller of -this function is unable to know. Use the thread-safe -gst_pad_iterate_internal_links() instead. - - a newly allocated #GList - - - - - - - Gets a list of pads to which the given pad is linked to -inside of the parent element. -This is the default handler, and thus returns a list of all of the -pads inside the parent element with opposite direction. -The caller must free this list after use with g_list_free(). -of pads, or NULL if the pad has no parent. -Not MT safe. -could become invalid by the time the application accesses them. It's also -possible that the list changes while handling the pads, which the caller of -this function is unable to know. Use the thread-safe -gst_pad_iterate_internal_links_default() instead. - - a newly allocated #GList - - - - - - - Gets the capabilities of the media type that currently flows through @pad -and its peer. -This function can be used on both src and sinkpads. Note that srcpads are -always negotiated before sinkpads so it is possible that the negotiated caps -on the srcpad do not match the negotiated caps of the peer. -the caps when you no longer need it. This function returns NULL when -the @pad has no peer or is not negotiated yet. -MT safe. - - the negotiated #GstCaps of the pad link. Unref - - - - - Gets the template for @pad. -instantiated, or %NULL if this pad has no template. - - the #GstPadTemplate from which this pad was - - - - - Gets the capabilities for @pad's template. -to keep a reference on the caps, make a copy (see gst_caps_copy ()). - - the #GstCaps of this pad template. If you intend - - - - - Gets the parent of @pad, cast to a #GstElement. If a @pad has no parent or -its parent is not an element, return NULL. -reference on the parent, so unref when you're finished with it. -MT safe. - - the parent of the pad. The caller has a - - - - - Gets the peer of @pad. This function refs the peer pad so -you need to unref it after use. -MT safe. - - the peer #GstPad. Unref after usage. - - - - - Get an array of supported queries that can be performed -on this pad. -of #GstQueryType. - - a zero-terminated array - - - - - - - Invoke the default dispatcher for the query types on -the pad. -of #GstQueryType, or NULL if none of the internally-linked pads has a -query types function. - - a zero-terminated array - - - - - - - When @pad is flushing this function returns #GST_FLOW_WRONG_STATE -immediatly and @buffer is %NULL. -Calls the getrange function of @pad, see #GstPadGetRangeFunction for a -description of a getrange function. If @pad has no getrange function -installed (see gst_pad_set_getrange_function()) this function returns -#GST_FLOW_NOT_SUPPORTED. -This is a lowlevel function. Usualy gst_pad_pull_range() is used. -MT safe. - - a #GstFlowReturn from the pad. - - - - - The start offset of the buffer - - - - The length of the buffer - - - - a pointer to hold the #GstBuffer, returns #GST_FLOW_ERROR if %NULL. - - - - - - Query if a pad is active -MT safe. - - TRUE if the pad is active. - - - - - Checks if the pad is blocked or not. This function returns the -last requested state of the pad. It is not certain that the pad -is actually blocking at this point (see gst_pad_is_blocking()). -MT safe. - - TRUE if the pad is blocked. - - - - - Checks if the pad is blocking or not. This is a guaranteed state -of whether the pad is actually blocking on a #GstBuffer or a #GstEvent. -MT safe. - - TRUE if the pad is blocking. - - - - - Checks if a @pad is linked to another pad or not. -MT safe. - - TRUE if the pad is linked, FALSE otherwise. - - - - - Gets an iterator for the pads to which the given pad is linked to inside -of the parent element. -Each #GstPad element yielded by the iterator will have its refcount increased, -so unref after use. -pad does not have an iterator function configured. Use -gst_iterator_free() after usage. - - a new #GstIterator of #GstPad or %NULL when the - - - - - Iterate the list of pads to which the given pad is linked to inside of -the parent element. -This is the default handler, and thus returns an iterator of all of the -pads inside the parent element with opposite direction. -The caller must free this iterator after use with gst_iterator_free(). -returned pad with gst_object_unref(). - - a #GstIterator of #GstPad, or NULL if @pad has no parent. Unref each - - - - - Links the source pad and the sink pad. -what went wrong. -MT Safe. - - A result code indicating if the connection worked or - - - - - the sink #GstPad to link. - - - - - - Links the source pad and the sink pad. -This variant of #gst_pad_link provides a more granular control on the -checks being done when linking. While providing some considerable speedups -the caller of this method must be aware that wrong usage of those flags -can cause severe issues. Refer to the documentation of #GstPadLinkCheck -for more information. -MT Safe. -what went wrong. - - A result code indicating if the connection worked or - - - - - the sink #GstPad to link. - - - - the checks to validate when linking - - - - - - Pause the task of @pad. This function will also wait until the -function executed by the task is finished if this function is not -called from the task function. -has no task. - - a TRUE if the task could be paused or FALSE when the pad - - - - - Check if the peer of @pad accepts @caps. If @pad has no peer, this function -returns TRUE. - - TRUE if the peer of @pad can accept the caps or @pad has no peer. - - - - - a #GstCaps to check on the pad - - - - - - Gets the capabilities of the peer connected to this pad. Similar to -gst_pad_get_caps(). -peer pad. Use gst_caps_unref() to get rid of it. This function -returns %NULL if there is no peer pad. - - a newly allocated copy of the #GstCaps of the - - - - - Gets the capabilities of the peer connected to this pad. Preferred function -if one only wants to read or intersect the caps. - - the caps of the pad with incremented ref-count - - - - - Performs gst_pad_query() on the peer of @pad. -The caller is responsible for both the allocation and deallocation of -the query structure. -if @pad has no peer. - - TRUE if the query could be performed. This function returns %FALSE - - - - - the #GstQuery to perform. - - - - - - Calls gst_pad_get_allowed_caps() for every other pad belonging to the -same element as @pad, and returns the intersection of the results. -This function is useful as a default getcaps function for an element -that can handle any stream format, but requires all its pads to have -the same caps. Two such elements are tee and adder. - - the intersection of the other pads' allowed caps. - - - - - - - - - - - - - - - Pulls a @buffer from the peer pad. -This function will first trigger the pad block signal if it was -installed. -When @pad is not linked #GST_FLOW_NOT_LINKED is returned else this -function returns the result of gst_pad_get_range() on the peer pad. -See gst_pad_get_range() for a list of return values and for the -semantics of the arguments of this function. -configured on @pad. Renegotiation within a running pull-mode pipeline is not -supported. -When this function returns #GST_FLOW_OK, @buffer will contain a valid -#GstBuffer that should be freed with gst_buffer_unref() after usage. -#GST_FLOW_OK is returned. -MT safe. - - a #GstFlowReturn from the peer pad. - - - - - The start offset of the buffer - - - - The length of the buffer - - - - a pointer to hold the #GstBuffer, returns GST_FLOW_ERROR if %NULL. - - - - - - Pushes a buffer to the peer of @pad. -This function will call an installed pad block before triggering any -installed pad probes. -If the caps on @buffer are different from the currently configured caps on -gst_pad_set_setcaps_function()). In case of failure to renegotiate the new -format, this function returns #GST_FLOW_NOT_NEGOTIATED. -The function proceeds calling gst_pad_chain() on the peer pad and returns -the value from that function. If @pad has no peer, #GST_FLOW_NOT_LINKED will -be returned. -In all cases, success or failure, the caller loses its reference to @buffer -after calling this function. -MT safe. - - a #GstFlowReturn from the peer pad. - - - - - the #GstBuffer to push returns GST_FLOW_ERROR if not. - - - - - - Sends the event to the peer of the given pad. This function is -mainly used by elements to send events to their peer -elements. -This function takes owership of the provided event so you should -gst_event_ref() it if you want to reuse the event after this call. -MT safe. - - TRUE if the event was handled. - - - - - the #GstEvent to send to the pad. - - - - - - Pushes a buffer list to the peer of @pad. -This function will call an installed pad block before triggering any -installed pad probes. -If the caps on the first buffer in the first group of @list are different -from the currently configured caps on @pad, this function will call any -installed setcaps function on @pad (see gst_pad_set_setcaps_function()). In -case of failure to renegotiate the new format, this function returns -#GST_FLOW_NOT_NEGOTIATED. -If there are any probes installed on @pad every group of the buffer list -will be merged into a normal #GstBuffer and pushed via gst_pad_push and the -buffer list will be unreffed. -The function proceeds calling the chain function on the peer pad and returns -the value from that function. If @pad has no peer, #GST_FLOW_NOT_LINKED will -be returned. If the peer pad does not have any installed chainlist function -every group buffer of the list will be merged into a normal #GstBuffer and -chained via gst_pad_chain(). -In all cases, success or failure, the caller loses its reference to @list -after calling this function. -MT safe. - - a #GstFlowReturn from the peer pad. - - - - - the #GstBufferList to push returns GST_FLOW_ERROR if not. - - - - - - Dispatches a query to a pad. The query should have been allocated by the -caller via one of the type-specific allocation functions. The element that -the pad belongs to is responsible for filling the query with an appropriate -response, which should then be parsed with a type-specific query parsing -function. -Again, the caller is responsible for both the allocation and deallocation of -the query structure. -Please also note that some queries might need a running pipeline to work. - - TRUE if the query could be performed. - - - - - the #GstQuery to perform. - - - - - - Queries a pad to convert @src_val in @src_format to @dest_format. - - TRUE if the query could be performed. - - - - - a #GstFormat to convert from. - - - - a value to convert. - - - - a pointer to the #GstFormat to convert to. - - - - a pointer to the result. - - - - - - Invokes the default query handler for the given pad. -The query is sent to all pads internally linked to @pad. Note that -if there are many possible sink pads that are internally linked to -Multi-sinkpad elements should implement custom query handlers. - - TRUE if the query was performed succesfully. - - - - - the #GstQuery to handle. - - - - - - Queries a pad for the total stream duration. - - TRUE if the query could be performed. - - - - - a pointer to the #GstFormat asked for. On return contains the #GstFormat used. - - - - a location in which to store the total duration, or NULL. - - - - - - Queries the peer pad of a given sink pad to convert @src_val in @src_format -to @dest_format. - - TRUE if the query could be performed. - - - - - a #GstFormat to convert from. - - - - a value to convert. - - - - a pointer to the #GstFormat to convert to. - - - - a pointer to the result. - - - - - - Queries the peer pad of a given sink pad for the total stream duration. - - TRUE if the query could be performed. - - - - - a pointer to the #GstFormat asked for. On return contains the #GstFormat used. - - - - a location in which to store the total duration, or NULL. - - - - - - Queries the peer of a given sink pad for the stream position. - - TRUE if the query could be performed. - - - - - a pointer to the #GstFormat asked for. On return contains the #GstFormat used. - - - - a location in which to store the current position, or NULL. - - - - - - Queries a pad for the stream position. - - TRUE if the query could be performed. - - - - - a pointer to the #GstFormat asked for. On return contains the #GstFormat used. - - - - A location in which to store the current position, or NULL. - - - - - - Removes a buffer probe from @pad. - - - - - - handler id returned from gst_pad_add_buffer_probe - - - - - - Removes a data probe from @pad. - - - - - - handler id returned from gst_pad_add_data_probe - - - - - - Removes an event probe from @pad. - - - - - - handler id returned from gst_pad_add_event_probe - - - - - - Sends the event to the pad. This function can be used -by applications to send events in the pipeline. -If @pad is a source pad, @event should be an upstream event. If @pad is a -sink pad, @event should be a downstream event. For example, you would not -send a #GST_EVENT_EOS on a src pad; EOS events only propagate downstream. -Furthermore, some downstream events have to be serialized with data flow, -like EOS, while some can travel out-of-band, like #GST_EVENT_FLUSH_START. If -the event needs to be serialized with data flow, this function will take the -pad's stream lock while calling its event function. -To find out whether an event type is upstream, downstream, or downstream and -serialized, see #GstEventTypeFlags, gst_event_type_get_flags(), -#GST_EVENT_IS_UPSTREAM, #GST_EVENT_IS_DOWNSTREAM, and -#GST_EVENT_IS_SERIALIZED. Note that in practice that an application or -plugin doesn't need to bother itself with this information; the core handles -all necessary locks and checks. -This function takes owership of the provided event so you should -gst_event_ref() it if you want to reuse the event after this call. - - TRUE if the event was handled. - - - - - the #GstEvent to send to the pad. - - - - - - Sets the given acceptcaps function for the pad. The acceptcaps function -will be called to check if the pad can accept the given caps. Setting the -acceptcaps function to NULL restores the default behaviour of allowing -any caps that matches the caps from gst_pad_get_caps(). - - - - - - the #GstPadAcceptCapsFunction to set. - - - - - - Sets the given activate function for @pad. The activate function will -dispatch to gst_pad_activate_push() or gst_pad_activate_pull() to perform -the actual activation. Only makes sense to set on sink pads. -Call this function if your sink pad can start a pull-based task. - - - - - - the #GstPadActivateFunction to set. - - - - - - Sets the given activate_pull function for the pad. An activate_pull function -prepares the element and any upstream connections for pulling. See XXX -part-activation.txt for details. - - - - - - the #GstPadActivateModeFunction to set. - - - - - - Sets the given activate_push function for the pad. An activate_push function -prepares the element for pushing. See XXX part-activation.txt for details. - - - - - - the #GstPadActivateModeFunction to set. - - - - - - Activates or deactivates the given pad. -Normally called from within core state change functions. -If @active, makes sure the pad is active. If it is already active, either in -push or pull mode, just return. Otherwise dispatches to the pad's activate -function to perform the actual activation. -If not @active, checks the pad's current mode and calls -gst_pad_activate_push() or gst_pad_activate_pull(), as appropriate, with a -FALSE argument. -MT safe. - - #TRUE if the operation was successful. - - - - - whether or not the pad should be active. - - - - - - Blocks or unblocks the dataflow on a pad. This function is -a shortcut for gst_pad_set_blocked_async() with a NULL -callback. -wrong parameters were passed or the pad was already in the requested state. -MT safe. - - TRUE if the pad could be blocked. This function can fail if the - - - - - boolean indicating we should block or unblock - - - - - - Blocks or unblocks the dataflow on a pad. The provided callback -is called when the operation succeeds; this happens right before the next -attempt at pushing a buffer on the pad. -This can take a while as the pad can only become blocked when real dataflow -is happening. -When the pipeline is stalled, for example in PAUSED, this can -take an indeterminate amount of time. -You can pass NULL as the callback to make this call block. Be careful with -this blocking call as it might not return for reasons stated above. -wrong parameters were passed or the pad was already in the requested state. -MT safe. - - TRUE if the pad could be blocked. This function can fail if the - - - - - boolean indicating whether the pad should be blocked or unblocked - - - - #GstPadBlockCallback that will be called when the operation succeeds - - - - user data passed to the callback - - - - - - Blocks or unblocks the dataflow on a pad. The provided callback -is called when the operation succeeds; this happens right before the next -attempt at pushing a buffer on the pad. -This can take a while as the pad can only become blocked when real dataflow -is happening. -When the pipeline is stalled, for example in PAUSED, this can -take an indeterminate amount of time. -You can pass NULL as the callback to make this call block. Be careful with -this blocking call as it might not return for reasons stated above. -wrong parameters were passed or the pad was already in the requested state. -MT safe. - - TRUE if the pad could be blocked. This function can fail if the - - - - - boolean indicating whether the pad should be blocked or unblocked - - - - #GstPadBlockCallback that will be called when the operation succeeds - - - - user data passed to the callback - - - - #GDestroyNotify for user_data - - - - - - Sets the given bufferalloc function for the pad. Note that the -bufferalloc function can only be set on sinkpads. - - - - - - the #GstPadBufferAllocFunction to set. - - - - - - Sets the capabilities of this pad. The caps must be fixed. Any previous -caps on the pad will be unreffed. This function refs the caps so you should -unref if as soon as you don't need it anymore. -It is possible to set NULL caps, which will make the pad unnegotiated -again. -or bad parameters were provided to this function. -MT safe. - - TRUE if the caps could be set. FALSE if the caps were not fixed - - - - - a #GstCaps to set. - - - - - - Sets the given chain function for the pad. The chain function is called to -process a #GstBuffer input buffer. see #GstPadChainFunction for more details. - - - - - - the #GstPadChainFunction to set. - - - - - - Sets the given chain list function for the pad. The chainlist function is -called to process a #GstBufferList input buffer list. See -#GstPadChainListFunction for more details. - - - - - - the #GstPadChainListFunction to set. - - - - - - Sets the given checkgetrange function for the pad. Implement this function -on a pad if you dynamically support getrange based scheduling on the pad. - - - - - - the #GstPadCheckGetRangeFunction to set. - - - - - - Set the given private data gpointer on the pad. -This function can only be used by the element that owns the pad. -No locking is performed in this function. - - - - - - The private data to attach to the pad. - - - - - - Sets the given event handler for the pad. - - - - - - the #GstPadEventFunction to set. - - - - - - Sets the given fixatecaps function for the pad. The fixatecaps function -will be called whenever the default values for a GstCaps needs to be -filled in. - - - - - - the #GstPadFixateCapsFunction to set. - - - - - - Sets the given getcaps function for the pad. @getcaps should return the -allowable caps for a pad in the context of the element's state, its link to -other elements, and the devices or files it has opened. These caps must be a -subset of the pad template caps. In the NULL state with no links, @getcaps -should ideally return the same caps as the pad template. In rare -circumstances, an object property can affect the caps returned by @getcaps, -but this is discouraged. -You do not need to call this function if @pad's allowed caps are always the -same as the pad template caps. This can only be true if the padtemplate -has fixed simple caps. -For most filters, the caps returned by @getcaps is directly affected by the -allowed caps on other pads. For demuxers and decoders, the caps returned by -the srcpad's getcaps function is directly related to the stream data. Again, -helps with autoplugging. -Note that the return value from @getcaps is owned by the caller, so the -caller should unref the caps after usage. - - - - - - the #GstPadGetCapsFunction to set. - - - - - - Sets the given getrange function for the pad. The getrange function is -called to produce a new #GstBuffer to start the processing pipeline. see -#GstPadGetRangeFunction for a description of the getrange function. - - - - - - the #GstPadGetRangeFunction to set. - - - - - - Sets the given internal link function for the pad. - - - - - - the #GstPadIntLinkFunction to set. - - - - - - Sets the given internal link iterator function for the pad. - - - - - - the #GstPadIterIntLinkFunction to set. - - - - - - Sets the given link function for the pad. It will be called when -the pad is linked with another pad. -The return value #GST_PAD_LINK_OK should be used when the connection can be -made. -The return value #GST_PAD_LINK_REFUSED should be used when the connection -cannot be made for some reason. -If @link is installed on a source pad, it should call the #GstPadLinkFunction -of the peer sink pad, if present. - - - - - - the #GstPadLinkFunction to set. - - - - - - Set the given query function for the pad. - - - - - - the #GstPadQueryFunction to set. - - - - - - Set the given query type function for the pad. - - - - - - the #GstPadQueryTypeFunction to set. - - - - - - Sets the given setcaps function for the pad. The setcaps function -will be called whenever a buffer with a new media type is pushed or -pulled from the pad. The pad/element needs to update its internal -structures to process the new media type. If this new type is not -acceptable, the setcaps function should return FALSE. - - - - - - the #GstPadSetCapsFunction to set. - - - - - - Sets the given unlink function for the pad. It will be called -when the pad is unlinked. - - - - - - the #GstPadUnlinkFunction to set. - - - - - - Starts a task that repeatedly calls @func with @data. This function -is mostly used in pad activation functions to start the dataflow. -The #GST_PAD_STREAM_LOCK of @pad will automatically be acquired -before @func is called. - - a %TRUE if the task could be started. - - - - - the task function to call - - - - data passed to the task function - - - - - - Stop the task of @pad. This function will also make sure that the -function executed by the task will effectively stop if not called -from the GstTaskFunction. -This function will deadlock if called from the GstTaskFunction of -the task. Use gst_task_pause() instead. -Regardless of whether the pad has a task, the stream lock is acquired and -released so as to ensure that streaming through this pad has finished. - - a TRUE if the task could be stopped or FALSE on error. - - - - - Unlinks the source pad from the sink pad. Will emit the #GstPad::unlinked -signal on both pads. -the pads were not linked together. -MT safe. - - TRUE if the pads were unlinked. This function returns FALSE if - - - - - the sink #GstPad to unlink. - - - - - - A helper function you can use that sets the -pad. This way the function will always return the negotiated caps -or in case the pad is not negotiated, the padtemplate caps. -Use this function on a pad that, once gst_pad_set_caps() has been called -on it, cannot be renegotiated to something else. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Signals that new data is available on the pad. This signal is used -internally for implementing pad probes. -See gst_pad_add_*_probe functions. - - %TRUE to keep the data, %FALSE to drop it - - - - - new data - - - - - - Signals that a pad has been linked to the peer pad. - - - - - - the peer pad that has been connected - - - - - - Signals that a pad connection has been requested. - - - - - - Signals that a pad has been unlinked from the peer pad. - - - - - - the peer pad that has been disconnected - - - - - - - Check if @pad can accept @caps. By default this function will see if @caps -intersect with the result from gst_pad_get_caps() by can be overridden to -perform extra checks. - - TRUE if the caps can be accepted by the pad. - - - - - the #GstPad to check - - - - the #GstCaps to check - - - - - - This function is called when the pad is activated during the element -READY to PAUSED state change. By default this function will call the -activate function that puts the pad in push mode but elements can -override this function to activate the pad in pull mode if they wish. - - TRUE if the pad could be activated. - - - - - a #GstPad - - - - - - The prototype of the push and pull activate functions. - - TRUE if the pad could be activated or deactivated. - - - - - a #GstPad - - - - activate or deactivate the pad. - - - - - - Callback used by gst_pad_set_blocked_async(). Gets called when the blocking -operation succeeds. - - - - - - the #GstPad that is blockend or unblocked. - - - - blocking state for the pad - - - - the gpointer to optional user data. - - - - - - Ask the sinkpad @pad to allocate a buffer with @offset, @size and @caps. -The result will be stored in @buf. -The purpose of this function is to allocate a buffer that is optimal to -be processed by @pad. The function is mostly overridden by elements that can -provide a hardware buffer in order to avoid additional memcpy operations. -The function can return a buffer that has caps different from the requested -new caps. -If a format change was requested, the returned buffer will be one to hold -the data of said new caps, so its size might be different from the requested -When this function returns anything else than #GST_FLOW_OK, the buffer allocation -failed and @buf does not contain valid data. If the function returns #GST_FLOW_OK and -the @buf is NULL, a #GstBuffer will be created with @caps, @offset and @size. -By default this function returns a new buffer of @size and with @caps containing -purely malloced data. The buffer should be freed with gst_buffer_unref() -after usage. -value means @buf does not hold a valid buffer. - - #GST_FLOW_OK if @buf contains a valid buffer, any other return - - - - - a sink #GstPad - - - - the desired offset of the buffer - - - - the desired size of the buffer - - - - the desired caps of the buffer - - - - pointer to hold the allocated buffer. - - - - - - A function that will be called on sinkpads when chaining buffers. -The function typically processes the data contained in the buffer and -either consumes the data or passes it on to the internally linked pad(s). -The implementer of this function receives a refcount to @buffer and should -gst_buffer_unref() when the buffer is no longer needed. -When a chain function detects an error in the data stream, it must post an -error on the bus and return an appropriate #GstFlowReturn value. - - #GST_FLOW_OK for success - - - - - the sink #GstPad that performed the chain. - - - - the #GstBuffer that is chained, not %NULL. - - - - - - A function that will be called on sinkpads when chaining buffer lists. -The function typically processes the data contained in the buffer list and -either consumes the data or passes it on to the internally linked pad(s). -The implementer of this function receives a refcount to @list and -should gst_buffer_list_unref() when the list is no longer needed. -When a chainlist function detects an error in the data stream, it must -post an error on the bus and return an appropriate #GstFlowReturn value. - - #GST_FLOW_OK for success - - - - - the sink #GstPad that performed the chain. - - - - the #GstBufferList that is chained, not %NULL. - - - - - - Check if @pad can be activated in pull mode. -This function will be deprecated after 0.10; use the seeking query to check -if a pad can support random access. - - TRUE if the pad can operate in pull mode. - - - - - a #GstPad - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The direction of a pad. - - - - - - A dispatcher function is called for all internally linked pads, see -gst_pad_dispatcher(). - - TRUE if the dispatching procedure has to be stopped. - - - - - the #GstPad that is dispatched. - - - - the gpointer to optional user data. - - - - - - Function signature to handle an event for the pad. - - TRUE if the pad could handle the event. - - - - - the #GstPad to handle the event. - - - - the #GstEvent to handle. - - - - - - Given possibly unfixed caps @caps, let @pad use its default prefered -format to make a fixed caps. @caps should be writable. By default this -function will pick the first value of any ranges or lists in the caps but -elements can override this function to perform other behaviour. - - - - - - a #GstPad - - - - the #GstCaps to fixate - - - - - - Pad state flags - - - - - - - - - Returns a copy of the capabilities of the specified pad. By default this -function will return the pad template capabilities, but can optionally -be overridden by elements. - - a newly allocated copy #GstCaps of the pad. - - - - - the #GstPad to get the capabilities of. - - - - - - This function will be called on source pads when a peer element -request a buffer at the specified @offset and @length. If this function -returns #GST_FLOW_OK, the result buffer will be stored in @buffer. The -contents of @buffer is invalid for any other return value. -This function is installed on a source pad with -gst_pad_set_getrange_function() and can only be called on source pads after -they are successfully activated with gst_pad_activate_pull(). -between 0 and the length in bytes of the data available on @pad. The -length (duration in bytes) can be retrieved with a #GST_QUERY_DURATION or with a -#GST_QUERY_SEEKING. -Any @offset larger or equal than the length will make the function return -#GST_FLOW_UNEXPECTED, which corresponds to EOS. In this case @buffer does not -contain a valid buffer. -The buffer size of @buffer will only be smaller than @length when @offset is -near the end of the stream. In all other cases, the size of @buffer must be -exactly the requested size. -It is allowed to call this function with a 0 @length and valid @offset, in -which case @buffer will contain a 0-sized buffer and the function returns -#GST_FLOW_OK. -When this function is called with a -1 @offset, the sequentially next buffer -of length @length in the stream is returned. -When this function is called with a -1 @length, a buffer with a default -optimal length is returned in @buffer. The length might depend on the value -of @offset. -return value leaves @buffer undefined. - - #GST_FLOW_OK for success and a valid buffer in @buffer. Any other - - - - - the src #GstPad to perform the getrange on. - - - - the offset of the range - - - - the length of the range - - - - a memory location to hold the result buffer, cannot be NULL. - - - - - - The signature of the internal pad link function. -the inside of the parent element. -The caller must call g_list_free() on it after use. - - a newly allocated #GList of pads that are linked to the given pad on - - - - - - - The #GstPad to query. - - - - - - The signature of the internal pad link iterator function. -linked to the given pad on the inside of the parent element. -the caller must call gst_iterator_free() after usage. -Since 0.10.21 - - a new #GstIterator that will iterate over all pads that are - - - - - The #GstPad to query. - - - - - - The amount of checking to be done when linking pads. @GST_PAD_LINK_CHECK_CAPS -and @GST_PAD_LINK_CHECK_TEMPLATE_CAPS are mutually exclusive. If both are -specified, expensive but safe @GST_PAD_LINK_CHECK_CAPS are performed. -<warning><para> -Only disable some of the checks if you are 100% certain you know the link -will not fail because of hierarchy/caps compatibility failures. If uncertain, -use the default checks (%GST_PAD_LINK_CHECK_DEFAULT) or the regular methods -for linking the pads. -</para></warning> - - - - - - - - - - - - - - - - - - - - Result values from gst_pad_link and friends. - - - - - - - - - - Indicates when this pad will become available. - - - - - - - - The signature of the query function. - - TRUE if the query could be performed. - - - - - the #GstPad to query. - - - - the #GstQuery object to execute - - - - - - The signature of the query types function. - - a constant array of query types - - - - - a #GstPad to query - - - - - - Set @caps on @pad. By default this function updates the caps of the -pad but the function can be overriden by elements to perform extra -actions or verifications. - - TRUE if the caps could be set on the pad. - - - - - the #GstPad to set the capabilities of. - - - - the #GstCaps to set - - - - - - The padtemplate object. - - Creates a new pad template with a name according to the given template -and with the given arguments. This functions takes ownership of the provided -caps, so be sure to not use them afterwards. - - a new #GstPadTemplate. - - - - - the name template. - - - - the #GstPadDirection of the template. - - - - the #GstPadPresence of the pad. - - - - a #GstCaps set for the template. The caps are taken ownership of. - - - - - - Gets the capabilities of the pad template. -keep a reference to the caps, take a ref (see gst_caps_ref ()). - - the #GstCaps of the pad template. If you need to - - - - - Emit the pad-created signal for this template when created by this pad. - - - - - - the #GstPad that created it - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This signal is fired when an element creates a pad from this template. - - - - - - the pad that was created. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Flags for the padtemplate - - - - - - - - - - - - - - - - This function creates a fraction GParamSpec for use by objects/elements -that want to expose properties of fraction type. This function is typically -used in connection with g_object_class_install_property() in a GObjects's -instance_init function. - - a newly created parameter specification - - - - - canonical name of the property specified - - - - nick name for the property specified - - - - description of the property specified - - - - minimum value (fraction numerator) - - - - minimum value (fraction denominator) - - - - maximum value (fraction numerator) - - - - maximum value (fraction denominator) - - - - default value (fraction numerator) - - - - default value (fraction denominator) - - - - flags for the property specified - - - - - - - A GParamSpec derived structure that contains the meta data for fractional -properties. - - - - - - - - - - - - - - - - - - - - - - - - A %GParamSpec derived structure that contains the meta data -for %GstMiniObject properties. - - - - - - Opaque structure. - - Frees a parse context previously allocated with gst_parse_context_new(). - - - - - - Retrieve missing elements from a previous run of gst_parse_launch_full() -or gst_parse_launchv_full(). Will only return results if an error code -of %GST_PARSE_ERROR_NO_SUCH_ELEMENT was returned. -NULL-terminated array of element factory name strings of missing -elements. Free with g_strfreev() when no longer needed. - - a - - - - - - - - The different parsing errors that can occur. - - - - - - - - - - Parsing options. - - - - - The #GstPipeline structure. - - - Create a new pipeline with the given name. -MT safe. - - newly created GstPipeline - - - - - name of new pipeline - - - - - - Let @pipeline select a clock automatically. This is the default -behaviour. -Use this function if you previous forced a fixed clock with -gst_pipeline_use_clock() and want to restore the default -pipeline clock selection algorithm. -MT safe. - - - - - - Check if @pipeline will automatically flush messages when going to -the NULL state. -going from READY to NULL state or not. -MT safe. - - whether the pipeline will automatically flush its bus when - - - - - Gets the #GstBus of @pipeline. The bus allows applications to receive -#GstMessage packets. -MT safe. - - a #GstBus, unref after usage. - - - - - Gets the current clock used by @pipeline. - - a #GstClock, unref after usage. - - - - - Get the configured delay (see gst_pipeline_set_delay()). -MT safe. - - The configured delay. - - - - - Gets the last running time of @pipeline. If the pipeline is PLAYING, -the returned time is the running time used to configure the element's -base time in the PAUSED->PLAYING state. If the pipeline is PAUSED, the -returned time is the running time when the pipeline was paused. -This function returns #GST_CLOCK_TIME_NONE if the pipeline was -configured to not handle the management of the element's base time -(see gst_pipeline_set_new_stream_time()). -MT safe. -gst_element_get_start_time(). - - a #GstClockTime. - - - - - Usually, when a pipeline goes from READY to NULL state, it automatically -flushes all pending messages on the bus, which is done for refcounting -purposes, to break circular references. -This means that applications that update state using (async) bus messages -(e.g. do certain things when a pipeline goes from PAUSED to READY) might -not get to see messages when the pipeline is shut down, because they might -be flushed before they can be dispatched in the main thread. This behaviour -can be disabled using this function. -It is important that all messages on the bus are handled when the -automatic flushing is disabled else memory leaks will be introduced. -MT safe. - - - - - - whether or not to automatically flush the bus when the pipeline goes from READY to NULL state - - - - - - Set the clock for @pipeline. The clock will be distributed -to all the elements managed by the pipeline. -some element did not accept the clock. -MT safe. - - TRUE if the clock could be set on the pipeline. FALSE if - - - - - the clock to set - - - - - - Set the expected delay needed for all elements to perform the -PAUSED to PLAYING state change. @delay will be added to the -base time of the elements so that they wait an additional @delay -amount of time before starting to process buffers and cannot be -#GST_CLOCK_TIME_NONE. -This option is used for tuning purposes and should normally not be -used. -MT safe. - - - - - - the delay - - - - - - Set the new start time of @pipeline to @time. The start time is used to -set the base time on the elements (see gst_element_set_base_time()) -in the PAUSED->PLAYING state transition. -Setting @time to #GST_CLOCK_TIME_NONE will disable the pipeline's management -of element base time. The application will then be responsible for -performing base time distribution. This is sometimes useful if you want to -synchronize capture from multiple pipelines, and you can also ensure that the -pipelines have the same clock. -MT safe. -gst_element_set_start_time(). - - - - - - the new running time to set - - - - - - Force @pipeline to use the given @clock. The pipeline will -always use the given clock even if new clock providers are added -to this pipeline. -If @clock is NULL all clocking will be disabled which will make -the pipeline run as fast as possible. -MT safe. - - - - - - the clock to use - - - - - - Whether or not to automatically flush all messages on the -pipeline's bus when going from READY to NULL state. Please see -gst_pipeline_set_auto_flush_bus() for more information on this option. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pipeline flags - - - - - - - The plugin object - - Get the error quark. - - The error quark used in GError messages - - - - - Unrefs each member of @list, then frees the list. - - - - - - list of #GstPlugin - - - - - - - - Load the named plugin. Refs the plugin. - - a reference to a loaded plugin, or NULL on error. - - - - - name of plugin to load - - - - - - Loads the given plugin and refs it. Caller needs to unref after use. -reference to the newly-loaded GstPlugin, or NULL if an error occurred. - - a reference to the existing loaded GstPlugin, a - - - - - the plugin filename to load - - - - - - Registers a static plugin, ie. a plugin which is private to an application -or library and contained within the application or library (as opposed to -being shipped as a separate module file). -You must make sure that GStreamer has been initialised (with gst_init() or -via gst_init_get_option_group()) before calling this function. - - TRUE if the plugin was registered correctly, otherwise FALSE. - - - - - the major version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MAJOR here - - - - the minor version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MINOR here - - - - a unique name of the plugin (ideally prefixed with an application- or library-specific namespace prefix in order to avoid name conflicts in case a similar plugin with the same name ever gets added to GStreamer) - - - - description of the plugin - - - - pointer to the init function of this plugin. - - - - version string of the plugin - - - - effective license of plugin. Must be one of the approved licenses (see #GstPluginDesc above) or the plugin will not be registered. - - - - source module plugin belongs to - - - - shipped package plugin belongs to - - - - URL to provider of plugin - - - - - - Registers a static plugin, ie. a plugin which is private to an application -or library and contained within the application or library (as opposed to -being shipped as a separate module file) with a #GstPluginInitFullFunc -which allows user data to be passed to the callback function (useful -for bindings). -You must make sure that GStreamer has been initialised (with gst_init() or -via gst_init_get_option_group()) before calling this function. - - TRUE if the plugin was registered correctly, otherwise FALSE. - - - - - the major version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MAJOR here - - - - the minor version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MINOR here - - - - a unique name of the plugin (ideally prefixed with an application- or library-specific namespace prefix in order to avoid name conflicts in case a similar plugin with the same name ever gets added to GStreamer) - - - - description of the plugin - - - - pointer to the init function with user data of this plugin. - - - - version string of the plugin - - - - effective license of plugin. Must be one of the approved licenses (see #GstPluginDesc above) or the plugin will not be registered. - - - - source module plugin belongs to - - - - shipped package plugin belongs to - - - - URL to provider of plugin - - - - gpointer to user data - - - - - - Make GStreamer aware of external dependencies which affect the feature -set of this plugin (ie. the elements or typefinders associated with it). -GStreamer will re-inspect plugins with external dependencies whenever any -of the external dependencies change. This is useful for plugins which wrap -other plugin systems, e.g. a plugin which wraps a plugin-based visualisation -library and makes visualisations available as GStreamer elements, or a -codec loader which exposes elements and/or caps dependent on what external -codec libraries are currently installed. - - - - - - NULL-terminated array of environent variables affecting the feature set of the plugin (e.g. an environment variable containing paths where to look for additional modules/plugins of a library), or NULL. Environment variable names may be followed by a path component which will be added to the content of the environment variable, e.g. "HOME/.mystuff/plugins". - - - - NULL-terminated array of directories/paths where dependent files may be. - - - - NULL-terminated array of file names (or file name suffixes, depending on @flags) to be used in combination with the paths from - - - - optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE - - - - - - Make GStreamer aware of external dependencies which affect the feature -set of this plugin (ie. the elements or typefinders associated with it). -GStreamer will re-inspect plugins with external dependencies whenever any -of the external dependencies change. This is useful for plugins which wrap -other plugin systems, e.g. a plugin which wraps a plugin-based visualisation -library and makes visualisations available as GStreamer elements, or a -codec loader which exposes elements and/or caps dependent on what external -codec libraries are currently installed. -Convenience wrapper function for gst_plugin_add_dependency() which -takes simple strings as arguments instead of string arrays, with multiple -arguments separated by predefined delimiters (see above). - - - - - - one or more environent variables (separated by ':', ';' or ','), or NULL. Environment variable names may be followed by a path component which will be added to the content of the environment variable, e.g. "HOME/.mystuff/plugins:MYSTUFF_PLUGINS_PATH" - - - - one ore more directory paths (separated by ':' or ';' or ','), or NULL. Example: "/usr/lib/mystuff/plugins" - - - - one or more file names or file name suffixes (separated by commas), or NULL - - - - optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE - - - - - - Gets the plugin specific data cache. If it is %NULL there is no cached data -stored. This is the case when the registry is getting rebuilt. - - The cached data as a #GstStructure or %NULL. - - - - - Get the long descriptive name of the plugin - - the long name of the plugin - - - - - get the filename of the plugin - - the filename of the plugin - - - - - get the license of the plugin - - the license of the plugin - - - - - Gets the #GModule of the plugin. If the plugin isn't loaded yet, NULL is -returned. -plugin isn't loaded yet. - - module belonging to the plugin or NULL if the - - - - - Get the short name of the plugin - - the name of the plugin - - - - - get the URL where the plugin comes from - - the origin of the plugin - - - - - get the package the plugin belongs to. - - the package of the plugin - - - - - get the source module the plugin belongs to. - - the source of the plugin - - - - - get the version of the plugin - - the version of the plugin - - - - - queries if the plugin is loaded into memory - - TRUE is loaded, FALSE otherwise - - - - - Loads @plugin. Note that the *return value* is the loaded plugin; @plugin is -untouched. The normal use pattern of this function goes like this: -<programlisting> -GstPlugin *loaded_plugin; -loaded_plugin = gst_plugin_load (plugin); -// presumably, we're no longer interested in the potentially-unloaded plugin -gst_object_unref (plugin); -plugin = loaded_plugin; -</programlisting> - - a reference to a loaded plugin, or NULL on error. - - - - - A standard filter that returns TRUE when the plugin is of the -given name. - - TRUE if the plugin is of the given name. - - - - - the name of the plugin - - - - - - Adds plugin specific data to cache. Passes the ownership of the structure to -the @plugin. -The cache is flushed every time the registry is rebuilt. - - - - - - a structure containing the data to cache - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Flags used in connection with gst_plugin_add_dependency(). - - - - - - - A plugin should export a variable of this type called plugin_desc. The plugin -loader will use the data provided there to initialize the plugin. -BSD, MIT/X11, Proprietary, unknown. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The plugin loading errors - - - - - - Opaque #GstPluginFeature structure. - - Copies the list of features. Caller should call @gst_plugin_feature_list_free -when done with the list. -with each feature's reference count incremented. - - a copy of @list, - - - - - - - list of #GstPluginFeature - - - - - - - - Debug the plugin feature names in @list. - - - - - - a #GList of plugin features - - - - - - - - Unrefs each member of @list, then frees the list. - - - - - - list of #GstPluginFeature - - - - - - - - Compares the two given #GstPluginFeature instances. This function can be -used as a #GCompareFunc when sorting by rank and then by name. -equal but the name of p1 comes before the name of p2; zero if the rank -and names are equal; positive value if the rank of p1 < the rank of p2 or the -ranks are equal but the name of p2 comes after the name of p1 - - negative value if the rank of p1 > the rank of p2 or the ranks are - - - - - a #GstPluginFeature - - - - a #GstPluginFeature - - - - - - Checks whether the given plugin feature is at least -the required version -the required version, otherwise #FALSE. - - #TRUE if the plugin feature has at least - - - - - minimum required major version - - - - minimum required minor version - - - - minimum required micro version - - - - - - Gets the name of a plugin feature. - - the name - - - - - Gets the rank of a plugin feature. - - The rank of the feature - - - - - Loads the plugin containing @feature if it's not already loaded. @feature is -unaffected; use the return value instead. -Normally this function is used like this: -|[ -GstPluginFeature *loaded_feature; -loaded_feature = gst_plugin_feature_load (feature); -// presumably, we're no longer interested in the potentially-unloaded feature -gst_object_unref (feature); -feature = loaded_feature; -]| - - a reference to the loaded feature, or NULL on error - - - - - Sets the name of a plugin feature. The name uniquely identifies a feature -within all features of the same type. Renaming a plugin feature is not -allowed. A copy is made of the name so you should free the supplied @name -after calling this function. - - - - - - the name to set - - - - - - Specifies a rank for a plugin feature, so that autoplugging uses -the most appropriate feature. - - - - - - rank value - higher number means more priority rank - - - - - - Compares type and name of plugin feature. Can be used with gst_filter_run(). - - TRUE if equal. - - - - - the type and name to check against - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A function that can be used with e.g. gst_registry_feature_filter() -to get a list of pluginfeature that match certain criteria. - - %TRUE for a positive match, %FALSE otherwise - - - - - the pluginfeature to check - - - - the user_data that has been passed on e.g. gst_registry_feature_filter() - - - - - - A function that can be used with e.g. gst_registry_plugin_filter() -to get a list of plugins that match certain criteria. - - TRUE for a positive match, FALSE otherwise - - - - - the plugin to check - - - - the user_data that has been passed on e.g. gst_registry_plugin_filter() - - - - - - The plugin loading state - - - - - A plugin should provide a pointer to a function of either #GstPluginInitFunc -or this type in the plugin_desc struct. -The function will be called by the loader at startup. One would then -register each #GstPluginFeature. This version allows -user data to be passed to init function (useful for bindings). - - %TRUE if plugin initialised successfully - - - - - The plugin object - - - - extra data - - - - - - A plugin should provide a pointer to a function of this type in the -plugin_desc struct. -This function will be called by the loader at startup. One would then -register each #GstPluginFeature. - - %TRUE if plugin initialised successfully - - - - - The plugin object - - - - - - - - A set of file/network descriptors. - - Add a file descriptor to the file descriptor set. - - %TRUE if the file descriptor was successfully added to the set. - - - - - a file descriptor. - - - - - - Check if @fd in @set has data to be read. - - %TRUE if the descriptor has data to be read. - - - - - a file descriptor. - - - - - - Check if @fd in @set can be used for writing. - - %TRUE if the descriptor can be used for writing. - - - - - a file descriptor. - - - - - - Control whether the descriptor @fd in @set will be monitored for -readability. - - %TRUE if the descriptor was successfully updated. - - - - - a file descriptor. - - - - a new status. - - - - - - Control whether the descriptor @fd in @set will be monitored for -writability. - - %TRUE if the descriptor was successfully updated. - - - - - a file descriptor. - - - - a new status. - - - - - - Check if @fd in @set has closed the connection. - - %TRUE if the connection was closed. - - - - - a file descriptor. - - - - - - Check if @fd in @set has an error. - - %TRUE if the descriptor has an error. - - - - - a file descriptor. - - - - - - Mark @fd as ignored so that the next call to gst_poll_wait() will yield -the same result for @fd as last time. This function must be called if no -operation (read/write/recv/send/etc.) will be performed on @fd before -the next call to gst_poll_wait(). -The reason why this is needed is because the underlying implementation -might not allow querying the fd more than once between calls to one of -the re-enabling operations. - - - - - - a file descriptor. - - - - - - Free a file descriptor set. - - - - - - Get a GPollFD for the reading part of the control socket. This is useful when -integrating with a GSource and GMainLoop. - - - - - - a #GPollFD - - - - - - Read a byte from the control socket of the controllable @set. -This function is mostly useful for timer #GstPoll objects created with -gst_poll_new_timer(). -was no byte to read. - - %TRUE on success. %FALSE when @set is not controllable or when there - - - - - Remove a file descriptor from the file descriptor set. - - %TRUE if the file descriptor was successfully removed from the set. - - - - - a file descriptor. - - - - - - Restart any gst_poll_wait() that is in progress. This function is typically -used after adding or removing descriptors to @set. -If @set is not controllable, then this call will have no effect. - - - - - - When @controllable is %TRUE, this function ensures that future calls to -gst_poll_wait() will be affected by gst_poll_restart() and -gst_poll_set_flushing(). - - %TRUE if the controllability of @set could be updated. - - - - - new controllable state. - - - - - - When @flushing is %TRUE, this function ensures that current and future calls -to gst_poll_wait() will return -1, with errno set to EBUSY. -Unsetting the flushing state will restore normal operation of @set. - - - - - - new flushing state. - - - - - - Wait for activity on the file descriptors in @set. This function waits up to -the specified @timeout. A timeout of #GST_CLOCK_TIME_NONE waits forever. -For #GstPoll objects created with gst_poll_new(), this function can only be -called from a single thread at a time. If called from multiple threads, --1 will be returned with errno set to EPERM. -This is not true for timer #GstPoll objects created with -gst_poll_new_timer(), where it is allowed to have multiple threads waiting -simultaneously. -activity was detected after @timeout. If an error occurs, -1 is returned -and errno is set. - - The number of #GstPollFD in @set that have activity or 0 when no - - - - - a timeout in nanoseconds. - - - - - - Write a byte to the control socket of the controllable @set. -This function is mostly useful for timer #GstPoll objects created with -gst_poll_new_timer(). -It will make any current and future gst_poll_wait() function return with -1, meaning the control socket is set. After an equal amount of calls to -gst_poll_read_control() have been performed, calls to gst_poll_wait() will -block again until their timeout expired. -byte could not be written. - - %TRUE on success. %FALSE when @set is not controllable or when the - - - - - - A file descriptor object. - - - - - - - - Initializes @fd. Alternatively you can initialize it with -#GST_POLL_FD_INIT. - - - - - - - Opaque #GstPreset data structure. - - Delete the given preset. - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name to remove - - - - - - Gets the @value for an existing meta data @tag. Meta data @tag names can be -something like e.g. "comment". Returned values need to be released when done. -or no value for the given @tag - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name - - - - meta data item name - - - - value - - - - - - Get a copy of preset names as a NULL terminated string array. -list with names, ue g_strfreev() after usage. - - - - - - - - Get a the names of the GObject properties that can be used for presets. -array of property names which should be freed with g_strfreev() after use. - - an - - - - - - - Load the given preset. - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name to load - - - - - - Renames a preset. If there is already a preset by the @new_name it will be -overwritten. - - %TRUE for success, %FALSE if e.g. there is no preset with @old_name - - - - - current preset name - - - - new preset name - - - - - - Save the current object settings as a preset under the given name. If there -is already a preset by this @name it will be overwritten. - - %TRUE for success, %FALSE - - - - - preset name to save - - - - - - Sets a new @value for an existing meta data item or adds a new item. Meta -data @tag names can be something like e.g. "comment". Supplying %NULL for the - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name - - - - meta data item name - - - - new value - - - - - - Delete the given preset. - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name to remove - - - - - - Gets the @value for an existing meta data @tag. Meta data @tag names can be -something like e.g. "comment". Returned values need to be released when done. -or no value for the given @tag - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name - - - - meta data item name - - - - value - - - - - - Get a copy of preset names as a NULL terminated string array. -list with names, ue g_strfreev() after usage. - - - - - - - - Get a the names of the GObject properties that can be used for presets. -array of property names which should be freed with g_strfreev() after use. - - an - - - - - - - Load the given preset. - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name to load - - - - - - Renames a preset. If there is already a preset by the @new_name it will be -overwritten. - - %TRUE for success, %FALSE if e.g. there is no preset with @old_name - - - - - current preset name - - - - new preset name - - - - - - Save the current object settings as a preset under the given name. If there -is already a preset by this @name it will be overwritten. - - %TRUE for success, %FALSE - - - - - preset name to save - - - - - - Sets a new @value for an existing meta data item or adds a new item. Meta -data @tag names can be something like e.g. "comment". Supplying %NULL for the - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name - - - - meta data item name - - - - new value - - - - - - - #GstPreset interface. - - - - - - - - - - - - - - - - - - - - - an - - - - - - - - - - - - - - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - - - - preset name to load - - - - - - - - - %TRUE for success, %FALSE - - - - - - - - preset name to save - - - - - - - - - %TRUE for success, %FALSE if e.g. there is no preset with @old_name - - - - - - - - current preset name - - - - new preset name - - - - - - - - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - - - - preset name to remove - - - - - - - - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - - - - preset name - - - - meta data item name - - - - new value - - - - - - - - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - - - - preset name - - - - meta data item name - - - - value - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #GstQuery structure. - - Constructs a new custom application query object. Use gst_query_unref() -when done with it. - - a new #GstQuery - - - - - the query type - - - - a structure for the query - - - - - - - - - - - - - - - - Constructs a new convert query object. Use gst_query_unref() -when done with it. A convert query is used to ask for a conversion between -one format and another. - - a #GstQuery - - - - - the source #GstFormat for the new query - - - - the value to convert - - - - the target #GstFormat - - - - - - Constructs a new stream duration query object to query in the given format. -Use gst_query_unref() when done with it. A duration query will give the -total length of the stream. - - a new #GstQuery - - - - - the #GstFormat for this duration query - - - - - - Constructs a new query object for querying formats of -the stream. - - a new #GstQuery - - - - - Constructs a new latency query object. -Use gst_query_unref() when done with it. A latency query is usually performed -by sinks to compensate for additional latency introduced by elements in the -pipeline. - - a #GstQuery - - - - - Constructs a new query stream position query object. Use gst_query_unref() -when done with it. A position query is used to query the current position -of playback in the streams, in some format. - - a new #GstQuery - - - - - the default #GstFormat for the new query - - - - - - Constructs a new query object for querying seeking properties of -the stream. - - a new #GstQuery - - - - - the default #GstFormat for the new query - - - - - - Constructs a new segment query object. Use gst_query_unref() -when done with it. A segment query is used to discover information about the -currently configured segment for playback. - - a new #GstQuery - - - - - the #GstFormat for the new query - - - - - - Constructs a new query URI query object. Use gst_query_unref() -when done with it. An URI query is used to query the current URI -that is used by the source or sink. - - a new #GstQuery - - - - - Get the query type registered with @nick. -if the query was not registered. - - The query registered with @nick or #GST_QUERY_NONE - - - - - The nick of the query - - - - - - Get details about the given #GstQueryType. - - The #GstQueryTypeDefinition for @type or NULL on failure. - - - - - a #GstQueryType - - - - - - Get a printable name for the given query type. Do not modify or free. - - a reference to the static name of the query. - - - - - the query type - - - - - - Get a #GstIterator of all the registered query types. The definitions -iterated over are read only. - - a #GstIterator of #GstQueryTypeDefinition. - - - - - Create a new GstQueryType based on the nick or return an -already registered query with that nick -with the same nick. - - A new GstQueryType or an already registered query - - - - - The nick of the new query - - - - The description of the new query - - - - - - Get the unique quark for the given query type. - - the quark associated with the query type - - - - - the query type - - - - - - See if the given #GstQueryType is inside the @types query types array. - - TRUE if the type is found inside the array - - - - - The query array to search - - - - the #GstQueryType to find - - - - - - - - - - - - - - - - - - - - - - - - Get the structure of a query. -still owned by the query and will therefore be freed when the query -is unreffed. - - the #GstStructure of the query. The structure is - - - - - - - - - - - - - - - - - - Parse an available query, writing the format into @format, and -other results into the passed parameters, if the respective parameters -are non-NULL - - - - - - the format to set for the @segment_start and @segment_end values, or NULL - - - - the start to set, or NULL - - - - the stop to set, or NULL - - - - estimated total amount of download time, or NULL - - - - - - Extracts the buffering stats values from @query. - - - - - - a buffering mode, or NULL - - - - the average input rate, or NULL - - - - the average output rat, or NULLe - - - - amount of buffering time left, or NULL - - - - - - Parse a convert query answer. Any of @src_format, @src_value, @dest_format, -and @dest_value may be NULL, in which case that value is omitted. - - - - - - the storage for the #GstFormat of the source value, or NULL - - - - the storage for the source value, or NULL - - - - the storage for the #GstFormat of the destination value, or NULL - - - - the storage for the destination value, or NULL - - - - - - Parse a duration query answer. Write the format of the duration into @format, -and the value into @duration, if the respective variables are non-NULL. - - - - - - the storage for the #GstFormat of the duration value, or NULL. - - - - the storage for the total duration, or NULL. - - - - - - Parse the number of formats in the formats @query. - - - - - - the number of formats in this query. - - - - - - Parse the format query and retrieve the @nth format from it into -set to GST_FORMAT_UNDEFINED. - - - - - - the nth format to retrieve. - - - - a pointer to store the nth format - - - - - - Parse a latency query answer. - - - - - - storage for live or NULL - - - - the storage for the min latency or NULL - - - - the storage for the max latency or NULL - - - - - - - - - - - - - - - - - - - - - - Parse a position query, writing the format into @format, and the position -into @cur, if the respective parameters are non-NULL. - - - - - - the storage for the #GstFormat of the position values (may be NULL) - - - - the storage for the current position (may be NULL) - - - - - - Parse a seeking query, writing the format into @format, and -other results into the passed parameters, if the respective parameters -are non-NULL - - - - - - the format to set for the @segment_start and @segment_end values, or NULL - - - - the seekable flag to set, or NULL - - - - the segment_start to set, or NULL - - - - the segment_end to set, or NULL - - - - - - Parse a segment query answer. Any of @rate, @format, @start_value, and -See gst_query_set_segment() for an explanation of the function arguments. - - - - - - the storage for the rate of the segment, or NULL - - - - the storage for the #GstFormat of the values, or NULL - - - - the storage for the start value, or NULL - - - - the storage for the stop value, or NULL - - - - - - Parse an URI query, writing the URI into @uri as a newly -allocated string, if the respective parameters are non-NULL. -Free the string with g_free() after usage. - - - - - - the storage for the current URI (may be NULL) - - - - - - - - - - - - - - - - - - - Set the available query result fields in @query. - - - - - - the format to set for the @start and @stop values - - - - the start to set - - - - the stop to set - - - - estimated total amount of download time - - - - - - Configures the buffering stats values in @query. - - - - - - a buffering mode - - - - the average input rate - - - - the average output rate - - - - amount of buffering time left - - - - - - Answer a convert query by setting the requested values. - - - - - - the source #GstFormat - - - - the source value - - - - the destination #GstFormat - - - - the destination value - - - - - - Answer a duration query by setting the requested value in the given format. - - - - - - the #GstFormat for the duration - - - - the duration of the stream - - - - - - Set the formats query result fields in @query. The number of formats passed -must be equal to @n_formats. - - - - - - the number of formats to set. - - - - - - - - - - Set the formats query result fields in @query. The number of formats passed -in the @formats array must be equal to @n_formats. - - - - - - the number of formats to set. - - - - an array containing @n_formats - - - - - - - - Answer a latency query by setting the requested values in the given format. - - - - - - if there is a live element upstream - - - - the minimal latency of the live element - - - - the maximal latency of the live element - - - - - - Answer a position query by setting the requested value in the given format. - - - - - - the requested #GstFormat - - - - the position to set - - - - - - Set the seeking query result fields in @query. - - - - - - the format to set for the @segment_start and @segment_end values - - - - the seekable flag to set - - - - the segment_start to set - - - - the segment_end to set - - - - - - Answer a segment query by setting the requested values. The normal -playback segment of a pipeline is 0 to duration at the default rate of -1.0. If a seek was performed on the pipeline to play a different -segment, this query will return the range specified in the last seek. -playback range start and stop values expressed in @format. -The values are always between 0 and the duration of the media and -negative rates, playback will actually happen from @stop_value to - - - - - - the rate of the segment - - - - the #GstFormat of the segment values (@start_value and @stop_value) - - - - the start value - - - - the stop value - - - - - - Answer a URI query by setting the requested URI. - - - - - - the URI to set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Standard predefined Query types - - - - - - - - - - - - - - - - A Query Type definition - - - - - - - - - - - - - - - Element priority ranks. Defines the order in which the autoplugger (or -similar rank-picking mechanisms, such as e.g. gst_element_make_from_uri()) -will choose this element over an alternative one with the same function. -These constants serve as a rough guidance for defining the rank of a -#GstPluginFeature. Any value is valid, including values bigger than - - - - - - - Opaque #GstRegistry structure. - - By default GStreamer will perform scanning and rebuilding of the -registry file using a helper child process. -Applications might want to disable this behaviour with the -gst_registry_fork_set_enabled() function, in which case new plugins -are scanned (and loaded) into the application process. -rebuilding the registry. - - %TRUE if GStreamer will use the child helper process when - - - - - Applications might want to disable/enable spawning of a child helper process -when rebuilding the registry. See gst_registry_fork_is_enabled() for more -information. - - - - - - whether rebuilding the registry can use a temporary child helper process. - - - - - - Retrieves the default registry. The caller does not own a reference on the -registry, as it is alive as long as GStreamer is initialized. - - The default #GstRegistry. - - - - - Add the feature to the registry. The feature-added signal will be emitted. -This function sinks @feature. -MT safe. - - TRUE on success. - - - - - the feature to add - - - - - - Add the given path to the registry. The syntax of the -path is specific to the registry. If the path has already been -added, do nothing. - - - - - - the path to add to the registry - - - - - - Add the plugin to the registry. The plugin-added signal will be emitted. -This function will sink @plugin. -MT safe. - - TRUE on success. - - - - - the plugin to add - - - - - - Runs a filter against all features of the plugins in the registry -and returns a GList with the results. -If the first flag is set, only the first match is -returned (as a list with a single object). -#GstPluginFeature. Use gst_plugin_feature_list_free() after usage. -MT safe. - - a #GList of - - - - - - - the filter to use - - - - only return first match - - - - user data passed to the filter function - - - - - - Find the pluginfeature with the given name and type in the registry. -or NULL if the plugin was not found. gst_object_unref() after usage. -MT safe. - - the pluginfeature with the given name and type - - - - - the pluginfeature name to find - - - - the pluginfeature type to find - - - - - - Find the plugin with the given name in the registry. -The plugin will be reffed; caller is responsible for unreffing. -plugin was not found. gst_object_unref() after usage. -MT safe. - - the plugin with the given name or NULL if the - - - - - the plugin name to find - - - - - - Retrieves a #GList of #GstPluginFeature of @type. -#GstPluginFeature of @type. Use gst_plugin_feature_list_free() after use -MT safe. - - a #GList of - - - - - - - a #GType. - - - - - - Retrieves a #GList of features of the plugin with name @name. -#GstPluginFeature. Use gst_plugin_feature_list_free() after usage. - - a #GList of - - - - - - - a plugin name. - - - - - - Returns the registrys feature list cookie. This changes -every time a feature is added or removed from the registry. - - the feature list cookie. - - - - - Get the list of paths for the given registry. -strings. g_list_free after use. -MT safe. - - A #GList of paths as - - - - - - - Get a copy of all plugins registered in the given registry. The refcount -of each element in the list in incremented. -Use gst_plugin_list_free() after usage. -MT safe. - - a #GList of #GstPlugin. - - - - - - - Look up a plugin in the given registry with the given filename. -If found, plugin is reffed. -gst_object_unref() after usage. - - the #GstPlugin if found, or NULL if not. - - - - - the name of the file to look up - - - - - - Find a #GstPluginFeature with @name in @registry. -use gst_object_unref() after usage. -MT safe. - - a #GstPluginFeature with its refcount incremented, - - - - - a #GstPluginFeature name - - - - - - Runs a filter against all plugins in the registry and returns a #GList with -the results. If the first flag is set, only the first match is -returned (as a list with a single object). -Every plugin is reffed; use gst_plugin_list_free() after use, which -will unref again. -Use gst_plugin_list_free() after usage. -MT safe. - - a #GList of #GstPlugin. - - - - - - - the filter to use - - - - only return first match - - - - user data passed to the filter function - - - - - - Remove the feature from the registry. -MT safe. - - - - - - the feature to remove - - - - - - Remove the plugin from the registry. -MT safe. - - - - - - the plugin to remove - - - - - - Scan the given path for plugins to add to the registry. The syntax of the -path is specific to the registry. - - %TRUE if registry changed - - - - - the path to scan - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Signals that a feature has been added to the registry (possibly -replacing a previously-added one by the same name) - - - - - - the feature that has been added - - - - - - Signals that a plugin has been added to the registry (possibly -replacing a previously-added one by the same name) - - - - - - the plugin that has been added - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Resource errors are for any resource used by an element: -memory, files, network connections, process space, ... -They're typically used by source and sink elements. - - - - - - - - - - - - - - - - - - - - - The different search modes. - - - - - - Flags to be used with gst_element_seek() or gst_event_new_seek(). All flags -can be used together. -A non flushing seek might take some time to perform as the currently -playing data in the pipeline will not be cleared. -An accurate seek might be slower for formats that don't have any indexes -or timestamp markers in the stream. Specifying this flag might require a -complete scan of the file in those cases. -no EOS will be emmited by the element that performed the seek, but a -#GST_MESSAGE_SEGMENT_DONE message will be posted on the bus by the element. -When this message is posted, it is possible to send a new seek event to -continue playback. With this seek method it is possible to perform seemless -looping or simple linear editing. -When doing fast forward (rate > 1.0) or fast reverse (rate < -1.0) trickmode -playback, the @GST_SEEK_FLAG_SKIP flag can be used to instruct decoders -and demuxers to adjust the playback rate by skipping frames. This can improve -performance and decrease CPU usage because not all frames need to be decoded. - - - - - - - - - The different types of seek events. When constructing a seek event with -gst_event_new_seek(), a format, a seek method and optional flags are to -be provided. The seek event is then inserted into the graph with -gst_pad_send_event() or gst_element_send_event(). - - - - - - - A helper structure that holds the configured region of -interest in a media file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Allocate a new #GstSegment structure and initialize it using -gst_segment_init(). - - a new #GstSegment, free with gst_segment_free(). - - - - - Clip the given @start and @stop values to the segment boundaries given -in @segment. @start and @stop are compared and clipped to @segment -start and stop values. -If the function returns FALSE, @start and @stop are known to fall -outside of @segment and @clip_start and @clip_stop are not updated. -When the function returns TRUE, @clip_start and @clip_stop will be -updated. If @clip_start or @clip_stop are different from @start or @stop -respectively, the region fell partially in the segment. -Note that when @stop is -1, @clip_stop will be set to the end of the -segment. Depending on the use case, this may or may not be what you want. -completely in @segment, FALSE if the values are completely outside -of the segment. - - TRUE if the given @start and @stop times fall partially or - - - - - the format of the segment. - - - - the start position in the segment - - - - the stop position in the segment - - - - the clipped start position in the segment - - - - the clipped stop position in the segment - - - - - - Create a copy of given @segment. - - a new #GstSegment, free with gst_segment_free(). - - - - - Free the allocated segment @segment. - - - - - - The start/last_stop positions are set to 0 and the stop/duration -fields are set to -1 (unknown). The default rate of 1.0 and no -flags are set. -Initialize @segment to its default values. - - - - - - the format of the segment. - - - - - - Set the duration of the segment to @duration. This function is mainly -used by elements that perform seeking and know the total duration of the -segment. -This field should be set to allow seeking requests relative to the -duration. - - - - - - the format of the segment. - - - - the duration of the segment info or -1 if unknown. - - - - - - Set the last observed stop position in the segment to @position. -This field should be set to allow seeking requests relative to the -current playing position. - - - - - - the format of the segment. - - - - the position - - - - - - Update the segment structure with the field values of a new segment event and -with a default applied_rate of 1.0. - - - - - - flag indicating a new segment is started or updated - - - - the rate of the segment. - - - - the format of the segment. - - - - the new start value - - - - the new stop value - - - - the new stream time - - - - - - Update the segment structure with the field values of a new segment event. - - - - - - flag indicating a new segment is started or updated - - - - the rate of the segment. - - - - the applied rate of the segment. - - - - the format of the segment. - - - - the new start value - - - - the new stop value - - - - the new stream time - - - - - - Adjust the start/stop and accum values of @segment such that the next valid -buffer will be one with @running_time. -returned, @running_time is -1 or not in @segment. - - %TRUE if the segment could be updated successfully. If %FALSE is - - - - - the format of the segment. - - - - the running_time in the segment - - - - - - Update the segment structure with the field values of a seek event (see -gst_event_new_seek()). -After calling this method, the segment field last_stop and time will -contain the requested new position in the segment. The new requested -position in the segment depends on @rate and @start_type and @stop_type. -For positive @rate, the new position in the segment is the new @segment -start field when it was updated with a @start_type different from -#GST_SEEK_TYPE_NONE. If no update was performed on @segment start position -(#GST_SEEK_TYPE_NONE), @start is ignored and @segment last_stop is -unmodified. -For negative @rate, the new position in the segment is the new @segment -stop field when it was updated with a @stop_type different from -#GST_SEEK_TYPE_NONE. If no stop was previously configured in the segment, the -duration of the segment will be used to update the stop position. -If no update was performed on @segment stop position (#GST_SEEK_TYPE_NONE), -The applied rate of the segment will be set to 1.0 by default. -If the caller can apply a rate change, it should update @segment -rate and applied_rate after calling this function. -last_stop field. This field can be FALSE if, for example, only the @rate -has been changed but not the playback position. - - - - - - the rate of the segment. - - - - the format of the segment. - - - - the seek flags for the segment - - - - the seek method - - - - the seek start value - - - - the seek method - - - - the seek stop value - - - - boolean holding whether last_stop was updated. - - - - - - Convert @running_time into a position in the segment so that -gst_segment_to_running_time() with that position returns @running_time. --1 when @running_time is -1 or when it is not inside @segment. - - the position in the segment for @running_time. This function returns - - - - - the format of the segment. - - - - the running_time in the segment - - - - - - Translate @position to the total running time using the currently configured -and previously accumulated segments. Position is a value between @segment -start and stop time. -This function is typically used by elements that need to synchronize to the -global clock in a pipeline. The runnning time is a constantly increasing value -starting from 0. When gst_segment_init() is called, this value will reset to -0. -This function returns -1 if the position is outside of @segment start and stop. -was given. - - the position as the total running time or -1 when an invalid position - - - - - the format of the segment. - - - - the position in the segment - - - - - - Translate @position to stream time using the currently configured -segment. The @position value must be between @segment start and -stop value. -This function is typically used by elements that need to operate on -the stream time of the buffers it receives, such as effect plugins. -In those use cases, @position is typically the buffer timestamp or -clock time that one wants to convert to the stream time. -The stream time is always between 0 and the total duration of the -media stream. -was given. - - the position in stream_time or -1 when an invalid position - - - - - the format of the segment. - - - - the position in the segment - - - - - - - The possible states an element can be in. States can be changed using -gst_element_set_state() and checked using gst_element_get_state(). - - - - - - - - These are the different state changes an element goes through. -%GST_STATE_NULL &rArr; %GST_STATE_PLAYING is called an upwards state change -and %GST_STATE_PLAYING &rArr; %GST_STATE_NULL a downwards state change. - - - - - - - - - The possible return values from a state change function. Only - - - - - - - Datastructure to initialize #GstCaps from a string description usually -used in conjunction with GST_STATIC_CAPS() and gst_static_caps_get() to -instantiate a #GstCaps. - - - - - - - - - - - - - Converts a #GstStaticCaps to a #GstCaps. -Since the core holds an additional ref to the returned caps, -use gst_caps_make_writable() on the returned caps to modify it. - - a pointer to the #GstCaps. Unref after usage. - - - - - - - - - - - - - - - - - - - Converts a #GstStaticPadTemplate into a #GstPadTemplate. - - a new #GstPadTemplate. - - - - - Gets the capabilities of the static pad template. -Unref after usage. Since the core holds an additional -ref to the returned caps, use gst_caps_make_writable() -on the returned caps to modify it. - - the #GstCaps of the static pad template. - - - - - - Stream errors are for anything related to the stream being processed: -format errors, media type errors, ... -They're typically used by decoders, demuxers, converters, ... - - - - - - - - - - - - - - - - - The type of a %GST_MESSAGE_STREAM_STATUS. The stream status messages inform the -application of new streaming threads and their status. - - - - - - - - - - The GstStructure object. Most fields are private. - - - - - - - - - - - - - - - - - - - Creates a new, empty #GstStructure with the given @name. -See gst_structure_set_name() for constraints on the @name parameter. - - a new, empty #GstStructure - - - - - name of new structure - - - - - - Creates a new, empty #GstStructure with the given name as a GQuark. - - a new, empty #GstStructure - - - - - name of new structure - - - - - - Creates a new #GstStructure with the given name as a GQuark, followed by -fieldname quark, GType, argument(s) "triplets" in the same format as -gst_structure_id_set(). Basically a convenience wrapper around -gst_structure_id_empty_new() and gst_structure_id_set(). -The last variable argument must be NULL (or 0). - - a new #GstStructure - - - - - name of new structure - - - - the GQuark for the name of the field to set - - - - - - - - - - Creates a new #GstStructure with the given name. Parses the -list of variable arguments and sets fields to the values listed. -Variable arguments should be passed as field name, field type, -and value. Last variable argument should be NULL. - - a new #GstStructure - - - - - name of new structure - - - - name of first field to set - - - - - - - - - - Creates a new #GstStructure with the given @name. Structure fields -are set according to the varargs in a manner similar to -gst_structure_new(). -See gst_structure_set_name() for constraints on the @name parameter. - - a new #GstStructure - - - - - name of new structure - - - - name of first field to set - - - - variable argument list - - - - - - Duplicates a #GstStructure and all its fields and values. - - a new #GstStructure. - - - - - Fixates a #GstStructure by changing the given @field_name field to the given - - TRUE if the structure could be fixated - - - - - a field in @structure - - - - the target value of the fixation - - - - - - Fixates a #GstStructure by changing the given field to the nearest -double to @target that is a subset of the existing field. - - TRUE if the structure could be fixated - - - - - a field in @structure - - - - the target value of the fixation - - - - - - Fixates a #GstStructure by changing the given field to the nearest -fraction to @target_numerator/@target_denominator that is a subset -of the existing field. - - TRUE if the structure could be fixated - - - - - a field in @structure - - - - The numerator of the target value of the fixation - - - - The denominator of the target value of the fixation - - - - - - Fixates a #GstStructure by changing the given field to the nearest -integer to @target that is a subset of the existing field. - - TRUE if the structure could be fixated - - - - - a field in @structure - - - - the target value of the fixation - - - - - - Fixates a #GstStructure by changing the given @field_name field to the given - - TRUE if the structure could be fixated - - - - - a field in @structure - - - - the target value of the fixation - - - - - - Calls the provided function once for each field in the #GstStructure. The -function must not modify the fields. Also see gst_structure_map_in_place(). -FALSE otherwise. - - TRUE if the supplied function returns TRUE For each of the fields, - - - - - a function to call for each field - - - - private data - - - - - - Frees a #GstStructure and all its fields and values. The structure must not -have a parent when this function is called. - - - - - - Parses the variable arguments and reads fields from @structure accordingly. -Variable arguments should be in the form field name, field type -(as a GType), pointer(s) to a variable(s) to hold the return value(s). -The last variable argument should be NULL. -For refcounted (mini)objects you will acquire your own reference which -you must release with a suitable _unref() when no longer needed. For -strings and boxed types you will acquire a copy which you will need to -release with either g_free() or the suiteable function for the boxed type. -because the field requested did not exist, or was of a type other -than the type specified), otherwise TRUE. - - FALSE if there was a problem reading any of the fields (e.g. - - - - - the name of the first field to read - - - - - - - - - - Sets the boolean pointed to by @value corresponding to the value of the -given field. Caller is responsible for making sure the field exists -and has the correct type. -with @fieldname or the existing field did not contain a boolean, this -function returns FALSE. - - TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to a #gboolean to set - - - - - - Sets the clock time pointed to by @value corresponding to the clock time -of the given field. Caller is responsible for making sure the field exists -and has the correct type. -with @fieldname or the existing field did not contain a #GstClockTime, this -function returns FALSE. - - TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to a #GstClockTime to set - - - - - - Sets the date pointed to by @value corresponding to the date of the -given field. Caller is responsible for making sure the field exists -and has the correct type. -On success @value will point to a newly-allocated copy of the date which -inconsistent with e.g. gst_structure_get_string() which doesn't return a -copy of the string). -with @fieldname or the existing field did not contain a data, this function -returns FALSE. - - TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to a #GDate to set - - - - - - Sets the datetime pointed to by @value corresponding to the datetime of the -given field. Caller is responsible for making sure the field exists -and has the correct type. -On success @value will point to a reference of the datetime which -should be unreffed with gst_date_time_unref() when no longer needed -(note: this is inconsistent with e.g. gst_structure_get_string() -which doesn't return a copy of the string). -with @fieldname or the existing field did not contain a data, this function -returns FALSE. - - TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to a #GstDateTime to set - - - - - - Sets the double pointed to by @value corresponding to the value of the -given field. Caller is responsible for making sure the field exists -and has the correct type. -with @fieldname or the existing field did not contain a double, this -function returns FALSE. - - TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to a gdouble to set - - - - - - Sets the int pointed to by @value corresponding to the value of the -given field. Caller is responsible for making sure the field exists, -has the correct type and that the enumtype is correct. -with @fieldname or the existing field did not contain an enum of the given -type, this function returns FALSE. - - TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - the enum type of a field - - - - a pointer to an int to set - - - - - - Finds the field with the given name, and returns the type of the -value it contains. If the field is not found, G_TYPE_INVALID is -returned. - - the #GValue of the field - - - - - the name of the field - - - - - - Sets the Fourcc pointed to by @value corresponding to the value of the -given field. Caller is responsible for making sure the field exists -and has the correct type. -with @fieldname or the existing field did not contain a fourcc, this function -returns FALSE. - - TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to a 32bit unsigned int to set - - - - - - Sets the integers pointed to by @value_numerator and @value_denominator -corresponding to the value of the given field. Caller is responsible -for making sure the field exists and has the correct type. -with @fieldname or the existing field did not contain a GstFraction, this -function returns FALSE. - - TRUE if the values could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to an int to set - - - - a pointer to an int to set - - - - - - Sets the int pointed to by @value corresponding to the value of the -given field. Caller is responsible for making sure the field exists -and has the correct type. -with @fieldname or the existing field did not contain an int, this function -returns %FALSE. - - %TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to an int to set - - - - - - Get the name of @structure as a string. - - the name of the structure. - - - - - Get the name of @structure as a GQuark. - - the quark representing the name of the structure. - - - - - Finds the field corresponding to @fieldname, and returns the string -contained in the field's value. Caller is responsible for making -sure the field exists and has the correct type. -The string should not be modified, and remains valid until the next -call to a gst_structure_*() function with the given structure. -or did not contain a string. - - a pointer to the string or NULL when the field did not exist - - - - - the name of a field - - - - - - Sets the uint pointed to by @value corresponding to the value of the -given field. Caller is responsible for making sure the field exists -and has the correct type. -with @fieldname or the existing field did not contain a uint, this function -returns %FALSE. - - %TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to a uint to set - - - - - - Parses the variable arguments and reads fields from @structure accordingly. -valist-variant of gst_structure_get(). Look at the documentation of -gst_structure_get() for more details. - - TRUE, or FALSE if there was a problem reading any of the fields - - - - - the name of the first field to read - - - - variable arguments - - - - - - Get the value of the field with name @fieldname. - - the #GValue corresponding to the field with the given name. - - - - - the name of the field to get - - - - - - Check if @structure contains a field named @fieldname. - - TRUE if the structure contains a field with the given name - - - - - the name of a field - - - - - - Check if @structure contains a field named @fieldname and with GType @type. - - TRUE if the structure contains a field with the given name and type - - - - - the name of a field - - - - the type of a value - - - - - - Checks if the structure has the given name - - TRUE if @name matches the name of the structure. - - - - - structure name to check for - - - - - - Parses the variable arguments and reads fields from @structure accordingly. -Variable arguments should be in the form field id quark, field type -(as a GType), pointer(s) to a variable(s) to hold the return value(s). -The last variable argument should be NULL (technically it should be a -0 quark, but we require NULL so compilers that support it can check for -the NULL terminator and warn if it's not there). -This function is just like gst_structure_get() only that it is slightly -more efficient since it saves the string-to-quark lookup in the global -quark hashtable. -For refcounted (mini)objects you will acquire your own reference which -you must release with a suitable _unref() when no longer needed. For -strings and boxed types you will acquire a copy which you will need to -release with either g_free() or the suiteable function for the boxed type. -because the field requested did not exist, or was of a type other -than the type specified), otherwise TRUE. - - FALSE if there was a problem reading any of the fields (e.g. - - - - - the quark of the first field to read - - - - - - - - - - Parses the variable arguments and reads fields from @structure accordingly. -valist-variant of gst_structure_id_get(). Look at the documentation of -gst_structure_id_get() for more details. - - TRUE, or FALSE if there was a problem reading any of the fields - - - - - the quark of the first field to read - - - - variable arguments - - - - - - Get the value of the field with GQuark @field. -identifier. - - the #GValue corresponding to the field with the given name - - - - - the #GQuark of the field to get - - - - - - Check if @structure contains a field named @field. - - TRUE if the structure contains a field with the given name - - - - - #GQuark of the field name - - - - - - Check if @structure contains a field named @field and with GType @type. - - TRUE if the structure contains a field with the given name and type - - - - - #GQuark of the field name - - - - the type of a value - - - - - - Identical to gst_structure_set, except that field names are -passed using the GQuark for the field name. This allows more efficient -setting of the structure if the caller already knows the associated -quark values. -The last variable argument must be NULL. - - - - - - the GQuark for the name of the field to set - - - - - - - - - - va_list form of gst_structure_id_set(). - - - - - - the name of the field to set - - - - variable arguments - - - - - - Sets the field with the given GQuark @field to @value. If the field -does not exist, it is created. If the field exists, the previous -value is replaced and freed. - - - - - - a #GQuark representing a field - - - - the new value of the field - - - - - - Sets the field with the given GQuark @field to @value. If the field -does not exist, it is created. If the field exists, the previous -value is replaced and freed. - - - - - - a #GQuark representing a field - - - - the new value of the field - - - - - - Calls the provided function once for each field in the #GstStructure. In -contrast to gst_structure_foreach(), the function may modify but not delete the -fields. The structure must be mutable. -FALSE otherwise. - - TRUE if the supplied function returns TRUE For each of the fields, - - - - - a function to call for each field - - - - private data - - - - - - Get the number of fields in the structure. - - the number of fields in the structure - - - - - Get the name of the given field number, counting from 0 onwards. - - the name of the given field number - - - - - the index to get the name of - - - - - - Removes all fields in a GstStructure. - - - - - - Removes the field with the given name. If the field with the given -name does not exist, the structure is unchanged. - - - - - - the name of the field to remove - - - - - - Removes the fields with the given names. If a field does not exist, the -argument is ignored. - - - - - - the name of the field to remove - - - - - - - - - - va_list form of gst_structure_remove_fields(). - - - - - - the name of the field to remove - - - - NULL-terminated list of more fieldnames to remove - - - - - - Parses the variable arguments and sets fields accordingly. -Variable arguments should be in the form field name, field type -(as a GType), value(s). The last variable argument should be NULL. - - - - - - the name of the field to set - - - - - - - - - - Sets the name of the structure to the given @name. The string -provided is copied before being used. It must not be empty, start with a -letter and can be followed by letters, numbers and any of "/-_.:". - - - - - - the new name of the structure - - - - - - Sets the parent_refcount field of #GstStructure. This field is used to -determine whether a structure is mutable or not. This function should only be -called by code implementing parent objects of #GstStructure, as described in -the MT Refcounting section of the design documents. - - - - - - a pointer to the parent's refcount - - - - - - va_list form of gst_structure_set(). - - - - - - the name of the field to set - - - - variable arguments - - - - - - Sets the field with the given name @field to @value. If the field -does not exist, it is created. If the field exists, the previous -value is replaced and freed. - - - - - - the name of the field to set - - - - the new value of the field - - - - - - Sets the field with the given name @field to @value. If the field -does not exist, it is created. If the field exists, the previous -value is replaced and freed. The function will take ownership of @value. - - - - - - the name of the field to set - - - - the new value of the field - - - - - - Converts @structure to a human-readable string representation. -For debugging purposes its easier to do something like this: -|[ -GST_LOG ("structure is %" GST_PTR_FORMAT, structure); -]| -This prints the structure in human readble form. -g_free() after usage. - - (transfer full)L a pointer to string allocated by g_malloc(). - - - - - - The type of a %GST_MESSAGE_STRUCTURE_CHANGE. - - - - - A function that will be called in gst_structure_foreach(). The function may -not modify @value. -the foreach operation should stop with FALSE. - - TRUE if the foreach operation should continue, FALSE if - - - - - the #GQuark of the field name - - - - the #GValue of the field - - - - user data - - - - - - A function that will be called in gst_structure_map_in_place(). The function -may modify @value. -the map operation should stop with FALSE. - - TRUE if the map operation should continue, FALSE if - - - - - the #GQuark of the field name - - - - the #GValue of the field - - - - user data - - - - - - The default implementation of a #GstClock that uses the system time. - - Get a handle to the default system clock. The refcount of the -clock will be increased so you need to unref the clock after -usage. -MT safe. - - the default clock. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extra tag flags used when registering tags. - - - - - - - - A function that will be called in gst_tag_list_foreach(). The function may -not modify the tag list. - - - - - - the #GstTagList - - - - a name of a tag in @list - - - - user data - - - - - - Opaque #GstTagList data structure. - - Creates a new empty GstTagList. - - An empty tag list - - - - - Creates a new taglist and appends the values for the given tags. It expects -tag-value pairs like gst_tag_list_add(), and a NULL terminator after the -last pair. The type of the values is implicit and is documented in the API -reference, but can also be queried at runtime with gst_tag_get_type(). It -is an error to pass a value of a type not matching the tag type into this -function. The tag list will make copies of any arguments passed -(e.g. strings, buffers). -when no longer needed. - - a new #GstTagList. Free with gst_tag_list_free() - - - - - tag - - - - - - - - - - Just like gst_tag_list_new_full(), only that it takes a va_list argument. -Useful mostly for language bindings. -when no longer needed. - - a new #GstTagList. Free with gst_tag_list_free() - - - - - tag / value pairs to set - - - - - - Sets the values for the given tags using the specified mode. - - - - - - the mode to use - - - - tag - - - - - - - - - - Sets the values for the given tags using the specified mode. - - - - - - the mode to use - - - - tag - - - - tag / value pairs to set - - - - - - Sets the GValues for the given tags using the specified mode. - - - - - - the mode to use - - - - tag - - - - tag / GValue pairs to set - - - - - - Sets the GValue for a given tag using the specified mode. - - - - - - the mode to use - - - - tag - - - - GValue for this tag - - - - - - Sets the GValues for the given tags using the specified mode. - - - - - - the mode to use - - - - tag - - - - - - - - - - Copies a given #GstTagList. - - copy of the given list - - - - - Calls the given function for each tag inside the tag list. Note that if there -is no tag, the function won't be called at all. - - - - - - function to be called for each tag - - - - user specified data - - - - - - Frees the given list and all associated values. - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the first buffer for the given tag in the taglist into the variable -pointed to by @value. Free the buffer with gst_buffer_unref() when it is -no longer needed. -given list or if it was #NULL. - - TRUE, if a buffer was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - address of a GstBuffer pointer variable to store the result into - - - - - - Gets the buffer that is at the given index for the given tag in the given -list and copies it into the variable pointed to by @value. Free the buffer -with gst_buffer_unref() when it is no longer needed. -given list or if it was #NULL. - - TRUE, if a buffer was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - address of a GstBuffer pointer variable to store the result into - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the first date for the given tag in the taglist into the variable -pointed to by @value. Free the date with g_date_free() when it is no longer -needed. -given list or if it was #NULL. - - TRUE, if a date was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - address of a GDate pointer variable to store the result into - - - - - - Gets the date that is at the given index for the given tag in the given -list and copies it into the variable pointed to by @value. Free the date -with g_date_free() when it is no longer needed. -given list or if it was #NULL. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the first datetime for the given tag in the taglist into the variable -pointed to by @value. Unref the date with gst_date_time_unref() when -it is no longer needed. -thegiven list or if it was #NULL. - - TRUE, if a datetime was copied, FALSE if the tag didn't exist in - - - - - tag to read out - - - - address of a #GstDateTime pointer variable to store the result into - - - - - - Gets the datetime that is at the given index for the given tag in the given -list and copies it into the variable pointed to by @value. Unref the datetime -with gst_date_time_unref() when it is no longer needed. -given list or if it was #NULL. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, possibly merging -multiple values into one if multiple values are associated with the tag. -Use gst_tag_list_get_string_index (list, tag, 0, value) if you want -to retrieve the first string associated with this tag unmodified. -The resulting string in @value will be in UTF-8 encoding and should be -freed by the caller using g_free when no longer needed. Since 0.10.24 the -returned string is also guaranteed to be non-NULL and non-empty. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -The resulting string in @value will be in UTF-8 encoding and should be -freed by the caller using g_free when no longer needed. Since 0.10.24 the -returned string is also guaranteed to be non-NULL and non-empty. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Checks how many value are stored in this tag list for the given tag. - - The number of tags stored - - - - - the tag to query - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -tag wasn't available or the tag doesn't have as many entries - - The GValue for the specified entry or NULL if the - - - - - tag to read out - - - - number of entry to read out - - - - - - Inserts the tags of the @from list into the first list using the given mode. - - - - - - list to merge from - - - - the mode to use - - - - - - Checks if the given taglist is empty. - - TRUE if the taglist is empty, otherwise FALSE. - - - - - Merges the two given lists into a new list. If one of the lists is NULL, a -copy of the other is returned. If both lists are NULL, NULL is returned. - - the new list - - - - - second list to merge - - - - the mode to use - - - - - - Peeks at the value that is at the given index for the given tag in the given -list. -The resulting string in @value will be in UTF-8 encoding and doesn't need -to be freed by the caller. The returned string is also guaranteed to -be non-NULL and non-empty. -given list. - - TRUE, if a value was set, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Removes the given tag from the taglist. - - - - - - tag to remove - - - - - - - A function for merging multiple values of a tag used when registering -tags. - - - - - - the destination #GValue - - - - the source #GValue - - - - - - The different tag merging modes are basically replace, overwrite and append, -already in the element and (B) the ones that are supplied to the element ( -e.g. via gst_tag_setter_merge_tags() / gst_tag_setter_add_tags() or a -%GST_EVENT_TAG), how are these tags merged? -In the table below this is shown for the cases that a tag exists in the list -(A) or does not exists (!A) and combinations thereof. -<table frame="all" colsep="1" rowsep="1"> -<title>merge mode</title> -<tgroup cols='5' align='left'> -<thead> -<row> -<entry>merge mode</entry> -<entry>A + B</entry> -<entry>A + !B</entry> -<entry>!A + B</entry> -<entry>!A + !B</entry> -</row> -</thead> -<tbody> -<row> -<entry>REPLACE_ALL</entry> -<entry>B</entry> -<entry>-</entry> -<entry>B</entry> -<entry>-</entry> -</row> -<row> -<entry>REPLACE</entry> -<entry>B</entry> -<entry>A</entry> -<entry>B</entry> -<entry>-</entry> -</row> -<row> -<entry>APPEND</entry> -<entry>A, B</entry> -<entry>A</entry> -<entry>B</entry> -<entry>-</entry> -</row> -<row> -<entry>PREPEND</entry> -<entry>B, A</entry> -<entry>A</entry> -<entry>B</entry> -<entry>-</entry> -</row> -<row> -<entry>KEEP</entry> -<entry>A</entry> -<entry>A</entry> -<entry>B</entry> -<entry>-</entry> -</row> -<row> -<entry>KEEP_ALL</entry> -<entry>A</entry> -<entry>A</entry> -<entry>-</entry> -<entry>-</entry> -</row> -</tbody> -</tgroup> -</table> - - - - - - - - - - - Opaque #GstTagSetter data structure. - - - Adds the given tag / value pairs on the setter using the given merge mode. -The list must be terminated with NULL. - - - - - - the mode to use - - - - tag to set - - - - tag / value pairs to set - - - - - - Adds the given tag / GValue pairs on the setter using the given merge mode. -The list must be terminated with NULL. - - - - - - the mode to use - - - - tag to set - - - - tag / GValue pairs to set - - - - - - Adds the given tag / GValue pair on the setter using the given merge mode. - - - - - - the mode to use - - - - tag to set - - - - GValue to set for the tag - - - - - - Adds the given tag / GValue pairs on the setter using the given merge mode. -The list must be terminated with NULL. - - - - - - the mode to use - - - - tag to set - - - - - - - - - - Adds the given tag / value pairs on the setter using the given merge mode. -The list must be terminated with NULL. - - - - - - the mode to use - - - - tag to set - - - - - - - - - - Returns the current list of tags the setter uses. The list should not be -modified or freed. -This function is not thread-safe. -setter or NULL if none is used. - - a current snapshot of the taglist used in the - - - - - Queries the mode by which tags inside the setter are overwritten by tags -from events - - the merge mode used inside the element. - - - - - Merges the given list into the setter's list using the given mode. - - - - - - a tag list to merge from - - - - the mode to merge with - - - - - - Reset the internal taglist. Elements should call this from within the -state-change handler. - - - - - - Sets the given merge mode that is used for adding tags from events to tags -specified by this interface. The default is #GST_TAG_MERGE_KEEP, which keeps -the tags set with this interface and discards tags from events. - - - - - - The mode with which tags are added - - - - - - - #GstTagSetterIFace interface. - - - - - - The #GstTask object. - - Wait for all tasks to be stopped. This is mainly used internally -to ensure proper cleanup of internal data structures in test suites. -MT safe. - - - - - - Create a new Task that will repeatedly call the provided @func -with @data as a parameter. Typically the task will run in -a new thread. -The function cannot be changed after the task has been created. You -must create a new #GstTask to change the function. -This function will not yet create and start a thread. Use gst_task_start() or -gst_task_pause() to create and start the GThread. -Before the task can be used, a #GStaticRecMutex must be configured using the -gst_task_set_lock() function. This lock will always be acquired while -MT safe. - - A new #GstTask. - - - - - The #GstTaskFunction to use - - - - User data to pass to @func - - - - - - Get the #GstTaskPool that this task will use for its streaming -threads. -MT safe. -after usage. - - the #GstTaskPool used by @task. gst_object_unref() - - - - - Get the current state of the task. -MT safe. - - The #GstTaskState of the task - - - - - Joins @task. After this call, it is safe to unref the task -and clean up the lock set with gst_task_set_lock(). -The task will automatically be stopped with this call. -This function cannot be called from within a task function as this -would cause a deadlock. The function will detect this and print a -g_warning. -MT safe. - - %TRUE if the task could be joined. - - - - - Pauses @task. This method can also be called on a task in the -stopped state, in which case a thread will be started and will remain -in the paused state. This function does not wait for the task to complete -the paused state. -MT safe. - - %TRUE if the task could be paused. - - - - - Set the mutex used by the task. The mutex will be acquired before -calling the #GstTaskFunction. -This function has to be called before calling gst_task_pause() or -gst_task_start(). -MT safe. - - - - - - The #GMutex to use - - - - - - Set @pool as the new GstTaskPool for @task. Any new streaming threads that -will be created by @task will now use @pool. -MT safe. - - - - - - a #GstTaskPool - - - - - - Changes the priority of @task to @priority. -MT safe. - - - - - - a new priority for @task - - - - - - Sets the state of @task to @state. -The @task must have a lock associated with it using -gst_task_set_lock() when going to GST_TASK_STARTED or GST_TASK_PAUSED or -this function will return %FALSE. -MT safe. - - %TRUE if the state could be changed. - - - - - the new task state - - - - - - Set callbacks which will be executed when a new thread is needed, the thread -function is entered and left and when the thread is joined. -By default a thread for @task will be created from a default thread pool. -Objects can use custom GThreads or can perform additional configuration of -the threads (such as changing the thread priority) by installing callbacks. -MT safe. - - - - - - a #GstTaskThreadCallbacks pointer - - - - user data passed to the callbacks - - - - called when @user_data is no longer referenced - - - - - - Starts @task. The @task must have a lock associated with it using -gst_task_set_lock() or this function will return %FALSE. -MT safe. - - %TRUE if the task could be started. - - - - - Stops @task. This method merely schedules the task to stop and -will not wait for the task to have completely stopped. Use -gst_task_join() to stop and wait for completion. -MT safe. - - %TRUE if the task could be stopped. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A function that will repeatedly be called in the thread created by -a #GstTask. - - - - - - user data passed to the function - - - - - - The #GstTaskPool object. - - Create a new default task pool. The default task pool will use a regular -GThreadPool for threads. - - a new #GstTaskPool. gst_object_unref() after usage. - - - - - Wait for all tasks to be stopped. This is mainly used internally -to ensure proper cleanup of internal data structures in test suites. -MT safe. - - - - - - Join a task and/or return it to the pool. @id is the id obtained from -gst_task_pool_push(). - - - - - - the id - - - - - - Prepare the taskpool for accepting gst_task_pool_push() operations. -MT safe. - - - - - - Start the execution of a new thread from @pool. -function. This pointer can be NULL, you must check @error to detect -errors. - - a pointer that should be used for the gst_task_pool_join - - - - - the function to call - - - - data to pass to @func - - - - - - Wait for all tasks to be stopped. This is mainly used internally -to ensure proper cleanup of internal data structures in test suites. -MT safe. - - - - - - Join a task and/or return it to the pool. @id is the id obtained from -gst_task_pool_push(). - - - - - - the id - - - - - - Prepare the taskpool for accepting gst_task_pool_push() operations. -MT safe. - - - - - - Start the execution of a new thread from @pool. -function. This pointer can be NULL, you must check @error to detect -errors. - - a pointer that should be used for the gst_task_pool_join - - - - - the function to call - - - - data to pass to @func - - - - - - - - - - - - - - - - - - The #GstTaskPoolClass object. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a pointer that should be used for the gst_task_pool_join - - - - - - - - the function to call - - - - data to pass to @func - - - - - - - - - - - - - - - - the id - - - - - - - - - - - - - Task function, see gst_task_pool_push(). - - - - - - user data for the task function - - - - - - - - The different states a task can be in - - - - - - Custom GstTask thread callback functions that can be installed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Opaque #GstTrace structure. - - - - - - - - - - - - - - - - - Flush an close the previously allocated @trace. - - - - - - Flush any pending trace entries in @trace to the trace file. -flushed. - - - - - - Set the default #GstTrace to @trace. - - - - - - Flush any pending trace entries in @trace to the trace file, -formatted as a text line with timestamp and sequence numbers. -flushed. - - - - - - - - - - - - - - - - - - - - - - - Object that stores typefind callbacks. To use with #GstTypeFindFactory. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get the length of the data stream. - - The length of the data stream, or 0 if it is not available. - - - - - Returns the @size bytes of the stream to identify beginning at offset. If -offset is a positive number, the offset is relative to the beginning of the -stream, if offset is a negative number the offset is relative to the end of -the stream. The returned memory is valid until the typefinding function -returns and must not be freed. -if that data is not available. - - the requested data, or NULL - - - - - - - The offset - - - - The number of bytes to return - - - - - - If a #GstTypeFindFunction calls this function it suggests the caps with the -given probability. A #GstTypeFindFunction may supply different suggestions -in one call. -It is up to the caller of the #GstTypeFindFunction to interpret these values. - - - - - - The probability in percent that the suggestion is right - - - - The fixed #GstCaps to suggest - - - - - - If a #GstTypeFindFunction calls this function it suggests the caps with the -given probability. A #GstTypeFindFunction may supply different suggestions -in one call. It is up to the caller of the #GstTypeFindFunction to interpret -these values. -This function is similar to gst_type_find_suggest(), only that instead of -passing a #GstCaps argument you can create the caps on the fly in the same -way as you can with gst_caps_new_simple(). -Make sure you terminate the list of arguments with a NULL argument and that -the values passed have the correct type (in terms of width in bytes when -passed to the vararg function - this applies particularly to gdouble and -guint64 arguments). - - - - - - The probability in percent that the suggestion is right - - - - the media type of the suggested caps - - - - first field of the suggested caps, or NULL - - - - - - - - - - - Object that stores information about a typefind function. - - Gets the list of all registered typefind factories. You must free the -list using gst_plugin_feature_list_free(). -The returned factories are sorted by highest rank first, and then by -factory name. (behaviour change since 0.10.26) -registered #GstTypeFindFactory. - - the list of all - - - - - - - Calls the #GstTypeFindFunction associated with this factory. - - - - - - a properly setup #GstTypeFind entry. The get_data and suggest_type members must be set. - - - - - - Gets the #GstCaps associated with a typefind factory. - - the #GstCaps associated with this factory - - - - - Gets the extensions associated with a #GstTypeFindFactory. The returned -array should not be changed. If you need to change stuff in it, you should -copy it using g_strdupv(). This function may return NULL to indicate -a 0-length list. -NULL-terminated array of extensions associated with this factory - - a - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A function that will be called by typefinding. - - - - - - A #GstTypeFind structure - - - - optionnal data to pass to the function - - - - - - The probability of the typefind function. Higher values have more certainty -in doing a reliable typefind. - - - - - - - - Structure used for filtering based on @name and @type. - - - - - - - - - Opaque #GstURIHandler structure. - - Gets the currently handled URI. -Returns NULL if there are no URI currently handled. The -returned string must not be modified or freed. - - the URI currently handled by the @handler. - - - - - Tries to set the URI of the given handler. - - TRUE if the URI was set successfully, else FALSE. - - - - - URI to set - - - - - - Gets the list of protocols supported by @handler. This list may not be -modified. -supported protocols. Returns NULL if the @handler isn't implemented -properly, or the @handler doesn't support any protocols. - - the - - - - - - - Gets the currently handled URI. -Returns NULL if there are no URI currently handled. The -returned string must not be modified or freed. - - the URI currently handled by the @handler. - - - - - Gets the type of the given URI handler -Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly. - - the #GstURIType of the URI handler. - - - - - Emits the new-uri signal for a given handler, when that handler has a new URI. -This function should only be called by URI handlers themselves. - - - - - - new URI or NULL if it was unset - - - - - - Tries to set the URI of the given handler. - - TRUE if the URI was set successfully, else FALSE. - - - - - URI to set - - - - - - The URI of the given @handler has changed. - - - - - - The new URI, or NULL if the URI was removed - - - - - - - Any #GstElement using this interface should implement these methods. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - the URI currently handled by the @handler. - - - - - - - - - - - - - TRUE if the URI was set successfully, else FALSE. - - - - - - - - URI to set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The different types of URI direction. - - - - - - - - - - - - - - - - - - Used together with gst_value_compare() to compare #GValue items. -or GST_VALUE_UNORDERED - - one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN - - - - - first value for comparison - - - - second value for comparison - - - - - - Used by gst_value_deserialize() to parse a non-binary form into the #GValue. - - %TRUE for success - - - - - a #GValue - - - - a string - - - - - - Used by gst_value_intersect() to perform intersection for a specific #GValue -type. If the intersection is non-empty, the result is -placed in @dest and TRUE is returned. If the intersection is -empty, @dest is unmodified and FALSE is returned. -Register a new implementation with gst_value_register_intersect_func(). - - %TRUE if the values can intersect - - - - - a #GValue for the result - - - - a #GValue operand - - - - a #GValue operand - - - - - - Used by gst_value_serialize() to obtain a non-binary form of the #GValue. - - the string representation of the value - - - - - a #GValue - - - - - - Used by gst_value_subtract() to perform subtraction for a specific #GValue -type. Register a new implementation with gst_value_register_subtract_func(). - - %TRUE if the subtraction is not empty - - - - - a #GValue for the result - - - - a #GValue operand - - - - a #GValue operand - - - - - - VTable for the #GValue @type. - - - - - - - - - - - - - - - - - - - - Used by gst_value_union() to perform unification for a specific #GValue -type. Register a new implementation with gst_value_register_union_func(). - - %TRUE if a union was successful - - - - - a #GValue for the result - - - - a #GValue operand - - - - a #GValue operand - - - - - - XML parser object - - Create a new GstXML parser object. - - a pointer to a new GstXML object. - - - - - Load the element from the XML description - - the new element - - - - - the xml node - - - - the parent of this object when it's loaded - - - - - - Converts the given element into an XML presentation. - - a pointer to an XML document - - - - - The element to write out - - - - - - Converts the given element into XML and writes the formatted XML to an open -file. - - number of bytes written on success, -1 otherwise. - - - - - The element to write out - - - - an open file, like stdout - - - - - - - - - - - - - - - - - - - This function is used to get a pointer to the GstElement corresponding -to name in the pipeline description. You would use this if you have -to do anything to the element after loading. - - a pointer to a new GstElement, caller owns returned reference. - - - - - The name of element to retrieve - - - - - - Retrieve a list of toplevel elements. -of the list and must not free or modify the list. The caller also does not -own a reference to any of the elements in the list and should obtain its own -reference using gst_object_ref() if necessary. - - a GList of top-level elements. The caller does not own a copy - - - - - - - Fills the GstXML object with the elements from the -xmlDocPtr. - - TRUE on success, FALSE otherwise - - - - - a pointer to an xml document to parse - - - - The name of the root object to build - - - - - - Fills the GstXML object with the corresponding elements from -the XML file fname. Optionally it will only build the element from -the element node root (if it is not NULL). This feature is useful -if you only want to build a specific element from an XML file -but not the pipeline it is embedded in. -Pass "-" as fname to read from stdin. You can also pass a URI -of any format that libxml supports, including http. - - TRUE on success, FALSE otherwise - - - - - The filename with the xml description - - - - The name of the root object to build - - - - - - Fills the GstXML object with the corresponding elements from -an in memory XML buffer. - - TRUE on success - - - - - a pointer to the in memory XML buffer - - - - the size of the buffer - - - - the name of the root objects to build - - - - - - - - - - - - - - - - - - - - - - Signals that a new object has been deserialized. - - - - - - the object that has been loaded - - - - the related xml_node pointer to the document tree - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Check if alloc tracing was compiled into the core -tracing enabled. - - TRUE if the core was compiled with alloc - - - - - Get the named alloc trace object. -no alloc tracer was registered with that name. - - a GstAllocTrace with the given name or NULL when - - - - - the name of the alloc trace object - - - - - - Get a list of all registered alloc trace objects. - - a GList of GstAllocTrace objects. - - - - - - - Get the total number of live registered alloc trace objects. - - the total number of live registered alloc trace objects. - - - - - Print the status of all registered alloc trace objects. - - - - - - Print the status of all registered alloc trace objects, ignoring those -without live objects. - - - - - - Enable the specified options on all registered alloc trace -objects. - - - - - - the options to enable - - - - - - Unconditionally sets the atomic integer to @value. - - - - - - pointer to an atomic integer - - - - value to set - - - - - - Converts @caps from a string representation. - - a newly allocated #GstCaps - - - - - a string to convert to #GstCaps - - - - - - Creates a #GstCaps from its XML serialization. - - a new #GstCaps structure - - - - - a XML node - - - - - - Replaces *caps with @newcaps. Unrefs the #GstCaps in the location -pointed to by @caps, if applicable, then modifies @caps to point to -This function does not take any locks so you might want to lock -the object owning @caps pointer. - - - - - - a pointer to #GstCaps - - - - a #GstCaps to replace *caps - - - - - - Emits the "child-added" signal. - - - - - - the parent object - - - - the newly added child - - - - - - Emits the "child-removed" signal. - - - - - - the parent object - - - - the removed child - - - - - - Gets properties of the parent object and its children. - - - - - - the parent object - - - - name of the first property to get - - - - - - - - - - Gets a single property using the GstChildProxy mechanism. -You are responsible for for freeing it by calling g_value_unset() - - - - - - object to query - - - - name of the property - - - - a #GValue that should take the result. - - - - - - Gets properties of the parent object and its children. - - - - - - the object to query - - - - name of the first property to get - - - - return location for the first property, followed optionally by more name/return location pairs, followed by NULL - - - - - - Looks up which object and #GParamSpec would be effected by the given @name. -case the values for @pspec and @target are not modified. Unref @target after -usage. -MT safe. - - TRUE if @target and @pspec could be found. FALSE otherwise. In that - - - - - object to lookup the property in - - - - name of the property to look up - - - - pointer to a #GstObject that takes the real object to set property on - - - - pointer to take the #GParamSpec describing the property - - - - - - Sets properties of the parent object and its children. - - - - - - the parent object - - - - name of the first property to set - - - - - - - - - - Sets a single property using the GstChildProxy mechanism. - - - - - - the parent object - - - - name of the property to set - - - - new #GValue for the property - - - - - - Sets properties of the parent object and its children. - - - - - - the parent object - - - - name of the first property to set - - - - value for the first property, followed optionally by more name/value pairs, followed by NULL - - - - - - - - - - - - - - - - - - - - - - - - - emits the named class signal. - - - - - - a #GstObject that emits the signal - - - - the name of the signal to emit - - - - data for the signal - - - - - - - - - - - Adds the logging function to the list of logging functions. -Be sure to use #G_GNUC_NO_INSTRUMENT on that function, it is needed. - - - - - - the function to use - - - - user data - - - - - - Constructs a string that can be used for getting the desired color in color -terminals. -You need to free the string after use. -definition - - a string containing the color - - - - - the color info - - - - - - Constructs an integer that can be used for getting the desired color in -windows' terminals (cmd.exe). As there is no mean to underline, we simply -ignore this attribute. -This function returns 0 on non-windows machines. - - an integer containing the color definition - - - - - the color info - - - - - - Returns a snapshot of a all categories that are currently in use . This list -may change anytime. -The caller has to free the list after use. -debug categories - - the list of - - - - - - - Returns the default threshold that is used for new categories. - - the default threshold level - - - - - Checks if debugging output is activated. - - TRUE, if debugging is activated - - - - - Checks if the debugging output should be colored. - - TRUE, if the debug output should be colored. - - - - - Get the string representation of a debugging level - - the name - - - - - the level to get the name for - - - - - - Logs the given message using the currently registered debugging handlers. - - - - - - category to log - - - - level of the message is in - - - - the file that emitted the message, usually the __FILE__ identifier - - - - the function that emitted the message - - - - the line from that the message was emitted, usually __LINE__ - - - - the object this message relates to, or NULL if none - - - - a printf style format string - - - - - - - - - - The default logging handler used by GStreamer. Logging functions get called -whenever a macro like GST_DEBUG or similar is used. This function outputs the -message and additional info to stderr (or the log file specified via the -GST_DEBUG_FILE environment variable). -You can add other handlers by using gst_debug_add_log_function(). -And you can remove this handler by calling -gst_debug_remove_log_function(gst_debug_log_default); - - - - - - category to log - - - - level of the message - - - - the file that emitted the message, usually the __FILE__ identifier - - - - the function that emitted the message - - - - the line from that the message was emitted, usually __LINE__ - - - - the object this message relates to, or NULL if none - - - - the actual message - - - - an unused variable, reserved for some user_data. - - - - - - Logs the given message using the currently registered debugging handlers. - - - - - - category to log - - - - level of the message is in - - - - the file that emitted the message, usually the __FILE__ identifier - - - - the function that emitted the message - - - - the line from that the message was emitted, usually __LINE__ - - - - the object this message relates to, or NULL if none - - - - a printf style format string - - - - optional arguments for the format - - - - - - If GST_ENABLE_FUNC_INSTRUMENTATION is defined a stacktrace is available for -gstreamer code, which can be printed with this function. - - - - - - Removes all registered instances of the given logging functions. - - How many instances of the function were removed - - - - - the log function to remove - - - - - - Removes all registered instances of log functions with the given user data. - - How many instances of the function were removed - - - - - user data of the log function to remove - - - - - - If activated, debugging messages are sent to the debugging -handlers. -It makes sense to deactivate it for speed issues. -<note><para>This function is not threadsafe. It makes sense to only call it -during initialization.</para></note> - - - - - - Whether to use debugging output or not - - - - - - Sets or unsets the use of coloured debugging output. -This function may be called before gst_init(). - - - - - - Whether to use colored output or not - - - - - - Sets the default threshold to the given level and updates all categories to -use this threshold. -This function may be called before gst_init(). - - - - - - level to set - - - - - - Sets all categories which match the given glob style pattern to the given -level. - - - - - - name of the categories to set - - - - level to set them to - - - - - - Resets all categories with the given name back to the default level. - - - - - - name of the categories to set - - - - - - Checks whether a plugin feature by the given name exists in the -default registry and whether its version is at least the -version required. -the same as the required version or newer, and #FALSE otherwise. - - #TRUE if the feature could be found and the version is - - - - - the name of the feature (e.g. "oggdemux") - - - - the minimum major version number - - - - the minimum minor version number - - - - the minimum micro version number - - - - - - Clean up any resources created by GStreamer in gst_init(). -It is normally not needed to call this function in a normal application -as the resources will automatically be freed when the program terminates. -This function is therefore mostly used by testsuites and other memory -profiling tools. -After this call GStreamer (including this method) should not be used anymore. - - - - - - - - - - - Get a string describing the error message in the current locale. -the error message (in UTF-8 encoding) - - a newly allocated string describing - - - - - the GStreamer error domain this error belongs to. - - - - the error code belonging to the domain. - - - - - - Iterates over the elements in @list, calling @func with the -list item data for each item. If @func returns TRUE, @data is -prepended to the list of results returned. If @first is true, -the search is halted after the first result is found. -Since gst_filter_run() knows nothing about the type of @data, no -reference will be taken (if @data refers to an object) and no copy of -results. -when no longer needed (the data contained in the list is a flat copy -and does need to be unreferenced or freed). - - the list of results. Free with g_list_free() - - - - - - - a linked list - - - - - - the function to execute for each item - - - - flag to stop execution after a successful item - - - - user data - - - - - - Gets a string representing the given flow return. - - a static string with the name of the flow return. - - - - - a #GstFlowReturn to get the name of. - - - - - - Get the unique quark for the given GstFlowReturn. -invalid return was specified. - - the quark associated with the flow return or 0 if an - - - - - a #GstFlowReturn to get the quark of. - - - - - - Return the format registered with the given nick. -if the format was not registered. - - The format with @nick or GST_FORMAT_UNDEFINED - - - - - The nick of the format - - - - - - Get details about the given format. -MT safe. - - The #GstFormatDefinition for @format or NULL on failure. - - - - - The format to get details of - - - - - - Get a printable name for the given format. Do not modify or free. -the format is unknown. - - a reference to the static name of the format or NULL if - - - - - a #GstFormat - - - - - - Iterate all the registered formats. The format definition is read -only. - - a GstIterator of #GstFormatDefinition. - - - - - Create a new GstFormat based on the nick or return an -already registered format with that nick. -with the same nick. -MT safe. - - A new GstFormat or an already registered format - - - - - The nick of the new format - - - - The description of the new format - - - - - - Get the unique quark for the given format. -is unknown. - - the quark associated with the format or 0 if the format - - - - - a #GstFormat - - - - - - See if the given format is inside the format array. - - TRUE if the format is found inside the array - - - - - The format array to search - - - - the format to find - - - - - - - - - - - - - - - - - - - - - cast a given object to an interface type, and check whether this -interface is supported for this specific instance. - - a gpointer to the interface type - - - - - the object (any sort) from which to cast to the interface - - - - the interface type to cast to - - - - - - check a given object for an interface implementation, and check -whether this interface is supported for this specific instance. - - whether or not the object implements the given interface - - - - - the object (any sort) from which to check from for the interface - - - - the interface type to check for - - - - - - Initializes the GStreamer library, setting up internal path lists, -registering built-in elements, and loading standard plugins. -Unless the plugin registry is disabled at compile time, the registry will be -loaded. By default this will also check if the registry cache needs to be -updated and rescan all plugins if needed. See gst_update_registry() for -details and section -<link linkend="gst-running">Running GStreamer Applications</link> -for how to disable automatic registry updates. -This function should be called before calling any other GLib functions. If -this is not an option, your program must initialise the GLib thread system -using g_thread_init() before any other GLib functions are called. -<note><para> -This function will terminate your program if it was unable to initialize -GStreamer for some reason. If you want your program to fall back, -use gst_init_check() instead. -</para></note> -functions in other glib-style libraries, such as gtk_init(). In -particular, unknown command line options cause this function to -abort program execution. - - - - - - pointer to application's argc - - - - pointer to application's argv - - - - - - - - Initializes the GStreamer library, setting up internal path lists, -registering built-in elements, and loading standard plugins. -This function will return %FALSE if GStreamer could not be initialized -for some reason. If you want your program to fail fatally, -use gst_init() instead. -This function should be called before calling any other GLib functions. If -this is not an option, your program must initialise the GLib thread system -using g_thread_init() before any other GLib functions are called. - - %TRUE if GStreamer could be initialized. - - - - - pointer to application's argc - - - - pointer to application's argv - - - - - - - - Returns a #GOptionGroup with GStreamer's argument specifications. The -group is set up to use standard GOption callbacks, so when using this -group in combination with GOption parsing methods, all argument parsing -and initialization is automated. -This function is useful if you want to integrate GStreamer with other -libraries that use GOption (see g_option_context_add_group() ). -If you use this function, you should make sure you initialise the GLib -threading system as one of the very first things in your program -(see the example at the beginning of this section). - - a pointer to GStreamer's option group. - - - - - - - - - - - - - - - Use this function to check if GStreamer has been initialized with gst_init() -or gst_init_check(). - - TRUE if initialization has been done, FALSE otherwise. - - - - - Checks if the given pointer is a taglist. - - TRUE, if the given pointer is a taglist - - - - - Object that might be a taglist - - - - - - Create a new iterator. This function is mainly used for objects -implementing the next/resync/free function to iterate a data structure. -For each item retrieved, the @item function is called with the lock -held. The @free function is called when the iterator is freed. -MT safe. - - the new #GstIterator. - - - - - the size of the iterator structure - - - - #GType of children - - - - pointer to a #GMutex. - - - - pointer to a guint32 that is changed when the items in the iterator changed. - - - - function to get next item - - - - function to call on each item retrieved - - - - function to resync the iterator - - - - function to free the iterator - - - - - - Create a new iterator designed for iterating @list. -The list you iterate is usually part of a data structure @owner and is -protected with @lock. -The iterator will use @lock to retrieve the next item of the list and it -will then call the @item function before releasing @lock again. -The @item function usualy makes sure that the item remains alive while -responsible for freeing/unreffing the item after usage as explained in -gst_iterator_next(). -When a concurrent update to the list is performed, usually by @owner while -holding @lock, @master_cookie will be updated. The iterator implementation -will notice the update of the cookie and will return %GST_ITERATOR_RESYNC to -the user of the iterator in the next call to gst_iterator_next(). -MT safe. - - the new #GstIterator for @list. - - - - - #GType of elements - - - - pointer to a #GMutex protecting the list. - - - - pointer to a guint32 that is incremented when the list is changed. - - - - pointer to the list - - - - - - object owning the list - - - - function to call for each item - - - - function to call when the iterator is freed - - - - - - This #GstIterator is a convenient iterator for the common -case where a #GstIterator needs to be returned but only -a single object has to be considered. This happens often -for the #GstPadIterIntLinkFunction. - - the new #GstIterator for @object. - - - - - #GType of the passed object - - - - object that this iterator should return - - - - Function that returns a copy of @object or increases its refcount - - - - Function to be called for freeing @object - - - - - - - - - - - Creates a new #GParamSpec instance that hold #GstMiniObject references. - - a newly allocated #GParamSpec instance - - - - - the canonical name of the property - - - - the nickname of the property - - - - a short description of the property - - - - the #GstMiniObject #GType for the property - - - - a combination of #GParamFlags - - - - - - - - - - - This is a convenience wrapper around gst_parse_launch() to create a -#GstBin from a gst-launch-style pipeline description. See -gst_parse_launch() and the gst-launch man page for details about the -syntax. Ghost pads on the bin for unlinked source or sink pads -within the bin can automatically be created (but only a maximum of -one ghost pad for each direction will be created; if you expect -multiple unlinked source pads or multiple unlinked sink pads -and want them all ghosted, you will have to create the ghost pads -yourself). - - a newly-created bin, or NULL if an error occurred. - - - - - command line describing the bin - - - - whether to automatically create ghost pads for unlinked source or sink pads within the bin - - - - - - This is a convenience wrapper around gst_parse_launch() to create a -#GstBin from a gst-launch-style pipeline description. See -gst_parse_launch() and the gst-launch man page for details about the -syntax. Ghost pads on the bin for unlinked source or sink pads -within the bin can automatically be created (but only a maximum of -one ghost pad for each direction will be created; if you expect -multiple unlinked source pads or multiple unlinked sink pads -and want them all ghosted, you will have to create the ghost pads -yourself). - - a newly-created bin, or NULL if an error occurred. - - - - - command line describing the bin - - - - whether to automatically create ghost pads for unlinked source or sink pads within the bin - - - - a parse context allocated with gst_parse_context_new(), or %NULL - - - - parsing options, or #GST_PARSE_FLAG_NONE - - - - - - Allocates a parse context for use with gst_parse_launch_full() or -gst_parse_launchv_full(). -gst_parse_context_free() when no longer needed. - - a newly-allocated parse context. Free with - - - - - Get the error quark used by the parsing subsystem. - - the quark of the parse errors. - - - - - Create a new pipeline based on command line syntax. -Please note that you might get a return value that is not %NULL even though -the @error is set. In this case there was a recoverable parsing error and you -can try to play the pipeline. -more than one toplevel element is specified by the @pipeline_description, -all elements are put into a #GstPipeline, which than is returned. - - a new element on success, %NULL on failure. If - - - - - the command line describing the pipeline - - - - - - Create a new pipeline based on command line syntax. -Please note that you might get a return value that is not %NULL even though -the @error is set. In this case there was a recoverable parsing error and you -can try to play the pipeline. -more than one toplevel element is specified by the @pipeline_description, -all elements are put into a #GstPipeline, which then is returned. - - a new element on success, %NULL on failure. If - - - - - the command line describing the pipeline - - - - a parse context allocated with gst_parse_context_new(), or %NULL - - - - parsing options, or #GST_PARSE_FLAG_NONE - - - - - - Create a new element based on command line syntax. -An error does not mean that the pipeline could not be constructed. - - a new element on success and %NULL on failure. - - - - - null-terminated array of arguments - - - - - - - - Create a new element based on command line syntax. -An error does not mean that the pipeline could not be constructed. -or a partially-constructed bin or element will be returned and @error will -be set (unless you passed #GST_PARSE_FLAG_FATAL_ERRORS in @flags, then -%NULL will always be returned on failure) - - a new element on success; on failure, either %NULL - - - - - null-terminated array of arguments - - - - - - a parse context allocated with gst_parse_context_new(), or %NULL - - - - parsing options, or #GST_PARSE_FLAG_NONE - - - - - - Create a new file descriptor set. If @controllable, it -is possible to restart or flush a call to gst_poll_wait() with -gst_poll_restart() and gst_poll_set_flushing() respectively. -Free with gst_poll_free(). - - a new #GstPoll, or %NULL in case of an error. - - - - - whether it should be possible to control a wait. - - - - - - Create a new poll object that can be used for scheduling cancellable -timeouts. -A timeout is performed with gst_poll_wait(). Multiple timeouts can be -performed from different threads. -Free with gst_poll_free(). - - a new #GstPoll, or %NULL in case of an error. - - - - - Print the element argument in a human readable format in the given -GString. - - - - - - the buffer to print the args in - - - - initial indentation - - - - the element to print the args of - - - - - - Write the pad capabilities in a human readable format into -the given GString. - - - - - - the buffer to print the caps in - - - - initial indentation - - - - the pad to print the caps from - - - - - - - - - - - Some functions in the GStreamer core might install a custom SIGSEGV handler -to better catch and report errors to the application. Currently this feature -is enabled by default when loading plugins. -Applications might want to disable this behaviour with the -gst_segtrap_set_enabled() function. This is typically done if the application -wants to install its own handler without GStreamer interfering. - - %TRUE if GStreamer is allowed to install a custom SIGSEGV handler. - - - - - Applications might want to disable/enable the SIGSEGV handling of -the GStreamer core. See gst_segtrap_is_enabled() for more information. - - - - - - whether a custom SIGSEGV handler should be installed. - - - - - - - - - - - - - - - - - - - - - Creates a #GstStructure from a string representation. -If end is not NULL, a pointer to the place inside the given string -where parsing ended will be returned. -not be parsed. Free with gst_structure_free() after use. - - a new #GstStructure or NULL when the string could - - - - - a string representation of a #GstStructure. - - - - pointer to store the end of the string in. - - - - - - Checks if the given type is already registered. - - TRUE if the type is already registered - - - - - name of the tag - - - - - - Returns the human-readable description of this tag, You must not change or -free this string. - - the human-readable description of this tag - - - - - the tag - - - - - - Gets the flag of @tag. - - the flag of this tag. - - - - - the tag - - - - - - - - - - - - - - - - Gets the #GType used for this tag. - - the #GType of this tag - - - - - the tag - - - - - - Checks if the given tag is fixed. A fixed tag can only contain one value. -Unfixed tags can contain lists of values. - - TRUE, if the given tag is fixed. - - - - - tag to check - - - - - - Copies the contents for the given tag into the value, -merging multiple values into one if multiple values are associated -with the tag. -You must g_value_unset() the value after use. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - uninitialized #GValue to copy into - - - - list to get the tag from - - - - tag to read out - - - - - - This is a convenience function for the func argument of gst_tag_register(). -It concatenates all given strings using a comma. The tag must be registered -as a G_TYPE_STRING or this function will fail. - - - - - - uninitialized GValue to store result in - - - - GValue to copy from - - - - - - This is a convenience function for the func argument of gst_tag_register(). -It creates a copy of the first value from the list. - - - - - - uninitialized GValue to store result in - - - - GValue to copy from - - - - - - Registers a new tag type for the use with GStreamer's type system. If a type -with that name is already registered, that one is used. -The old registration may have used a different type however. So don't rely -on your supplied values. -that there can only be one single value for this tag in a tag list and -any additional values will silenty be discarded when being added (unless -#GST_TAG_MERGE_REPLACE, #GST_TAG_MERGE_REPLACE_ALL, or -#GST_TAG_MERGE_PREPEND is used as merge mode, in which case the new -value will replace the old one in the list). -The merge function will be called from gst_tag_list_copy_value() when -it is required that one or more values for a tag be condensed into -one single value. This may happen from gst_tag_list_get_string(), -gst_tag_list_get_int(), gst_tag_list_get_double() etc. What will happen -exactly in that case depends on how the tag was registered and if a -merge function was supplied and if so which one. -gst_tag_merge_strings_with_comma(). - - - - - - the name or identifier string - - - - a flag describing the type of tag info - - - - the type this data is in - - - - human-readable name - - - - a human-readable description about this tag - - - - function for merging multiple values of this tag, or NULL - - - - - - Create a ringbuffer of @size in the file with @filename to -store trace results in. - - a new #GstTrace. - - - - - a filename - - - - the max size of the file - - - - - - Read a platform independent timer value that can be used in -benchmarks. - - - - - - (out) pointer to hold the result. - - - - - - - - - - - Registers a new typefind function to be used for typefinding. After -registering this function will be available for typefinding. -This function is typically called during an element's plugin initialization. - - TRUE on success, FALSE otherwise - - - - - A #GstPlugin, or NULL for a static typefind function (note that passing NULL only works in GStreamer 0.10.16 and later) - - - - The name for registering - - - - The rank (or importance) of this typefind function - - - - The #GstTypeFindFunction to use - - - - Optional extensions that could belong to this type - - - - - - Optionally the caps that could be returned when typefinding succeeds - - - - Optional user data. This user data must be available until the plugin is unloaded. - - - - a #GDestroyNotify that will be called on @data when the plugin is unloaded. - - - - - - Helper function which constructs a #GTypeInfo structure and registers a -GType, but which generates less linker overhead than a static const -#GTypeInfo structure. For further details of the parameters, please see -#GTypeInfo in the GLib documentation. -Registers type_name as the name of a new static type derived from -parent_type. The value of flags determines the nature (e.g. abstract or -not) of the type. It works by filling a GTypeInfo struct and calling -g_type_register_static(). - - A #GType for the newly-registered type. - - - - - The GType of the parent type the newly registered type will derive from - - - - NULL-terminated string used as the name of the new type - - - - Size of the class structure. - - - - Location of the base initialization function (optional). - - - - Location of the base finalization function (optional). - - - - Location of the class initialization function for class types Location of the default vtable inititalization function for interface types. (optional) - - - - Location of the class finalization function for class types. Location of the default vtable finalization function for interface types. (optional) - - - - User-supplied data passed to the class init/finalize functions. - - - - Size of the instance (object) structure (required for instantiatable types only). - - - - The number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Ignored on recent GLib's. - - - - Location of the instance initialization function (optional, for instantiatable types only). - - - - A GTypeValueTable function table for generic handling of GValues of this type (usually only useful for fundamental types). - - - - #GTypeFlags for this GType. E.g: G_TYPE_FLAG_ABSTRACT - - - - - - Forces GStreamer to re-scan its plugin paths and update the default -plugin registry. -Applications will almost never need to call this function, it is only -useful if the application knows new plugins have been installed (or old -ones removed) since the start of the application (or, to be precise, the -first call to gst_init()) and the application wants to make use of any -newly-installed plugins without restarting the application. -Applications should assume that the registry update is neither atomic nor -thread-safe and should therefore not have any dynamic pipelines running -(including the playbin and decodebin elements) and should also not create -any elements or access the GStreamer registry while the update is in -progress. -Note that this function may block for a significant amount of time. -imply that there were changes), otherwise %FALSE. - - %TRUE if the registry has been updated successfully (does not - - - - - Constructs a URI for a given valid protocol and location. -URI. Returns NULL if the given URI protocol is not valid, or the given -location is NULL. - - a new string for this - - - - - - - Protocol for URI - - - - Location for URI - - - - - - - - Extracts the location out of a given valid URI, ie. the protocol and "://" -are stripped from the URI, which means that the location returned includes -the hostname if one is specified. The returned string must be freed using -g_free(). -URI. Returns NULL if the URI isn't valid. If the URI does not contain -a location, an empty string is returned. - - the location for this - - - - - - - A URI string - - - - - - Extracts the protocol out of a given valid URI. The returned string must be -freed using g_free(). - - The protocol for this URI. - - - - - A URI string - - - - - - Checks if the protocol of a given valid URI matches @protocol. - - %TRUE if the protocol matches. - - - - - a URI string - - - - a protocol string (e.g. "http") - - - - - - Tests if the given string is a valid URI identifier. URIs start with a valid -scheme followed by ":" and maybe a string identifying the location. - - TRUE if the string is a valid URI - - - - - A URI string - - - - - - Checks if an element exists that supports the given URI protocol. Note -that a positive return value does not imply that a subsequent call to -gst_element_make_from_uri() is guaranteed to work. - - TRUE - - - - - Whether to check for a source or a sink - - - - Protocol that should be checked for (e.g. "http" or "smb") - - - - - - Tests if the given string is a valid protocol identifier. Protocols -must consist of alphanumeric characters, '+', '-' and '.' and must -start with a alphabetic character. See RFC 3986 Section 3.1. - - TRUE if the string is a valid protocol identifier, FALSE otherwise. - - - - - A string - - - - - - Searches inside @array for @search_data by using the comparison function -As @search_data is always passed as second argument to @search_func it's -not required that @search_data has the same type as the array elements. -The complexity of this search function is O(log (num_elements)). - - The address of the found element or %NULL if nothing was found - - - - - the sorted input array - - - - number of elements in the array - - - - size of every element in bytes - - - - function to compare two elements, @search_data will always be passed as second argument - - - - search mode that should be used - - - - element that should be found - - - - data to pass to @search_func - - - - - - Transforms a #gdouble to a fraction and simplifies -the result. - - - - - - #gdouble to transform - - - - pointer to a #gint to hold the result numerator - - - - pointer to a #gint to hold the result denominator - - - - - - Dumps the memory block into a hex representation. Useful for debugging. - - - - - - a pointer to the memory to dump - - - - the size of the memory block to dump - - - - - - Adds the fractions @a_n/@a_d and @b_n/@b_d and stores -the result in @res_n and @res_d. - - %FALSE on overflow, %TRUE otherwise. - - - - - Numerator of first value - - - - Denominator of first value - - - - Numerator of second value - - - - Denominator of second value - - - - Pointer to #gint to hold the result numerator - - - - Pointer to #gint to hold the result denominator - - - - - - Compares the fractions @a_n/@a_d and @b_n/@b_d and returns --1 if a < b, 0 if a = b and 1 if a > b. - - -1 if a < b; 0 if a = b; 1 if a > b. - - - - - Numerator of first value - - - - Denominator of first value - - - - Numerator of second value - - - - Denominator of second value - - - - - - Multiplies the fractions @a_n/@a_d and @b_n/@b_d and stores -the result in @res_n and @res_d. - - %FALSE on overflow, %TRUE otherwise. - - - - - Numerator of first value - - - - Denominator of first value - - - - Numerator of second value - - - - Denominator of second value - - - - Pointer to #gint to hold the result numerator - - - - Pointer to #gint to hold the result denominator - - - - - - Transforms a #gdouble to a fraction and simplifies the result. - - - - - - Fraction numerator as #gint - - - - Fraction denominator #gint - - - - pointer to a #gdouble for the result - - - - - - - - - - - - - - - - Get a timestamp as GstClockTime to be used for interval meassurements. -The timestamp should not be interpreted in any other way. - - the timestamp - - - - - Calculates the greatest common divisor of @a -and @b. - - Greatest common divisor of @a and @b - - - - - First value as #gint - - - - Second value as #gint - - - - - - - - - - - - - - - - Compare two sequence numbers, handling wraparound. -The current implementation just returns (gint32)(@s1 - @s2). -positive number if @s1 is after @s2. - - A negative number if @s1 is before @s2, 0 if they are equal, or a - - - - - A sequence number. - - - - Another sequence number. - - - - - - Return a constantly incrementing sequence number. -This function is used internally to GStreamer to be able to determine which -events and messages are "the same". For example, elements may set the seqnum -on a segment-done message to be the same as that of the last seek event, to -indicate that event and the message correspond to the same segment. -overflow back to 0 at some point. Use gst_util_seqnum_compare() to make sure -you handle wraparound correctly. - - A constantly incrementing 32-bit unsigned integer, which might - - - - - Convertes the string value to the type of the objects argument and -sets the argument with it. -Note that this function silently returns if @object has no property named - - - - - - the object to set the argument of - - - - the name of the argument to set - - - - the string value to set - - - - - - Converts the string to the type of the value and -sets the value with it. -Note that this function is dangerous as it does not return any indication -if the conversion worked or not. - - - - - - the value to set - - - - the string to get the value from - - - - - - Scale @val by the rational number @num / @denom, avoiding overflows and -underflows and without loss of precision. -This function can potentially be very slow if val and num are both -greater than G_MAXUINT32. -function returns G_MAXUINT64. If the result is not exactly -representable as an integer it is truncated. See also -gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil(), -gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(), -gst_util_uint64_scale_int_ceil(). - - @val * @num / @denom. In the case of an overflow, this - - - - - the number to scale - - - - the numerator of the scale ratio - - - - the denominator of the scale ratio - - - - - - Scale @val by the rational number @num / @denom, avoiding overflows and -underflows and without loss of precision. -This function can potentially be very slow if val and num are both -greater than G_MAXUINT32. -function returns G_MAXUINT64. If the result is not exactly -representable as an integer, it is rounded up. See also -gst_util_uint64_scale(), gst_util_uint64_scale_round(), -gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(), -gst_util_uint64_scale_int_ceil(). - - @val * @num / @denom. In the case of an overflow, this - - - - - the number to scale - - - - the numerator of the scale ratio - - - - the denominator of the scale ratio - - - - - - Scale @val by the rational number @num / @denom, avoiding overflows and -underflows and without loss of precision. @num must be non-negative and -function returns G_MAXUINT64. If the result is not exactly -representable as an integer, it is truncated. See also -gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil(), -gst_util_uint64_scale(), gst_util_uint64_scale_round(), -gst_util_uint64_scale_ceil(). - - @val * @num / @denom. In the case of an overflow, this - - - - - guint64 (such as a #GstClockTime) to scale. - - - - numerator of the scale factor. - - - - denominator of the scale factor. - - - - - - Scale @val by the rational number @num / @denom, avoiding overflows and -underflows and without loss of precision. @num must be non-negative and -function returns G_MAXUINT64. If the result is not exactly -representable as an integer, it is rounded up. See also -gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(), -gst_util_uint64_scale(), gst_util_uint64_scale_round(), -gst_util_uint64_scale_ceil(). - - @val * @num / @denom. In the case of an overflow, this - - - - - guint64 (such as a #GstClockTime) to scale. - - - - numerator of the scale factor. - - - - denominator of the scale factor. - - - - - - Scale @val by the rational number @num / @denom, avoiding overflows and -underflows and without loss of precision. @num must be non-negative and -function returns G_MAXUINT64. If the result is not exactly -representable as an integer, it is rounded to the nearest integer -(half-way cases are rounded up). See also gst_util_uint64_scale_int(), -gst_util_uint64_scale_int_ceil(), gst_util_uint64_scale(), -gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil(). - - @val * @num / @denom. In the case of an overflow, this - - - - - guint64 (such as a #GstClockTime) to scale. - - - - numerator of the scale factor. - - - - denominator of the scale factor. - - - - - - Scale @val by the rational number @num / @denom, avoiding overflows and -underflows and without loss of precision. -This function can potentially be very slow if val and num are both -greater than G_MAXUINT32. -function returns G_MAXUINT64. If the result is not exactly -representable as an integer, it is rounded to the nearest integer -(half-way cases are rounded up). See also gst_util_uint64_scale(), -gst_util_uint64_scale_ceil(), gst_util_uint64_scale_int(), -gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil(). - - @val * @num / @denom. In the case of an overflow, this - - - - - the number to scale - - - - the numerator of the scale ratio - - - - the denominator of the scale ratio - - - - - - Appends @append_value to the GstValueArray in @value. - - - - - - a #GValue of type #GST_TYPE_ARRAY - - - - the value to append - - - - - - Gets the number of values contained in @value. - - the number of values - - - - - a #GValue of type #GST_TYPE_ARRAY - - - - - - - - - - - Gets the value that is a member of the array contained in @value and -has the index @index. - - the value at the given index - - - - - a #GValue of type #GST_TYPE_ARRAY - - - - index of value to get from the array - - - - - - Prepends @prepend_value to the GstValueArray in @value. - - - - - - a #GValue of type #GST_TYPE_ARRAY - - - - the value to prepend - - - - - - Determines if @value1 and @value2 can be compared. - - TRUE if the values can be compared - - - - - a value to compare - - - - another value to compare - - - - - - Determines if intersecting two values will produce a valid result. -Two values will produce a valid intersection if they have the same -type, or if there is a method (registered by -gst_value_register_intersect_func()) to calculate the intersection. - - TRUE if the values can intersect - - - - - a value to intersect - - - - another value to intersect - - - - - - Checks if it's possible to subtract @subtrahend from @minuend. - - TRUE if a subtraction is possible - - - - - the value to subtract from - - - - the value to subtract - - - - - - Determines if @value1 and @value2 can be non-trivially unioned. -Any two values can be trivially unioned by adding both of them -to a GstValueList. However, certain types have the possibility -to be unioned in a simpler way. For example, an integer range -and an integer can be unioned if the integer is a subset of the -integer range. If there is the possibility that two values can -be unioned, this function returns TRUE. -be unioned. - - TRUE if there is a function allowing the two values to - - - - - a value to union - - - - another value to union - - - - - - Compares @value1 and @value2. If @value1 and @value2 cannot be -compared, the function returns GST_VALUE_UNORDERED. Otherwise, -if @value1 is greater than @value2, GST_VALUE_GREATER_THAN is returned. -If @value1 is less than @value2, GST_VALUE_LESS_THAN is returned. -If the values are equal, GST_VALUE_EQUAL is returned. - - comparison result - - - - - a value to compare - - - - another value to compare - - - - - - Tries to deserialize a string into the type specified by the given GValue. -If the operation succeeds, TRUE is returned, FALSE otherwise. - - TRUE on success - - - - - #GValue to fill with contents of deserialization - - - - string to deserialize - - - - - - Get the contents of a %GST_TYPE_MINI_OBJECT derived #GValue, -increasing its reference count. - - mini object contents of @value - - - - - a valid #GValue of %GST_TYPE_MINI_OBJECT derived type - - - - - - Multiplies the two #GValue items containing a #GST_TYPE_FRACTION and sets - - FALSE in case of an error (like integer overflow), TRUE otherwise. - - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - - - Subtracts the @subtrahend from the @minuend and sets @dest to the result. - - FALSE in case of an error (like integer overflow), TRUE otherwise. - - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - - - Gets the contents of @value. The reference count of the returned -#GstCaps will not be modified, therefore the caller must take one -before getting rid of the @value. - - the contents of @value - - - - - a GValue initialized to GST_TYPE_CAPS - - - - - - Gets the contents of @value. - - the contents of @value - - - - - a GValue initialized to GST_TYPE_DATE - - - - - - Gets the maximum of the range specified by @value. - - the maxumum of the range - - - - - a GValue initialized to GST_TYPE_DOUBLE_RANGE - - - - - - Gets the minimum of the range specified by @value. - - the minimum of the range - - - - - a GValue initialized to GST_TYPE_DOUBLE_RANGE - - - - - - Gets the #guint32 fourcc contained in @value. - - the #guint32 fourcc contained in @value. - - - - - a GValue initialized to #GST_TYPE_FOURCC - - - - - - Gets the denominator of the fraction specified by @value. - - the denominator of the fraction. - - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - - - Gets the numerator of the fraction specified by @value. - - the numerator of the fraction. - - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - - - Gets the maximum of the range specified by @value. - - the maximum of the range - - - - - a GValue initialized to GST_TYPE_FRACTION_RANGE - - - - - - Gets the minimum of the range specified by @value. - - the minimum of the range - - - - - a GValue initialized to GST_TYPE_FRACTION_RANGE - - - - - - Gets the maximum of the range specified by @value. - - the maxumum of the range - - - - - a GValue initialized to GST_TYPE_INT64_RANGE - - - - - - Gets the minimum of the range specified by @value. - - the minimum of the range - - - - - a GValue initialized to GST_TYPE_INT64_RANGE - - - - - - Gets the maximum of the range specified by @value. - - the maxumum of the range - - - - - a GValue initialized to GST_TYPE_INT_RANGE - - - - - - Gets the minimum of the range specified by @value. - - the minimum of the range - - - - - a GValue initialized to GST_TYPE_INT_RANGE - - - - - - Get the contents of a %GST_TYPE_MINI_OBJECT derived #GValue. -Does not increase the refcount of the returned object. - - mini object contents of @value - - - - - a valid #GValue of %GST_TYPE_MINI_OBJECT derived type - - - - - - Gets the contents of @value. - - the contents of @value - - - - - a GValue initialized to GST_TYPE_STRUCTURE - - - - - - Initialises the target value to be of the same type as source and then copies -the contents from source to target. - - - - - - the target value - - - - the source value - - - - - - Calculates the intersection of two values. If the values have -a non-empty intersection, the value representing the intersection -is placed in @dest. If the intersection is non-empty, @dest is -not modified. - - TRUE if the intersection is non-empty - - - - - a uninitialized #GValue that will hold the calculated intersection value - - - - a value to intersect - - - - another value to intersect - - - - - - Tests if the given GValue, if available in a GstStructure (or any other -(which means: multiple possible values, such as data lists or data -ranges) value. - - true if the value is "fixed". - - - - - the #GValue to check - - - - - - Appends @append_value to the GstValueList in @value. - - - - - - a #GValue of type #GST_TYPE_LIST - - - - the value to append - - - - - - Concatenates copies of @value1 and @value2 into a list. Values that are not -of type #GST_TYPE_LIST are treated as if they were lists of length 1. - - - - - - an uninitialized #GValue to take the result - - - - a #GValue - - - - a #GValue - - - - - - Gets the number of values contained in @value. - - the number of values - - - - - a #GValue of type #GST_TYPE_LIST - - - - - - - - - - - Gets the value that is a member of the list contained in @value and -has the index @index. - - the value at the given index - - - - - a #GValue of type #GST_TYPE_LIST - - - - index of value to get from the list - - - - - - Merges copies of @value1 and @value2. Values that are not -of type #GST_TYPE_LIST are treated as if they were lists of length 1. -The result will be put into @dest and will either be a list that will not -contain any duplicates, or a non-list type (if @value1 and @value2 -were equal). - - - - - - an uninitialized #GValue to take the result - - - - a #GValue - - - - a #GValue - - - - - - Prepends @prepend_value to the GstValueList in @value. - - - - - - a #GValue of type #GST_TYPE_LIST - - - - the value to prepend - - - - - - Registers functions to perform calculations on #GValue items of a given -type. Each type can only be added once. - - - - - - structure containing functions to register - - - - - - Registers a function that is called to calculate the intersection -of the values having the types @type1 and @type2. -Intersect functions should be registered at startup before any pipelines are -started, as gst_value_register_intersect_func() is not thread-safe and -cannot be used at the same time as gst_value_intersect() or -gst_value_can_intersect(). - - - - - - the first type to intersect - - - - the second type to intersect - - - - the intersection function - - - - - - Registers @func as a function capable of subtracting the values of -Subtract functions should be registered at startup before any pipelines are -started, as gst_value_register_subtract_func() is not thread-safe and -cannot be used at the same time as gst_value_subtract(). - - - - - - type of the minuend - - - - type of the subtrahend - - - - function to use - - - - - - Registers a union function that can create a union between #GValue items -of the type @type1 and @type2. -Union functions should be registered at startup before any pipelines are -started, as gst_value_register_union_func() is not thread-safe and cannot -be used at the same time as gst_value_union() or gst_value_can_union(). - - - - - - a type to union - - - - another type to union - - - - a function that implments creating a union between the two types - - - - - - tries to transform the given @value into a string representation that allows -getting back this string later on using gst_value_deserialize(). - - the serialization for @value or NULL if none exists - - - - - a #GValue to serialize - - - - - - Sets the contents of @value to @caps. A reference to the -provided @caps will be taken by the @value. - - - - - - a GValue initialized to GST_TYPE_CAPS - - - - the caps to set the value to - - - - - - Sets the contents of @value to coorespond to @date. The actual -#GDate structure is copied before it is used. - - - - - - a GValue initialized to GST_TYPE_DATE - - - - the date to set the value to - - - - - - Sets @value to the range specified by @start and @end. - - - - - - a GValue initialized to GST_TYPE_DOUBLE_RANGE - - - - the start of the range - - - - the end of the range - - - - - - Sets @value to @fourcc. - - - - - - a GValue initialized to #GST_TYPE_FOURCC - - - - the #guint32 fourcc to set - - - - - - Sets @value to the fraction specified by @numerator over @denominator. -The fraction gets reduced to the smallest numerator and denominator, -and if necessary the sign is moved to the numerator. - - - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - the numerator of the fraction - - - - the denominator of the fraction - - - - - - Sets @value to the range specified by @start and @end. - - - - - - a GValue initialized to GST_TYPE_FRACTION_RANGE - - - - the start of the range (a GST_TYPE_FRACTION GValue) - - - - the end of the range (a GST_TYPE_FRACTION GValue) - - - - - - Sets @value to the range specified by @numerator_start/@denominator_start -and @numerator_end/@denominator_end. - - - - - - a GValue initialized to GST_TYPE_FRACTION_RANGE - - - - the numerator start of the range - - - - the denominator start of the range - - - - the numerator end of the range - - - - the denominator end of the range - - - - - - Sets @value to the range specified by @start and @end. - - - - - - a GValue initialized to GST_TYPE_INT64_RANGE - - - - the start of the range - - - - the end of the range - - - - - - Sets @value to the range specified by @start and @end. - - - - - - a GValue initialized to GST_TYPE_INT_RANGE - - - - the start of the range - - - - the end of the range - - - - - - Set the contents of a %GST_TYPE_MINI_OBJECT derived #GValue to -The caller retains ownership of the reference. - - - - - - a valid #GValue of %GST_TYPE_MINI_OBJECT derived type - - - - mini object value to set - - - - - - Sets the contents of @value to @structure. The actual - - - - - - a GValue initialized to GST_TYPE_STRUCTURE - - - - the structure to set the value to - - - - - - Subtracts @subtrahend from @minuend and stores the result in @dest. -Note that this means subtraction as in sets, not as in mathematics. - - %TRUE if the subtraction is not empty - - - - - the destination value for the result if the subtraction is not empty - - - - the value to subtract from - - - - the value to subtract - - - - - - Set the contents of a %GST_TYPE_MINI_OBJECT derived #GValue to -Takes over the ownership of the caller's reference to @mini_object; -the caller doesn't have to unref it any more. - - - - - - a valid #GValue of %GST_TYPE_MINI_OBJECT derived type - - - - mini object value to take - - - - - - Creates a GValue corresponding to the union of @value1 and @value2. - - always returns %TRUE - - - - - the destination value - - - - a value to union - - - - another value to union - - - - - - Gets the version number of the GStreamer library. - - - - - - pointer to a guint to store the major version number - - - - pointer to a guint to store the minor version number - - - - pointer to a guint to store the micro version number - - - - pointer to a guint to store the nano version number - - - - - - This function returns a string that is useful for describing this version -of GStreamer. - - a newly allocated string describing this version - - - - - diff --git a/extra/gstreamer/base/GstBase-0.10.gir b/extra/gstreamer/base/GstBase-0.10.gir deleted file mode 100644 index db5e2bfe3d..0000000000 --- a/extra/gstreamer/base/GstBase-0.10.gir +++ /dev/null @@ -1,5989 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - The opaque #GstAdapter data structure. - - Creates a new #GstAdapter. Free with g_object_unref(). - - a new #GstAdapter - - - - - Gets the maximum amount of bytes available, that is it returns the maximum -value that can be supplied to gst_adapter_peek() without that function -returning NULL. - - number of bytes available in @adapter - - - - - Gets the maximum number of bytes that are immediately available without -requiring any expensive operations (like copying the data into a -temporary buffer). -operations - - number of bytes that are available in @adapter without expensive - - - - - Removes all buffers from @adapter. - - - - - - Copies @size bytes of data starting at @offset out of the buffers -contained in @GstAdapter into an array @dest provided by the caller. -The array @dest should be large enough to contain @size bytes. -The user should check that the adapter has (@offset + @size) bytes -available before calling this function. - - - - - - the memory to copy into - - - - - - the bytes offset in the adapter to start from - - - - the number of bytes to copy - - - - - - Flushes the first @flush bytes in the @adapter. The caller must ensure that -at least this many bytes are available. - - - - - - the number of bytes to flush - - - - - - Scan for pattern @pattern with applied mask @mask in the adapter data, -starting from offset @offset. -The bytes in @pattern and @mask are interpreted left-to-right, regardless -of endianness. All four bytes of the pattern must be present in the -adapter for it to match, even if the first or last bytes are masked out. -It is an error to call this function without making sure that there is -enough data (offset+size bytes) in the adapter. -This function calls gst_adapter_masked_scan_uint32_peek() passing NULL -for value. -Example: -<programlisting> -// Assume the adapter contains 0x00 0x01 0x02 ... 0xfe 0xff -gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x00010203, 0, 256); -// -> returns 0 -gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x00010203, 1, 255); -// -> returns -1 -gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x01020304, 1, 255); -// -> returns 1 -gst_adapter_masked_scan_uint32 (adapter, 0xffff, 0x0001, 0, 256); -// -> returns -1 -gst_adapter_masked_scan_uint32 (adapter, 0xffff, 0x0203, 0, 256); -// -> returns 0 -gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 256); -// -> returns 2 -gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 4); -// -> returns -1 -</programlisting> - - offset of the first match, or -1 if no match was found. - - - - - mask to apply to data before matching against @pattern - - - - pattern to match (after mask is applied) - - - - offset into the adapter data from which to start scanning, returns the last scanned position. - - - - number of bytes to scan from offset - - - - - - Scan for pattern @pattern with applied mask @mask in the adapter data, -starting from offset @offset. If a match is found, the value that matched -is returned through @value, otherwise @value is left untouched. -The bytes in @pattern and @mask are interpreted left-to-right, regardless -of endianness. All four bytes of the pattern must be present in the -adapter for it to match, even if the first or last bytes are masked out. -It is an error to call this function without making sure that there is -enough data (offset+size bytes) in the adapter. - - offset of the first match, or -1 if no match was found. - - - - - mask to apply to data before matching against @pattern - - - - pattern to match (after mask is applied) - - - - offset into the adapter data from which to start scanning, returns the last scanned position. - - - - number of bytes to scan from offset - - - - pointer to uint32 to return matching data - - - - - - Gets the first @size bytes stored in the @adapter. The returned pointer is -valid until the next function is called on the adapter. -Note that setting the returned pointer as the data of a #GstBuffer is -incorrect for general-purpose plugins. The reason is that if a downstream -element stores the buffer so that it has access to it outside of the bounds -of its chain function, the buffer will have an invalid data pointer after -your element flushes the bytes. In that case you should use -gst_adapter_take(), which returns a freshly-allocated buffer that you can set -as #GstBuffer malloc_data or the potentially more performant -gst_adapter_take_buffer(). -Returns #NULL if @size bytes are not available. - - a pointer to the first - - - - - - - the number of bytes to peek - - - - - - Get the timestamp that was before the current byte in the adapter. When -position is returned. -The timestamp is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when -the adapter is first created or when it is cleared. This also means that before -the first byte with a timestamp is removed from the adapter, the timestamp -and distance returned are GST_CLOCK_TIME_NONE and 0 respectively. - - The previously seen timestamp. - - - - - pointer to location for distance, or NULL - - - - - - Adds the data from @buf to the data stored inside @adapter and takes -ownership of the buffer. - - - - - - a #GstBuffer to add to queue in the adapter - - - - - - Returns a freshly allocated buffer containing the first @nbytes bytes of the -Caller owns returned value. g_free after usage. -#NULL if @nbytes bytes are not available - - oven-fresh hot data, or - - - - - - - the number of bytes to take - - - - - - Returns a #GstBuffer containing the first @nbytes bytes of the -This function is potentially more performant than gst_adapter_take() -since it can reuse the memory in pushed buffers by subbuffering -or merging. -Caller owns returned value. gst_buffer_unref() after usage. -the adapter, or #NULL if @nbytes bytes are not available - - a #GstBuffer containing the first @nbytes of - - - - - the number of bytes to take - - - - - - Returns a #GList of buffers containing the first @nbytes bytes of the -When the caller can deal with individual buffers, this function is more -performant because no memory should be copied. -Caller owns returned list and contained buffers. gst_buffer_unref() each -buffer in the list before freeing the list after usage. -containing the first @nbytes of the adapter, or #NULL if @nbytes bytes -are not available - - a #GList of buffers - - - - - - - the number of bytes to take - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The opaque #GstBaseSink data structure. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If the @sink spawns its own thread for pulling buffers from upstream it -should call this method after it has pulled a buffer. If the element needed -to preroll, this function will perform the preroll and will then block -until the element state is changed. -This function should be called with the PREROLL_LOCK held. -continue. Any other return value should be returned from the render vmethod. - - #GST_FLOW_OK if the preroll completed and processing can - - - - - the mini object that caused the preroll - - - - - - Get the number of bytes that the sink will pull when it is operating in pull -mode. - - the number of bytes @sink will pull in pull mode. - - - - - Get the last buffer that arrived in the sink and was used for preroll or for -rendering. This property can be used to generate thumbnails. -The #GstCaps on the buffer can be used to determine the type of the buffer. -This function returns NULL when no buffer has arrived in the sink yet -or when the sink is not in PAUSED or PLAYING. - - a #GstBuffer. gst_buffer_unref() after usage. - - - - - Get the currently configured latency. - - The configured latency. - - - - - Gets the max lateness value. See gst_base_sink_set_max_lateness for -more details. -before it is dropped and not rendered. A value of -1 means an -unlimited time. - - The maximum time in nanoseconds that a buffer can be late - - - - - Get the render delay of @sink. see gst_base_sink_set_render_delay() for more -information about the render delay. - - the render delay of @sink. - - - - - Checks if @sink is currently configured to synchronize against the -clock. - - TRUE if the sink is configured to synchronize against the clock. - - - - - Get the synchronisation offset of @sink. - - The synchronisation offset. - - - - - Checks if @sink is currently configured to perform asynchronous state -changes to PAUSED. -changes. - - TRUE if the sink is configured to perform asynchronous state - - - - - Checks if @sink is currently configured to store the last received buffer in -the last-buffer property. - - TRUE if the sink is configured to store the last received buffer. - - - - - Checks if @sink is currently configured to send Quality-of-Service events -upstream. - - TRUE if the sink is configured to perform Quality-of-Service. - - - - - Query the sink for the latency parameters. The latency will be queried from -the upstream elements. @live will be TRUE if @sink is configured to -synchronize against the clock. @upstream_live will be TRUE if an upstream -element is live. -If both @live and @upstream_live are TRUE, the sink will want to compensate -for the latency introduced by the upstream elements by setting the -This function is mostly used by subclasses. - - TRUE if the query succeeded. - - - - - if the sink is live - - - - if an upstream element is live - - - - the min latency of the upstream elements - - - - the max latency of the upstream elements - - - - - - Configures @sink to perform all state changes asynchronusly. When async is -disabled, the sink will immediatly go to PAUSED instead of waiting for a -preroll buffer. This feature is usefull if the sink does not synchronize -against the clock or when it is dealing with sparse streams. - - - - - - the new async value. - - - - - - Set the number of bytes that the sink will pull when it is operating in pull -mode. - - - - - - the blocksize in bytes - - - - - - Configures @sink to store the last received buffer in the last-buffer -property. - - - - - - the new enable-last-buffer value. - - - - - - Sets the new max lateness value to @max_lateness. This value is -used to decide if a buffer should be dropped or not based on the -buffer timestamp and the current clock time. A value of -1 means -an unlimited time. - - - - - - the new max lateness value. - - - - - - Configures @sink to send Quality-of-Service events upstream. - - - - - - the new qos value. - - - - - - Set the render delay in @sink to @delay. The render delay is the time -between actual rendering of a buffer and its synchronisation time. Some -devices might delay media rendering which can be compensated for with this -function. -After calling this function, this sink will report additional latency and -other sinks will adjust their latency to delay the rendering of their media. -This function is usually called by subclasses. - - - - - - the new delay - - - - - - Configures @sink to synchronize on the clock or not. When -possible. If @sync is TRUE, the timestamps of the incomming -buffers will be used to schedule the exact render time of its -contents. - - - - - - the new sync value. - - - - - - Adjust the synchronisation of @sink with @offset. A negative value will -render buffers earlier than their timestamp. A positive value will delay -rendering. This function can be used to fix playback of badly timestamped -buffers. - - - - - - the new offset - - - - - - This function will block until @time is reached. It is usually called by -subclasses that use their own internal synchronisation. -If @time is not valid, no sycnhronisation is done and #GST_CLOCK_BADTIME is -returned. Likewise, if synchronisation is disabled in the element or there -is no clock, no synchronisation is done and #GST_CLOCK_BADTIME is returned. -This function should only be called with the PREROLL_LOCK held, like when -receiving an EOS event in the #GstBaseSinkClass.event() vmethod or when -receiving a buffer in -the #GstBaseSinkClass.render() vmethod. -The @time argument should be the running_time of when this method should -return and is not adjusted with any latency or offset configured in the -sink. - - #GstClockReturn - - - - - the running_time to be reached - - - - the jitter to be filled with time diff, or NULL - - - - - - This function will block until @time is reached. It is usually called by -subclasses that use their own internal synchronisation but want to let the -EOS be handled by the base class. -This function should only be called with the PREROLL_LOCK held, like when -receiving an EOS event in the ::event vmethod. -The @time argument should be the running_time of when the EOS should happen -and will be adjusted with any latency and offset configured in the sink. - - #GstFlowReturn - - - - - the running_time to be reached - - - - the jitter to be filled with time diff, or NULL - - - - - - If the #GstBaseSinkClass.render() method performs its own synchronisation -against the clock it must unblock when going from PLAYING to the PAUSED state -and call this method before continuing to render the remaining data. -This function will block until a state change to PLAYING happens (in which -case this function returns #GST_FLOW_OK) or the processing must be stopped due -to a state change to READY or a FLUSH event (in which case this function -returns #GST_FLOW_WRONG_STATE). -This function should only be called with the PREROLL_LOCK held, like in the -render function. -continue. Any other return value should be returned from the render vmethod. - - #GST_FLOW_OK if the preroll completed and processing can - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Subclasses can override any of the available virtual methods or not, as -needed. At the minimum, the @render method should be overridden to -output/present buffers. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The opaque #GstBaseSrc data structure. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get the number of bytes that @src will push out with each buffer. - - the number of bytes pushed with each buffer. - - - - - Query if @src timestamps outgoing buffers based on the current running_time. - - %TRUE if the base class will automatically timestamp outgoing buffers. - - - - - Check if an element is in live mode. - - %TRUE if element is in live mode. - - - - - Prepare a new seamless segment for emission downstream. This function must -only be called by derived sub-classes, and only from the create() function, -as the stream-lock needs to be held. -The format for the new segment will be the current format of the source, as -configured with gst_base_src_set_format() - - %TRUE if preparation of the seamless segment succeeded. - - - - - The new start value for the segment - - - - Stop value for the new segment - - - - The position value for the new segent - - - - - - Query the source for the latency parameters. @live will be TRUE when @src is -configured as a live source. @min_latency will be set to the difference -between the running time and the timestamp of the first buffer. -This function is mostly used by subclasses. - - TRUE if the query succeeded. - - - - - if the source is live - - - - the min latency of the source - - - - the max latency of the source - - - - - - Set the number of bytes that @src will push out with each buffer. When - - - - - - the new blocksize in bytes - - - - - - Configure @src to automatically timestamp outgoing buffers based on the -current running_time of the pipeline. This property is mostly useful for live -sources. - - - - - - enable or disable timestamping - - - - - - Sets the default format of the source. This will be the format used -for sending NEW_SEGMENT events and for performing seeks. -If a format of GST_FORMAT_BYTES is set, the element will be able to -operate in pull mode if the #GstBaseSrc.is_seekable() returns TRUE. -This function must only be called in states < %GST_STATE_PAUSED. - - - - - - the format to use - - - - - - If the element listens to a live source, @live should -be set to %TRUE. -A live source will not produce data in the PAUSED state and -will therefore not be able to participate in the PREROLL phase -of a pipeline. To signal this fact to the application and the -pipeline, the state change return value of the live source will -be GST_STATE_CHANGE_NO_PREROLL. - - - - - - new live-mode - - - - - - If the #GstBaseSrcClass.create() method performs its own synchronisation -against the clock it must unblock when going from PLAYING to the PAUSED state -and call this method before continuing to produce the remaining data. -This function will block until a state change to PLAYING happens (in which -case this function returns #GST_FLOW_OK) or the processing must be stopped due -to a state change to READY or a FLUSH event (in which case this function -returns #GST_FLOW_WRONG_STATE). -continue. Any other return value should be returned from the create vmethod. - - #GST_FLOW_OK if @src is PLAYING and processing can - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Subclasses can override any of the available virtual methods or not, as -needed. At the minimum, the @create method should be overridden to produce -buffers. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #GstElement flags that a basesrc element may have. - - - - - - - The opaque #GstBaseTransform data structure. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - See if @trans is configured as a in_place transform. -MT safe. - - TRUE is the transform is configured in in_place mode. - - - - - See if @trans is configured as a passthrough transform. -MT safe. - - TRUE is the transform is configured in passthrough mode. - - - - - Queries if the transform will handle QoS. -MT safe. - - TRUE if QoS is enabled. - - - - - Instructs @trans to renegotiate a new downstream transform on the next -buffer. This function is typically called after properties on the transform -were set that influence the output format. - - - - - - If @gap_aware is %FALSE (the default), output buffers will have the -%GST_BUFFER_FLAG_GAP flag unset. -If set to %TRUE, the element must handle output buffers with this flag set -correctly, i.e. it can assume that the buffer contains neutral data but must -unset the flag if the output is no neutral data. -MT safe. - - - - - - New state - - - - - - Determines whether a non-writable buffer will be copied before passing -to the transform_ip function. -<itemizedlist> -<listitem>Always TRUE if no transform function is implemented.</listitem> -<listitem>Always FALSE if ONLY transform function is implemented.</listitem> -</itemizedlist> -MT safe. - - - - - - Boolean value indicating that we would like to operate on in_place buffers. - - - - - - Set passthrough mode for this filter by default. This is mostly -useful for filters that do not care about negotiation. -Always TRUE for filters which don't implement either a transform -or transform_ip method. -MT safe. - - - - - - boolean indicating passthrough mode. - - - - - - Enable or disable QoS handling in the transform. -MT safe. - - - - - - new state - - - - - - Instructs @trans to suggest new @caps upstream. A copy of @caps will be -taken. - - - - - - caps to suggest - - - - buffer size to suggest - - - - - - Set the QoS parameters in the transform. This function is called internally -when a QOS event is received but subclasses can provide custom information -when needed. -MT safe. - - - - - - the proportion - - - - the diff against the clock - - - - the timestamp of the buffer generating the QoS expressed in running_time. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Subclasses can override any of the available virtual methods or not, as -needed. At minimum either @transform or @transform_ip need to be overridden. -If the element can overwrite the input data with the results (data is of the -same type and quantity) it should provide @transform_ip. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A bit reader instance. - - - - - - - - - - - - - - Frees a #GstBitReader instance, which was previously allocated by -gst_bit_reader_new() or gst_bit_reader_new_from_buffer(). - - - - - - Read @nbits bits into @val and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint16 to store the result - - - - number of bits to read - - - - - - Read @nbits bits into @val and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - number of bits to read - - - - - - Read @nbits bits into @val and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint64 to store the result - - - - number of bits to read - - - - - - Read @nbits bits into @val and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint8 to store the result - - - - number of bits to read - - - - - - Returns the current position of a #GstBitReader instance in bits. - - The current position of @reader in bits. - - - - - Returns the remaining number of bits of a #GstBitReader instance. - - The remaining number of bits of @reader instance. - - - - - Returns the total number of bits of a #GstBitReader instance. - - The total number of bits of @reader instance. - - - - - Initializes a #GstBitReader instance to read from @data. This function -can be called on already initialized instances. - - - - - - data from which the bit reader should read - - - - - - Size of @data in bytes - - - - - - Initializes a #GstBitReader instance to read from @buffer. This function -can be called on already initialized instances. - - - - - - Buffer from which the #GstBitReader should read - - - - - - Read @nbits bits into @val but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint16 to store the result - - - - number of bits to read - - - - - - Read @nbits bits into @val but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - number of bits to read - - - - - - Read @nbits bits into @val but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint64 to store the result - - - - number of bits to read - - - - - - Read @nbits bits into @val but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint8 to store the result - - - - number of bits to read - - - - - - Sets the new position of a #GstBitReader instance to @pos in bits. -otherwise. - - %TRUE if the position could be set successfully, %FALSE - - - - - The new position in bits - - - - - - Skips @nbits bits of the #GstBitReader instance. - - %TRUE if @nbits bits could be skipped, %FALSE otherwise. - - - - - the number of bits to skip - - - - - - Skips until the next byte. - - %TRUE if successful, %FALSE otherwise. - - - - - - A byte reader instance. - - - - - - - - - - - Returns a newly-allocated copy of the current data -position if at least @size bytes are left and -updates the current position. Free with g_free() when no longer needed. - - %TRUE if successful, %FALSE otherwise. - - - - - Size in bytes - - - - address of a #guint8 pointer variable in which to store the result - - - - - - - - Returns a newly-allocated copy of the current data position if there is -a NUL-terminated UTF-16 string in the data (this could be an empty string -as well), and advances the current position. -No input checking for valid UTF-16 is done. This function is endianness -agnostic - you should not assume the UTF-16 characters are in host -endianness. -This function will fail if no NUL-terminator was found in in the data. -byte alignment of the UTF-16 string. -string put into @str must be freed with g_free() when no longer needed. - - %TRUE if a string could be read, %FALSE otherwise. The - - - - - address of a #guint16 pointer varieble in which to store the result - - - - - - - - Returns a newly-allocated copy of the current data position if there is -a NUL-terminated UTF-32 string in the data (this could be an empty string -as well), and advances the current position. -No input checking for valid UTF-32 is done. This function is endianness -agnostic - you should not assume the UTF-32 characters are in host -endianness. -This function will fail if no NUL-terminator was found in in the data. -byte alignment of the UTF-32 string. -string put into @str must be freed with g_free() when no longer needed. - - %TRUE if a string could be read, %FALSE otherwise. The - - - - - address of a #guint32 pointer varieble in which to store the result - - - - - - - - FIXME:Reads (copies) a NUL-terminated string in the #GstByteReader instance, -advancing the current position to the byte after the string. This will work -for any NUL-terminated string with a character width of 8 bits, so ASCII, -UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done. -This function will fail if no NUL-terminator was found in in the data. -string put into @str must be freed with g_free() when no longer needed. - - %TRUE if a string could be read into @str, %FALSE otherwise. The - - - - - address of a #gchar pointer varieble in which to store the result - - - - - - - - Frees a #GstByteReader instance, which was previously allocated by -gst_byte_reader_new() or gst_byte_reader_new_from_buffer(). - - - - - - Returns a constant pointer to the current data -position if at least @size bytes are left and -updates the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Size in bytes - - - - address of a #guint8 pointer variable in which to store the result - - - - - - - - Read a 32 bit big endian floating point value into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gfloat to store the result - - - - - - Read a 32 bit little endian floating point value into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gfloat to store the result - - - - - - Read a 64 bit big endian floating point value into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gdouble to store the result - - - - - - Read a 64 bit little endian floating point value into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gdouble to store the result - - - - - - Read a signed 16 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint16 to store the result - - - - - - Read a signed 16 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint16 to store the result - - - - - - Read a signed 24 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 24 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 32 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 32 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 64 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint64 to store the result - - - - - - Read a signed 64 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint64 to store the result - - - - - - Read a signed 8 bit integer into @val and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint8 to store the result - - - - - - Returns the current position of a #GstByteReader instance in bytes. - - The current position of @reader in bytes. - - - - - Returns the remaining number of bytes of a #GstByteReader instance. - - The remaining number of bytes of @reader instance. - - - - - Returns the total number of bytes of a #GstByteReader instance. - - The total number of bytes of @reader instance. - - - - - Returns a constant pointer to the current data position if there is -a NUL-terminated string in the data (this could be just a NUL terminator), -advancing the current position to the byte after the string. This will work -for any NUL-terminated string with a character width of 8 bits, so ASCII, -UTF-8, ISO-8859-N etc. -No input checking for valid UTF-8 is done. -This function will fail if no NUL-terminator was found in in the data. - - %TRUE if a string could be found, %FALSE otherwise. - - - - - address of a #gchar pointer varieble in which to store the result - - - - - - - - Read an unsigned 16 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint16 to store the result - - - - - - Read an unsigned 16 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint16 to store the result - - - - - - Read an unsigned 24 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 24 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 32 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 32 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 64 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint64 to store the result - - - - - - Read an unsigned 64 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint64 to store the result - - - - - - Read an unsigned 8 bit integer into @val and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint8 to store the result - - - - - - Initializes a #GstByteReader instance to read from @data. This function -can be called on already initialized instances. - - - - - - data from which the #GstByteReader should read - - - - - - Size of @data in bytes - - - - - - Initializes a #GstByteReader instance to read from @buffer. This function -can be called on already initialized instances. - - - - - - Buffer from which the #GstByteReader should read - - - - - - Scan for pattern @pattern with applied mask @mask in the byte reader data, -starting from offset @offset relative to the current position. -The bytes in @pattern and @mask are interpreted left-to-right, regardless -of endianness. All four bytes of the pattern must be present in the -byte reader data for it to match, even if the first or last bytes are masked -out. -It is an error to call this function without making sure that there is -enough data (offset+size bytes) in the byte reader. -Example: -<programlisting> -// Assume the reader contains 0x00 0x01 0x02 ... 0xfe 0xff -gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 0, 256); -// -> returns 0 -gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 1, 255); -// -> returns -1 -gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x01020304, 1, 255); -// -> returns 1 -gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0001, 0, 256); -// -> returns -1 -gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0203, 0, 256); -// -> returns 0 -gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 256); -// -> returns 2 -gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 4); -// -> returns -1 -</programlisting> - - offset of the first match, or -1 if no match was found. - - - - - mask to apply to data before matching against @pattern - - - - pattern to match (after mask is applied) - - - - offset from which to start scanning, relative to the current position - - - - number of bytes to scan from offset - - - - - - Returns a constant pointer to the current data -position if at least @size bytes are left and -keeps the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Size in bytes - - - - address of a #guint8 pointer variable in which to store the result - - - - - - - - Read a 32 bit big endian floating point value into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gfloat to store the result - - - - - - Read a 32 bit little endian floating point value into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gfloat to store the result - - - - - - Read a 64 bit big endian floating point value into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gdouble to store the result - - - - - - Read a 64 bit little endian floating point value into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gdouble to store the result - - - - - - Read a signed 16 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint16 to store the result - - - - - - Read a signed 16 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint16 to store the result - - - - - - Read a signed 24 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 24 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 32 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 32 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 64 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint64 to store the result - - - - - - Read a signed 64 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint64 to store the result - - - - - - Read a signed 8 bit integer into @val but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint8 to store the result - - - - - - Returns a constant pointer to the current data position if there is -a NUL-terminated string in the data (this could be just a NUL terminator). -The current position will be maintained. This will work for any -NUL-terminated string with a character width of 8 bits, so ASCII, -UTF-8, ISO-8859-N etc. -No input checking for valid UTF-8 is done. -This function will fail if no NUL-terminator was found in in the data. - - %TRUE if a string could be skipped, %FALSE otherwise. - - - - - address of a #gchar pointer varieble in which to store the result - - - - - - - - Read an unsigned 16 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint16 to store the result - - - - - - Read an unsigned 16 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint16 to store the result - - - - - - Read an unsigned 24 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 24 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 32 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 32 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 64 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint64 to store the result - - - - - - Read an unsigned 64 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint64 to store the result - - - - - - Read an unsigned 8 bit integer into @val but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint8 to store the result - - - - - - Sets the new position of a #GstByteReader instance to @pos in bytes. -otherwise. - - %TRUE if the position could be set successfully, %FALSE - - - - - The new position in bytes - - - - - - Skips @nbytes bytes of the #GstByteReader instance. - - %TRUE if @nbytes bytes could be skipped, %FALSE otherwise. - - - - - the number of bytes to skip - - - - - - Skips a NUL-terminated UTF-16 string in the #GstByteReader instance, -advancing the current position to the byte after the string. -No input checking for valid UTF-16 is done. -This function will fail if no NUL-terminator was found in in the data. - - %TRUE if a string could be skipped, %FALSE otherwise. - - - - - Skips a NUL-terminated UTF-32 string in the #GstByteReader instance, -advancing the current position to the byte after the string. -No input checking for valid UTF-32 is done. -This function will fail if no NUL-terminator was found in in the data. - - %TRUE if a string could be skipped, %FALSE otherwise. - - - - - Skips a NUL-terminated string in the #GstByteReader instance, advancing -the current position to the byte after the string. This will work for -any NUL-terminated string with a character width of 8 bits, so ASCII, -UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done. -This function will fail if no NUL-terminator was found in in the data. - - %TRUE if a string could be skipped, %FALSE otherwise. - - - - - - A byte writer instance. - - - - - - - - - - - - - - Checks if enough free space from the current write cursor is -available and reallocates if necessary. - - %TRUE if at least @size bytes are still available - - - - - Number of bytes that should be available - - - - - - Writes @size bytes containing @value to @writer. - - %TRUE if the value could be written - - - - - Value to be writen - - - - Number of bytes to be writen - - - - - - Frees @writer and all memory allocated by it. - - - - - - Frees @writer and all memory allocated by it except -the current data, which is returned as #GstBuffer. -after usage. - - the current data as buffer. gst_buffer_unref() - - - - - Frees @writer and all memory allocated by it except -the current data, which is returned. - - the current data. g_free() after usage. - - - - - Returns the remaining size of data that can still be written. If --1 is returned the remaining size is only limited by system resources. - - the remaining size of data that can still be written - - - - - Initializes @writer to an empty instance - - - - - - Initializes @writer with the given -buffer. If @initialized is %TRUE it is possible to -read the complete buffer from the #GstByteWriter from the beginning. -<note>@buffer must be writable</note> - - - - - - Buffer used for writing - - - - If %TRUE the complete data can be read from the beginning - - - - - - Initializes @writer with the given -memory area. If @initialized is %TRUE it is possible to -read @size bytes from the #GstByteWriter from the beginning. - - - - - - Memory area for writing - - - - - - Size of @data in bytes - - - - If %TRUE the complete data can be read from the beginning - - - - - - Initializes @writer with the given initial data size. - - - - - - Initial size of data - - - - If %TRUE the data can't be reallocated - - - - - - Writes @size bytes of @data to @writer. - - %TRUE if the value could be written - - - - - Data to write - - - - - - Size of @data in bytes - - - - - - Writes a big endian 32 bit float to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a little endian 32 bit float to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a big endian 64 bit float to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a little endian 64 bit float to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed big endian 16 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed little endian 16 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed big endian 24 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed little endian 24 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed big endian 32 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed little endian 32 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed big endian 64 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed little endian 64 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed 8 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a NUL-terminated UTF16 string to @writer (including the terminator). - - %TRUE if the value could be written - - - - - UTF16 string to write - - - - - - - - Writes a NUL-terminated UTF32 string to @writer (including the terminator). - - %TRUE if the value could be written - - - - - UTF32 string to write - - - - - - - - Writes a NUL-terminated UTF8 string to @writer (including the terminator). - - %TRUE if the value could be written - - - - - UTF8 string to write - - - - - - - - Writes a unsigned big endian 16 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned little endian 16 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned big endian 24 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned little endian 24 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned big endian 32 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned little endian 32 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned big endian 64 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned little endian 64 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned 8 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Resets @writer and frees the data if it's -owned by @writer. - - - - - - Resets @writer and returns the current data as buffer. -after usage. - - the current data as buffer. gst_buffer_unref() - - - - - Resets @writer and returns the current data. - - the current data. g_free() after usage. - - - - - - Structure used by the collect_pads. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A function that will be called when the #GstCollectData will be freed. -It is passed the pointer to the structure and should free any custom -memory and resources allocated for it. - - - - - - the #GstCollectData that will be freed - - - - - - Collectpads object. -Note that @data is only reliable for iterating the list of #GstCollectData -when inside the #GstCollectPadsFunction callback. - - Create a new instance of #GstCollectPads. -MT safe. - - a new #GstCollectPads, or NULL in case of an error. - - - - - Add a pad to the collection of collect pads. The pad has to be -a sinkpad. The refcount of the pad is incremented. Use -gst_collect_pads_remove_pad() to remove the pad from the collection -again. -This function will override the chain and event functions of the pad -along with the element_private data, which is used to store private -information for the collectpads. -You specify a size for the returned #GstCollectData structure -so that you can use it to store additional information. -The pad will be automatically activated in push mode when @pads is -started. -This function calls gst_collect_pads_add_pad_full() passing a value of NULL -for destroy_notify. -if wrong parameters are supplied. -MT safe. - - a new #GstCollectData to identify the new pad. Or NULL - - - - - the pad to add - - - - the size of the returned #GstCollectData structure - - - - - - Add a pad to the collection of collect pads. The pad has to be -a sinkpad. The refcount of the pad is incremented. Use -gst_collect_pads_remove_pad() to remove the pad from the collection -again. -You specify a size for the returned #GstCollectData structure -so that you can use it to store additional information. -You can also specify a #GstCollectDataDestroyNotify that will be called -just before the #GstCollectData structure is freed. It is passed the -pointer to the structure and should free any custom memory and resources -allocated for it. -The pad will be automatically activated in push mode when @pads is -started. -if wrong parameters are supplied. -MT safe. - - a new #GstCollectData to identify the new pad. Or NULL - - - - - the pad to add - - - - the size of the returned #GstCollectData structure - - - - function to be called before the returned #GstCollectData structure is freed - - - - - - Query how much bytes can be read from each queued buffer. This means -that the result of this call is the maximum number of bytes that can -be read from each of the pads. -This function should be called with @pads LOCK held, such as -in the callback. -returns 0 if a pad has no queued buffer. -MT safe. - - The maximum number of bytes queued on all pads. This function - - - - - Collect data on all pads. This function is usually called -from a #GstTask function in an element. -This function is currently not implemented. -MT safe. - - #GstFlowReturn of the operation. - - - - - Collect data with @offset and @length on all pads. This function -is typically called in the getrange function of an element. -This function is currently not implemented. -MT safe. - - #GstFlowReturn of the operation. - - - - - the offset to collect - - - - the length to collect - - - - - - Flush @size bytes from the pad @data. -This function should be called with @pads LOCK held, such as -in the callback. -is 0 if the pad was end-of-stream. -MT safe. - - The number of bytes flushed. This can be less than @size and - - - - - the data to use - - - - the number of bytes to flush - - - - - - Check if a pad is active. -This function is currently not implemented. -MT safe. - - %TRUE if the pad is active. - - - - - the pad to check - - - - - - Peek at the buffer currently queued in @data. This function -should be called with the @pads LOCK held, such as in the callback -handler. -should unref the buffer after usage. -MT safe. - - The buffer in @data or NULL if no buffer is queued. - - - - - the data to use - - - - - - Pop the buffer currently queued in @data. This function -should be called with the @pads LOCK held, such as in the callback -handler. -queued. You should unref the buffer after usage. -MT safe. - - The buffer in @data or NULL if no buffer was - - - - - the data to use - - - - - - Get a pointer in @bytes where @size bytes can be read from the -given pad @data. -This function should be called with @pads LOCK held, such as -in the callback. -memory pointed to by @bytes. This can be less than @size and -is 0 if the pad is end-of-stream. -MT safe. - - The number of bytes available for consumption in the - - - - - the data to use - - - - a pointer to a byte array - - - - - - the number of bytes to read - - - - - - Get a buffer of @size bytes from the given pad @data. -This function should be called with @pads LOCK held, such as in the callback. -that requested. A return of NULL signals that the pad is end-of-stream. -Unref the buffer with gst_buffer_unref() after use. -MT safe. - - a #GstBuffer. The size of the buffer can be less - - - - - the data to use - - - - the number of bytes to read - - - - - - Remove a pad from the collection of collect pads. This function will also -free the #GstCollectData and all the resources that were allocated with -gst_collect_pads_add_pad(). -The pad will be deactivated automatically when @pads is stopped. -MT safe. - - %TRUE if the pad could be removed. - - - - - the pad to remove - - - - - - Install a clipping function that is called right after a buffer is received -on a pad managed by @pads. See #GstCollectDataClipFunction for more info. - - - - - - clip function to install - - - - user data to pass to @clip_func - - - - - - Change the flushing state of all the pads in the collection. No pad -is able to accept anymore data when @flushing is %TRUE. Calling this -function with @flushing %FALSE makes @pads accept data again. -MT safe. - - - - - - desired state of the pads - - - - - - Set the callback function and user data that will be called when -all the pads added to the collection have buffers queued. -MT safe. - - - - - - the function to set - - - - user data passed to the function - - - - - - Starts the processing of data in the collect_pads. -MT safe. - - - - - - Stops the processing of data in the collect_pads. this function -will also unblock any blocking operations. -MT safe. - - - - - - Get a buffer of @size bytes from the given pad @data. Flushes the amount -of read bytes. -This function should be called with @pads LOCK held, such as in the callback. -that requested. A return of NULL signals that the pad is end-of-stream. -Unref the buffer after use. -MT safe. - - a #GstBuffer. The size of the buffer can be less - - - - - the data to use - - - - the number of bytes to read - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A function that will be called when @buffer is received on the pad managed -by @data in the collecpad object @pads. -The function should use the segment of @data and the negotiated media type on -the pad to perform clipping of @buffer. -This function takes ownership of @buffer. -the buffer has been clipped completely. - - a #GstBuffer that contains the clipped data of @buffer or NULL when - - - - - a #GstCollectPads - - - - a #GstCollectData - - - - a #GstBuffer - - - - user data - - - - - - A function that will be called when all pads have received data. - - #GST_FLOW_OK for success - - - - - the #GstCollectPads that triggered the callback - - - - user data passed to gst_collect_pads_set_function() - - - - - - - - Opaque #GstDataQueue structure. - - - a new #GstDataQueue. - - - - - the callback used to tell if the element considers the queue full or not. - - - - a #gpointer that will be given in the @checkfull callback. - - - - - - Creates a new #GstDataQueue. The difference with @gst_data_queue_new is that it will -not emit the 'full' and 'empty' signals, but instead calling directly @fullcallback -or @emptycallback. - - a new #GstDataQueue. - - - - - the callback used to tell if the element considers the queue full or not. - - - - the callback which will be called when the queue is considered full. - - - - the callback which will be called when the queue is considered empty. - - - - a #gpointer that will be given in the @checkfull callback. - - - - - - Pop and unref the head-most #GstMiniObject with the given #GType. - - TRUE if an element was removed. - - - - - The #GType of the item to drop. - - - - - - Flushes all the contents of the @queue. Any call to #gst_data_queue_push and -#gst_data_queue_pop will be released. -MT safe. - - - - - - Get the current level of the queue. - - - - - - the location to store the result - - - - - - Queries if there are any items in the @queue. -MT safe. - - #TRUE if @queue is empty. - - - - - Queries if @queue is full. This check will be done using the -#GstDataQueueCheckFullFunction registered with @queue. -MT safe. - - #TRUE if @queue is full. - - - - - Inform the queue that the limits for the fullness check have changed and that -any blocking gst_data_queue_push() should be unblocked to recheck the limts. - - - - - - Retrieves the first @item available on the @queue. If the queue is currently -empty, the call will block until at least one item is available, OR the -MT safe. - - #TRUE if an @item was successfully retrieved from the @queue. - - - - - pointer to store the returned #GstDataQueueItem. - - - - - - Pushes a #GstDataQueueItem (or a structure that begins with the same fields) -on the @queue. If the @queue is full, the call will block until space is -available, OR the @queue is set to flushing state. -MT safe. -Note that this function has slightly different semantics than gst_pad_push() -the #GstMiniObject contained in @item if the push was successful. If FALSE -is returned, the caller is responsible for freeing @item and its contents. - - #TRUE if the @item was successfully pushed on the @queue. - - - - - a #GstDataQueueItem. - - - - - - Sets the queue to flushing state if @flushing is #TRUE. If set to flushing -state, any incoming data on the @queue will be discarded. Any call currently -blocking on #gst_data_queue_push or #gst_data_queue_pop will return straight -away with a return value of #FALSE. While the @queue is in flushing state, -all calls to those two functions will return #FALSE. -MT Safe. - - - - - - a #gboolean stating if the queue will be flushing or not. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Reports that the queue became empty (empty). -A queue is empty if the total amount of visible items inside it (num-visible, time, -size) is lower than the boundary values which can be set through the GObject -properties. - - - - - - Reports that the queue became full (full). -A queue is full if the total amount of data inside it (num-visible, time, -size) is higher than the boundary values which can be set through the GObject -properties. - - - - - - - The prototype of the function used to inform the queue that it should be -considered as full. - - #TRUE if the queue should be considered full. - - - - - a #GstDataQueue. - - - - The number of visible items currently in the queue. - - - - The amount of bytes currently in the queue. - - - - The accumulated duration of the items currently in the queue. - - - - The #gpointer registered when the #GstDataQueue was created. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Structure used by #GstDataQueue. You can supply a different structure, as -long as the top of the structure is identical to this structure. - - - - - - - - - - - - - - - - - - Structure describing the size of a queue. - - - - - - - - - - - - The opaque #GstPushSrc data structure. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This function will be called by gst_type_find_helper_get_range() when -typefinding functions request to peek at the data of a stream at certain -offsets. If this function returns GST_FLOW_OK, the result buffer will be -stored in @buffer. The contents of @buffer is invalid for any other -return value. -This function is supposed to behave exactly like a #GstPadGetRangeFunction. - - GST_FLOW_OK for success - - - - - a #GstObject that will handle the getrange request - - - - the offset of the range - - - - the length of the range - - - - a memory location to hold the result buffer - - - - - - Create a new #GstBitReader instance, which will read from @data. - - a new #GstBitReader instance - - - - - Data from which the #GstBitReader should read - - - - Size of @data in bytes - - - - - - Create a new #GstBitReader instance, which will read from the -#GstBuffer @buffer. - - a new #GstBitReader instance - - - - - Buffer from which the #GstBitReader should read - - - - - - Create a new #GstByteReader instance, which will read from @data. - - a new #GstByteReader instance - - - - - data from which the #GstByteReader should read - - - - - - Size of @data in bytes - - - - - - Create a new #GstByteReader instance, which will read from the -#GstBuffer @buffer. - - a new #GstByteReader instance - - - - - Buffer from which the #GstByteReader should read - - - - - - Creates a new, empty #GstByteWriter instance - - a new, empty #GstByteWriter instance - - - - - Creates a new #GstByteWriter instance with the given -buffer. If @initialized is %TRUE it is possible to -read the complete buffer from the #GstByteWriter from the beginning. -<note>@buffer must be writable</note> - - a new #GstByteWriter instance - - - - - Buffer used for writing - - - - If %TRUE the complete data can be read from the beginning - - - - - - Creates a new #GstByteWriter instance with the given -memory area. If @initialized is %TRUE it is possible to -read @size bytes from the #GstByteWriter from the beginning. - - a new #GstByteWriter instance - - - - - Memory area for writing - - - - Size of @data in bytes - - - - If %TRUE the complete data can be read from the beginning - - - - - - Creates a new #GstByteWriter instance with the given -initial data size. - - a new #GstByteWriter instance - - - - - Initial size of data - - - - If %TRUE the data can't be reallocated - - - - - - Tries to find what type of data is flowing from the given source #GstPad. -Returns #NULL if no #GstCaps matches the data stream. - - the #GstCaps corresponding to the data stream. - - - - - A source #GstPad - - - - The length in bytes - - - - - - Tries to find what type of data is contained in the given #GstBuffer, the -assumption being that the buffer represents the beginning of the stream or -file. -All available typefinders will be called on the data in order of rank. If -a typefinding function returns a probability of #GST_TYPE_FIND_MAXIMUM, -typefinding is stopped immediately and the found caps will be returned -right away. Otherwise, all available typefind functions will the tried, -and the caps with the highest probability will be returned, or #NULL if -the content of the buffer could not be identified. -if no type could be found. The caller should free the caps returned -with gst_caps_unref(). - - the #GstCaps corresponding to the data, or #NULL - - - - - object doing the typefinding, or NULL (used for logging) - - - - a #GstBuffer with data to typefind - - - - location to store the probability of the found caps, or #NULL - - - - - - Tries to find the best #GstCaps associated with @extension. -All available typefinders will be checked against the extension in order -of rank. The caps of the first typefinder that can handle @extension will be -returned. -#NULL if no type could be found. The caller should free the caps -returned with gst_caps_unref(). - - the #GstCaps corresponding to @extension, or - - - - - object doing the typefinding, or NULL (used for logging) - - - - an extension - - - - - - Utility function to do pull-based typefinding. Unlike gst_type_find_helper() -however, this function will use the specified function @func to obtain the -data needed by the typefind functions, rather than operating on a given -source pad. This is useful mostly for elements like tag demuxers which -strip off data at the beginning and/or end of a file and want to typefind -the stripped data stream before adding their own source pad (the specified -callback can then call the upstream peer pad with offsets adjusted for the -tag size, for example). -Returns #NULL if no #GstCaps matches the data stream. - - the #GstCaps corresponding to the data stream. - - - - - A #GstObject that will be passed as first argument to @func - - - - A generic #GstTypeFindHelperGetRangeFunction that will be used to access data at random offsets when doing the typefinding - - - - The length in bytes - - - - location to store the probability of the found caps, or #NULL - - - - - - Utility function to do pull-based typefinding. Unlike gst_type_find_helper() -however, this function will use the specified function @func to obtain the -data needed by the typefind functions, rather than operating on a given -source pad. This is useful mostly for elements like tag demuxers which -strip off data at the beginning and/or end of a file and want to typefind -the stripped data stream before adding their own source pad (the specified -callback can then call the upstream peer pad with offsets adjusted for the -tag size, for example). -When @extension is not NULL, this function will first try the typefind -functions for the given extension, which might speed up the typefinding -in many cases. -Returns #NULL if no #GstCaps matches the data stream. - - the #GstCaps corresponding to the data stream. - - - - - A #GstObject that will be passed as first argument to @func - - - - A generic #GstTypeFindHelperGetRangeFunction that will be used to access data at random offsets when doing the typefinding - - - - The length in bytes - - - - extension of the media - - - - location to store the probability of the found caps, or #NULL - - - - - - diff --git a/extra/gstreamer/base/ffi/ffi.factor b/extra/gstreamer/base/ffi/ffi.factor index 3508186d1e..227c9c98e1 100644 --- a/extra/gstreamer/base/ffi/ffi.factor +++ b/extra/gstreamer/base/ffi/ffi.factor @@ -18,5 +18,5 @@ LIBRARY: gstreamer.base } cond >> -GIR: vocab:gstreamer/base/GstBase-0.10.gir +GIR: GstBase-0.10.gir diff --git a/extra/gstreamer/controller/GstController-0.10.gir b/extra/gstreamer/controller/GstController-0.10.gir deleted file mode 100644 index d7174f1f5d..0000000000 --- a/extra/gstreamer/controller/GstController-0.10.gir +++ /dev/null @@ -1,1160 +0,0 @@ - - - - - - - - - - - - - - - - The instance structure of #GstControlSource. - - Binds a #GstControlSource to a specific property. This must be called only once for a -#GstControlSource. - - %TRUE if the #GstControlSource was bound correctly, %FALSE otherwise. - - - - - #GParamSpec for the property for which this #GstControlSource should generate values. - - - - - - Gets the value for this #GstControlSource at a given timestamp. - - FALSE if the value couldn't be returned, TRUE otherwise. - - - - - the time for which the value should be returned - - - - the value - - - - - - Gets an array of values for one element property. -All fields of @value_array must be filled correctly. Especially the -of values. -The type of the values in the array is the same as the property's type. - - %TRUE if the given array could be filled, %FALSE otherwise - - - - - the time that should be processed - - - - array to put control-values in - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The class structure of #GstControlSource. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The instance structure of GstController - - Creates a new GstController for the given object's properties - - the new controller. - - - - - the object of which some properties should be controlled - - - - - - - - - - Creates a new GstController for the given object's properties - - the new controller. - - - - - the object of which some properties should be controlled - - - - list of property names that should be controlled - - - - - - - - Creates a new GstController for the given object's properties - - the new controller. - - - - - the object of which some properties should be controlled - - - - %NULL terminated list of property names that should be controlled - - - - - - Initializes the use of the controller library. Suggested to be called right -after gst_init(). - - the %TRUE for success. - - - - - pointer to the commandline argument count - - - - pointer to the commandline argument values - - - - - - Gets the value for the given controller-handled property at the requested -time. -property isn't handled by the controller - - the GValue of the property at the given time, or %NULL if the - - - - - the name of the property to get - - - - the time the control-change should be read from - - - - - - Returns a read-only copy of the list of #GstTimedValue for the given property. -Free the list after done with it. -<note><para>This doesn't modify the controlled GObject property!</para></note> -directly. - - a copy of the list, or %NULL if the property isn't handled by the controller - - - - - - - the name of the property to get the list for - - - - - - Gets the corresponding #GstControlSource for the property. This should be unreferenced -again after use. -controlled by this controller or no #GstControlSource was assigned yet. - - the #GstControlSource for @property_name or NULL if the property is not - - - - - name of the property for which the #GstControlSource should be get - - - - - - Function to be able to get an array of values for one element property. -All fields of @value_array must be filled correctly. Especially the -of values. -The type of the values in the array is the same as the property's type. -<note><para>This doesn't modify the controlled GObject property!</para></note> - - %TRUE if the given array could be filled, %FALSE otherwise - - - - - the time that should be processed - - - - array to put control-values in - - - - - - Function to be able to get an array of values for one or more given element -properties. -All fields of the %GstValueArray in the list must be filled correctly. -Especially the GstValueArray->values arrays must be big enough to keep -the requested amount of values. -The types of the values in the array are the same as the property's type. -<note><para>This doesn't modify the controlled GObject properties!</para></note> - - %TRUE if the given array(s) could be filled, %FALSE otherwise - - - - - the time that should be processed - - - - list to return the control-values in - - - - - - - - Removes the given object properties from the controller - - %FALSE if one of the given property isn't handled by the controller, %TRUE otherwise - - - - - - - - - - - Removes the given object properties from the controller - - %FALSE if one of the given property isn't handled by the controller, %TRUE otherwise - - - - - #GList of property names that should be removed - - - - - - - - Removes the given object properties from the controller - - %FALSE if one of the given property isn't handled by the controller, %TRUE otherwise - - - - - %NULL terminated list of property names that should be removed - - - - - - Set the value of given controller-handled property at a certain time. -directly. - - FALSE if the values couldn't be set (ex : properties not handled by controller), TRUE otherwise - - - - - the name of the property to set - - - - the time the control-change is schedules for - - - - the control-value - - - - - - Sets the #GstControlSource for @property_name. If there already was a #GstControlSource -for this property it will be unreferenced. -couldn't be bound to the property, %TRUE if everything worked as expected. - - %FALSE if the given property isn't handled by the controller or the new #GstControlSource - - - - - name of the property for which the #GstControlSource should be set - - - - the #GstControlSource that should be used for the property - - - - - - This function is used to disable all properties of the #GstController -for some time, i.e. gst_controller_sync_values() will do nothing. - - - - - - boolean that specifies whether to disable the controller or not. - - - - - - Sets multiple timed values at once. -directly. - - %FALSE if the values couldn't be set (ex : properties not handled by controller), %TRUE otherwise - - - - - the name of the property to set - - - - a list with #GstTimedValue items - - - - - - - - Sets the given interpolation mode on the given property. -<note><para>User interpolation is not yet available and quadratic interpolation -is deprecated and maps to cubic interpolation.</para></note> -directly. - - %TRUE if the property is handled by the controller, %FALSE otherwise - - - - - the name of the property for which to change the interpolation - - - - interpolation mode - - - - - - This function is used to disable the #GstController on a property for -some time, i.e. gst_controller_sync_values() will do nothing for the -property. - - - - - - property to disable - - - - boolean that specifies whether to disable the controller or not. - - - - - - Returns a suggestion for timestamps where buffers should be split -to get best controller results. -if no control-rate was set. - - Returns the suggested timestamp or %GST_CLOCK_TIME_NONE - - - - - Sets the properties of the element, according to the controller that (maybe) -handles them and for the given timestamp. -If this function fails, it is most likely the application developers fault. -Most probably the control sources are not setup correctly. -properties, %FALSE otherwise - - %TRUE if the controller values could be applied to the object - - - - - the time that should be processed - - - - - - Used to remove the value of given controller-handled property at a certain -time. -directly. - - %FALSE if the values couldn't be unset (ex : properties not handled by controller), %TRUE otherwise - - - - - the name of the property to unset - - - - the time the control-change should be removed from - - - - - - Used to remove all time-stamped values of given controller-handled property -directly. -by controller), %TRUE otherwise - - %FALSE if the values couldn't be unset (ex : properties not handled - - - - - the name of the property to unset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The various interpolation modes available. - - - - - - - - - The instance structure of #GstControlSource. - - This returns a new, unbound #GstInterpolationControlSource. - - a new, unbound #GstInterpolationControlSource. - - - - - Returns a read-only copy of the list of #GstTimedValue for the given property. -Free the list after done with it. - - a copy of the list, or %NULL if the property isn't handled by the controller - - - - - - - Returns the number of control points that are set. - - the number of control points that are set. - - - - - Set the value of given controller-handled property at a certain time. - - FALSE if the values couldn't be set, TRUE otherwise. - - - - - the time the control-change is scheduled for - - - - the control-value - - - - - - Sets multiple timed values at once. - - FALSE if the values couldn't be set, TRUE otherwise. - - - - - a list with #GstTimedValue items - - - - - - - - Sets the given interpolation mode. -<note><para>User interpolation is not yet available and quadratic interpolation -is deprecated and maps to cubic interpolation.</para></note> - - %TRUE if the interpolation mode could be set, %FALSE otherwise - - - - - interpolation mode - - - - - - Used to remove the value of given controller-handled property at a certain -time. - - FALSE if the value couldn't be unset (i.e. not found, TRUE otherwise. - - - - - the time the control-change should be removed from - - - - - - Used to remove all time-stamped values of given controller-handled property - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The instance structure of #GstControlSource. - - This returns a new, unbound #GstLFOControlSource. - - a new, unbound #GstLFOControlSource. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The various waveform modes available. - - - - - - - - Structure for saving a timestamp and a value. - - - - - - - - - Structure to receive multiple values at once. - - - - - - - - - - - - - - - Convenience function for GObject -Creates a GstController that allows you to dynamically control one, or more, GObject properties. -If the given GObject already has a GstController, it adds the given properties to the existing -controller and returns that controller. -one or more of the given properties aren't available, or cannot be controlled, for the given element. - - The GstController with which the user can control the given properties dynamically or NULL if - - - - - the object of which some properties should be controlled - - - - - - - - - - Obtain the control-rate for this @object. Audio processing #GstElement -objects will use this rate to sub-divide their processing loop and call -gst_object_sync_values() inbetween. The length of the processing segment -should be up to @control-rate nanoseconds. -If the @object is not under property control, this will return -%GST_CLOCK_TIME_NONE. This allows the element to avoid the sub-dividing. -The control-rate is not expected to change if the element is in -%GST_STATE_PAUSED or %GST_STATE_PLAYING. - - the control rate in nanoseconds - - - - - the object that has controlled properties - - - - - - Gets the corresponding #GstControlSource for the property. This should be unreferenced -again after use. -controlled by this controller or no #GstControlSource was assigned yet. - - the #GstControlSource for @property_name or NULL if the property is not - - - - - the object - - - - name of the property for which the #GstControlSource should be get - - - - - - Gets the controller for the given GObject - - the controller handling some of the given element's properties, %NULL if no controller - - - - - the object that has controlled properties - - - - - - Function to be able to get an array of values for one element properties -If the GstValueArray->values array is NULL, it will be created by the function. -The type of the values in the array are the same as the property's type. -The g_object_* functions are just convenience functions for GObject - - %TRUE if the given array(s) could be filled, %FALSE otherwise - - - - - the object that has controlled properties - - - - the time that should be processed - - - - array to put control-values in - - - - - - Function to be able to get an array of values for one or more given element -properties. -If the GstValueArray->values array in list nodes is NULL, it will be created -by the function. -The type of the values in the array are the same as the property's type. -The g_object_* functions are just convenience functions for GObject - - %TRUE if the given array(s) could be filled, %FALSE otherwise - - - - - the object that has controlled properties - - - - the time that should be processed - - - - list to return the control-values in - - - - - - - - Change the control-rate for this @object. Audio processing #GstElement -objects will use this rate to sub-divide their processing loop and call -gst_object_sync_values() inbetween. The length of the processing segment -should be up to @control-rate nanoseconds. -The control-rate should not change if the element is in %GST_STATE_PAUSED or -%GST_STATE_PLAYING. - - - - - - the object that has controlled properties - - - - the new control-rate in nanoseconds. - - - - - - Sets the #GstControlSource for @property_name. If there already was a #GstControlSource -for this property it will be unreferenced. -couldn't be bound to the property, %TRUE if everything worked as expected. - - %FALSE if the given property isn't handled by the controller or the new #GstControlSource - - - - - the controller object - - - - name of the property for which the #GstControlSource should be set - - - - the #GstControlSource that should be used for the property - - - - - - Sets the controller on the given GObject - - %FALSE if the GObject already has an controller, %TRUE otherwise - - - - - the object that should get the controller - - - - the controller object to plug in - - - - - - Convenience function for GObject - - same thing as gst_controller_suggest_next_sync() - - - - - the object that has controlled properties - - - - - - Convenience function for GObject - - same thing as gst_controller_sync_values() - - - - - the object that has controlled properties - - - - the time that should be processed - - - - - - Convenience function for GObject -Removes the given element's properties from it's controller -controller, %TRUE otherwise - - %FALSE if one of the given property names isn't handled by the - - - - - the object of which some properties should not be controlled anymore - - - - - - - - - - diff --git a/extra/gstreamer/controller/ffi/ffi.factor b/extra/gstreamer/controller/ffi/ffi.factor index 9ecb291786..b0eb87be0b 100644 --- a/extra/gstreamer/controller/ffi/ffi.factor +++ b/extra/gstreamer/controller/ffi/ffi.factor @@ -18,5 +18,5 @@ LIBRARY: gstreamer.controller } cond >> -GIR: vocab:gstreamer/controller/GstController-0.10.gir +GIR: GstController-0.10.gir diff --git a/extra/gstreamer/ffi/ffi.factor b/extra/gstreamer/ffi/ffi.factor index 57c6a169c8..c6fd4c6c9c 100644 --- a/extra/gstreamer/ffi/ffi.factor +++ b/extra/gstreamer/ffi/ffi.factor @@ -34,5 +34,5 @@ FOREIGN-ATOMIC-TYPE: libxml2.NsPtr xmlNsPtr PRIVATE> -GIR: vocab:gstreamer/Gst-0.10.gir +GIR: Gst-0.10.gir diff --git a/extra/gstreamer/net/GstNet-0.10.gir b/extra/gstreamer/net/GstNet-0.10.gir deleted file mode 100644 index dde8261b33..0000000000 --- a/extra/gstreamer/net/GstNet-0.10.gir +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - - - - - - - - - - Opaque #GstNetClientClock structure. - - Create a new #GstNetClientClock that will report the time -provided by the #GstNetTimeProvider on @remote_address and -clock. - - a new #GstClock that receives a time from the remote - - - - - a name for the clock - - - - the address of the remote clock provider - - - - the port of the remote clock provider - - - - initial time of the clock - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Content of a #GstNetTimePacket. - - - - - - - - Sends a #GstNetTimePacket over a socket. Essentially a thin wrapper around -sendto(2) and gst_net_time_packet_serialize(). -MT safe. - - The return value of sendto(2). - - - - - a file descriptor created by socket(2) - - - - a pointer to a sockaddr to hold the address of the sender - - - - the size of the data pointed to by @addr - - - - - - 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). - - A newly allocated sequence of #GST_NET_TIME_PACKET_SIZE bytes. - - - - - - Opaque #GstNetTimeProvider structure. - - Allows network clients to get the current time of @clock. - - the new #GstNetTimeProvider, or NULL on error - - - - - a #GstClock to export over the network - - - - an address to bind on as a dotted quad (xxx.xxx.xxx.xxx), or NULL to bind to all addresses - - - - a port to bind on, or 0 to let the kernel choose - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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). - - The new #GstNetTimePacket. - - - - - a buffer from which to construct the packet, or NULL - - - - - - 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). - - The new #GstNetTimePacket. - - - - - a file descriptor created by socket(2) - - - - a pointer to a sockaddr to hold the address of the sender - - - - a pointer to the size of the data pointed to by @addr - - - - - - diff --git a/extra/gstreamer/net/ffi/ffi.factor b/extra/gstreamer/net/ffi/ffi.factor index d1a0a14a59..859c6c2656 100644 --- a/extra/gstreamer/net/ffi/ffi.factor +++ b/extra/gstreamer/net/ffi/ffi.factor @@ -18,5 +18,5 @@ LIBRARY: gstreamer.net } cond >> -GIR: vocab:gstreamer/net/GstNet-0.10.gir +GIR: GstNet-0.10.gir From 090254d6711328ae26133e421e2556b99324b747 Mon Sep 17 00:00:00 2001 From: Anton Gorenko Date: Fri, 1 Apr 2011 22:06:07 +0600 Subject: [PATCH 6/6] ui.backend.gtk: fix a bug with endless error messages in a console after closing of UI; io.thread: start-io-thread always starts io-thread even if it was stopped, fix line endings; --- basis/io/thread/thread.factor | 44 +++++++++--------- basis/ui/backend/gtk/gtk.factor | 58 +++++++++++++----------- basis/ui/backend/gtk/io/io.factor | 4 +- basis/ui/backend/gtk/io/unix/unix.factor | 30 +++++++----- 4 files changed, 73 insertions(+), 63 deletions(-) diff --git a/basis/io/thread/thread.factor b/basis/io/thread/thread.factor index 519dec3567..75eb46791a 100644 --- a/basis/io/thread/thread.factor +++ b/basis/io/thread/thread.factor @@ -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 diff --git a/basis/ui/backend/gtk/gtk.factor b/basis/ui/backend/gtk/gtk.factor index 378a2b56c2..5f219ec20c 100644 --- a/basis/ui/backend/gtk/gtk.factor +++ b/basis/ui/backend/gtk/gtk.factor @@ -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 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 ) + 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 + &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 ; diff --git a/basis/ui/backend/gtk/io/io.factor b/basis/ui/backend/gtk/io/io.factor index 8288c893cc..c2284a3d13 100644 --- a/basis/ui/backend/gtk/io/io.factor +++ b/basis/ui/backend/gtk/io/io.factor @@ -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 ; \ No newline at end of file +M: object with-event-loop call( -- ) ; \ No newline at end of file diff --git a/basis/ui/backend/gtk/io/unix/unix.factor b/basis/ui/backend/gtk/io/unix/unix.factor index 50a1059678..56a38d5bf1 100644 --- a/basis/ui/backend/gtk/io/unix/unix.factor +++ b/basis/ui/backend/gtk/io/unix/unix.factor @@ -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 ) + 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 - [ g_source_add_poll ] - [ f g_source_attach drop ] bi ; + &free + GSource heap-size g_source_new &g_source_unref :> source + source g_source_add_poll + source f g_source_attach drop + [ quot call( -- ) ] + [ + source g_source_destroy + start-io-thread + ] [ ] cleanup ;