A type representing a 4x4 matrix. It is identicaly to #CoglMatrix. The #ClutterAction structure contains only private data and should be accessed using the provided API. The ClutterActionClass structure contains only private data Base class for actors. Creates a new #ClutterActor. A newly created actor has a floating reference, which will be sunk when it is added to another actor. the newly created #ClutterActor Assigns the size of a #ClutterActor from the given @box. This function should only be called on the children of an actor when overriding the #ClutterActorClass.allocate() virtual function. This function will adjust the stored allocation to take into account the alignment flags set in the #ClutterActor:x-align and #ClutterActor:y-align properties, as well as the margin values set in the #ClutterActor:margin-top, #ClutterActor:margin-right, #ClutterActor:margin-bottom, and #ClutterActor:margin-left properties. This function will respect the easing state of the #ClutterActor and interpolate between the current allocation and the new one if the easing state duration is a positive value. 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. A #ClutterActor new allocation of the actor, in parent-relative coordinates flags that control the allocation 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. Note: you cannot destroy the #ClutterStage returned by clutter_stage_get_default(). a #ClutterActor 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 a #ClutterActor 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. A #ClutterActor 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. A #ClutterActor 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 Asks the actor's implementation whether it may contain overlapping primitives. For example; Clutter may use this to determine whether the painting should be redirected to an offscreen buffer to correctly implement the opacity property. Custom actors can override the default response by implementing the #ClutterActorClass.has_overlaps() virtual function. See clutter_actor_set_offscreen_redirect() for more information. %TRUE if the actor may have overlapping primitives, and %FALSE otherwise A #ClutterActor 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. A #ClutterActor Calls clutter_actor_hide() on all child actors (if any). Using clutter_actor_hide() on the actor will prevent its children from being painted as well. a #ClutterActor 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. Calling this function is strongly disencouraged: the default implementation of #ClutterActorClass.map() will map all the children of an actor when mapping its parent. When overriding map, it is mandatory to chain up to the parent implementation. A #ClutterActor 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. A #ClutterActor 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. A #ClutterActor 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. Actors are automatically realized, and nothing requires explicit realization. A #ClutterActor 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. A #ClutterActor Calls clutter_actor_show() on all children of an actor (if any). Actors are visible by default a #ClutterActor Unsets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly unmaps its children if they were mapped. Calling this function is not encouraged: the default #ClutterActor implementation of #ClutterActorClass.unmap() will also unmap any eventual children by default when their parent is unmapped. When overriding #ClutterActorClass.unmap(), it is mandatory to chain up to the parent implementation. It is important to note that the implementation of the #ClutterActorClass.unmap() virtual function may be called after the #ClutterActorClass.destroy() or the #GObjectClass.dispose() implementation, but it is guaranteed to be called before the #GObjectClass.finalize() implementation. A #ClutterActor 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. This function should not really be in the public API, because there isn't a good reason to call it. ClutterActor will already unrealize things for you when it's important to do so. If you were using clutter_actor_unrealize() in a dispose implementation, then don't, just chain up to ClutterActor's dispose. If you were using clutter_actor_unrealize() to implement unrealizing children of your container, then don't, ClutterActor will already take care of that. Actors are automatically unrealized, and nothing requires explicit realization. A #ClutterActor 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 #ClutterActor 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: |[<!-- language="C" --> clutter_actor_meta_set_name (CLUTTER_ACTOR_META (action), name); clutter_actor_add_action (self, action); ]| a #ClutterActor the name to set on the action a #ClutterAction Adds @child to the children of @self. This function will acquire a reference on @child that will only be released when calling clutter_actor_remove_child(). This function will take into consideration the #ClutterActor:depth of @child, and will keep the list of children sorted. This function will emit the #ClutterContainer::actor-added signal on @self. a #ClutterActor a #ClutterActor 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 #ClutterActor 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: |[<!-- language="C" --> clutter_actor_meta_set_name (CLUTTER_ACTOR_META (constraint), name); clutter_actor_add_constraint (self, constraint); ]| a #ClutterActor 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. Note that as #ClutterEffect is initially unowned, clutter_actor_add_effect() will sink any floating reference on @effect. a #ClutterActor a #ClutterEffect A convenience function for setting the name of a #ClutterEffect while adding it to the list of effects applied to @self. Note that as #ClutterEffect is initially unowned, clutter_actor_add_effect_with_name() will sink any floating reference on @effect. This function is the logical equivalent of: |[<!-- language="C" --> clutter_actor_meta_set_name (CLUTTER_ACTOR_META (effect), name); clutter_actor_add_effect (self, effect); ]| a #ClutterActor the name to set on the effect a #ClutterEffect Adds a @transition to the #ClutterActor's list of animations. The @name string is a per-actor unique identifier of the @transition: only one #ClutterTransition can be associated to the specified @name. The @transition will be started once added. This function will take a reference on the @transition. This function is usually called implicitly when modifying an animatable property. a #ClutterActor the name of the transition to add the #ClutterTransition to add Assigns the size of a #ClutterActor from the given @box. This function should only be called on the children of an actor when overriding the #ClutterActorClass.allocate() virtual function. This function will adjust the stored allocation to take into account the alignment flags set in the #ClutterActor:x-align and #ClutterActor:y-align properties, as well as the margin values set in the #ClutterActor:margin-top, #ClutterActor:margin-right, #ClutterActor:margin-bottom, and #ClutterActor:margin-left properties. This function will respect the easing state of the #ClutterActor and interpolate between the current allocation and the new one if the easing state duration is a positive value. 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. A #ClutterActor 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 using legacy alignment flags. Newly written layout managers should use the #ClutterActor:x-align and #ClutterActor:y-align properties, instead, and just call clutter_actor_allocate() inside their #ClutterActorClass.allocate() implementation. a #ClutterActor 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: |[<!-- language="C" --> if (request_mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH) { clutter_actor_get_preferred_width (self, available_height, &min_width, &natural_width); width = CLAMP (natural_width, min_width, available_width); clutter_actor_get_preferred_height (self, width, &min_height, &natural_height); height = CLAMP (natural_height, min_height, available_height); } else if (request_mode == CLUTTER_REQUEST_WIDTH_FOR_HEIGHT) { clutter_actor_get_preferred_height (self, available_width, &min_height, &natural_height); height = CLAMP (natural_height, min_height, available_height); clutter_actor_get_preferred_width (self, height, &min_width, &natural_width); width = CLAMP (natural_width, min_width, available_width); } else if (request_mode == CLUTTER_REQUEST_CONTENT_SIZE) { clutter_content_get_preferred_size (content, &natural_width, &natural_height); width = CLAMP (natural_width, 0, available_width); height = CLAMP (natural_height, 0, available_height); } box.x1 = x; box.y1 = y; box.x2 = box.x1 + available_width; box.y2 = box.y1 + available_height; clutter_actor_allocate (self, &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. a #ClutterActor 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, regardless of the size of the parent. This function is not meant to be used by applications. It is also not meant to be used outside the implementation of the #ClutterActorClass.allocate virtual function. a #ClutterActor 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: |[<!-- language="C" --> 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: |[<!-- language="C" --> clutter_actor_animate (actor, CLUTTER_EASE_IN_SINE, 100, "rotation-angle-z", 360.0, "fixed::rotation-center-z", &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: |[<!-- language="C" --> 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: |[<!-- language="C" --> 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: |[<!-- language="C" --> 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: |[<!-- language="C" --> clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500, "x", 100.0, "y", 100.0, "width", 200.0, "height", 100.0, NULL); ]| Unless the animation is looping, the #ClutterAnimation created by clutter_actor_animate() will become invalid as soon as it is complete. 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: |[<!-- language="C" --> 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); ... ]| Use the implicit transition for animatable properties in #ClutterActor instead. See clutter_actor_save_easing_state(), clutter_actor_set_easing_mode(), clutter_actor_set_easing_duration(), clutter_actor_set_easing_delay(), and clutter_actor_restore_easing_state(). a #ClutterAnimation object. The object is owned by the #ClutterActor and should not be unreferenced with g_object_unref() a #ClutterActor an animation mode logical id duration of the animation, in milliseconds the name of a property a %NULL terminated list of property names and property values 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. Use the implicit transition for animatable properties in #ClutterActor instead. See clutter_actor_save_easing_state(), clutter_actor_set_easing_mode(), clutter_actor_set_easing_duration(), clutter_actor_set_easing_delay(), and clutter_actor_restore_easing_state(). a #ClutterAnimation object. The object is owned by the #ClutterActor and should not be unreferenced with g_object_unref() a #ClutterActor a #ClutterAlpha the name of a property a %NULL terminated list of property names and property values 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. Unlike clutter_actor_animate_with_alpha(), this function will not allow you to specify "signal::" names and callbacks. Use the implicit transition for animatable properties in #ClutterActor instead. See clutter_actor_save_easing_state(), clutter_actor_set_easing_mode(), clutter_actor_set_easing_duration(), clutter_actor_set_easing_delay(), and clutter_actor_restore_easing_state(). a #ClutterAnimation object. The object is owned by the #ClutterActor and should not be unreferenced with g_object_unref() a #ClutterActor 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. Use the implicit transition for animatable properties in #ClutterActor instead. See clutter_actor_save_easing_state(), clutter_actor_set_easing_mode(), clutter_actor_set_easing_duration(), clutter_actor_set_easing_delay(), and clutter_actor_restore_easing_state(). a #ClutterAnimation object. The object is owned by the #ClutterActor and should not be unreferenced with g_object_unref() a #ClutterActor an animation mode logical id a #ClutterTimeline the name of a property a %NULL terminated list of property names and property values 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. Unlike clutter_actor_animate_with_timeline(), this function will not allow you to specify "signal::" names and callbacks. Use the implicit transition for animatable properties in #ClutterActor instead. See clutter_actor_save_easing_state(), clutter_actor_set_easing_mode(), clutter_actor_set_easing_duration(), clutter_actor_set_easing_delay(), and clutter_actor_restore_easing_state(). a #ClutterAnimation object. The object is owned by the #ClutterActor and should not be unreferenced with g_object_unref() a #ClutterActor 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. Unlike clutter_actor_animate(), this function will not allow you to specify "signal::" names and callbacks. Use the implicit transition for animatable properties in #ClutterActor instead. See clutter_actor_save_easing_state(), clutter_actor_set_easing_mode(), clutter_actor_set_easing_duration(), clutter_actor_set_easing_delay(), and clutter_actor_restore_easing_state(). a #ClutterAnimation object. The object is owned by the #ClutterActor and should not be unreferenced with g_object_unref() a #ClutterActor 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 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 #ClutterActor A point as #ClutterVertex The translated #ClutterVertex Binds a #GListModel to a #ClutterActor. If the #ClutterActor was already bound to a #GListModel, the previous binding is destroyed. The existing children of #ClutterActor are destroyed when setting a model, and new children are created and added, representing the contents of the @model. The #ClutterActor is updated whenever the @model changes. If @model is %NULL, the #ClutterActor is left empty. When a #ClutterActor is bound to a model, adding and removing children directly is undefined behaviour. a #ClutterActor a #GListModel a function that creates #ClutterActor instances from the contents of the @model user data passed to @create_child_func function called when unsetting the @model Binds a #GListModel to a #ClutterActor. Unlike clutter_actor_bind_model(), this function automatically creates a child #ClutterActor of type @child_type, and binds properties on the items inside the @model to the corresponding properties on the child, for instance: |[<!-- language="C" --> clutter_actor_bind_model_with_properties (actor, model, MY_TYPE_CHILD_VIEW, "label", "text", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE, "icon", "image", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE, "selected", "selected", G_BINDING_BIDIRECTIONAL, "active", "active", G_BINDING_BIDIRECTIONAL, NULL); ]| is the equivalent of calling clutter_actor_bind_model() with a #ClutterActorCreateChildFunc of: |[<!-- language="C" --> ClutterActor *res = g_object_new (MY_TYPE_CHILD_VIEW, NULL); g_object_bind_property (item, "label", res, "text", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE); g_object_bind_property (item, "icon", res, "image", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE); g_object_bind_property (item, "selected", res, "selected", G_BINDING_BIDIRECTIONAL); g_object_bind_property (item, "active", res, "active", G_BINDING_BIDIRECTIONAL); return res; ]| If the #ClutterActor was already bound to a #GListModel, the previous binding is destroyed. When a #ClutterActor is bound to a model, adding and removing children directly is undefined behaviour. See also: clutter_actor_bind_model() a #ClutterActor a #GListModel the type of #ClutterActor to use when creating children mapping to items inside the @model the first property of @model to bind tuples of property names on the @model, on the child, and the #GBindingFlags used to bind them, terminated by %NULL Clears the list of actions applied to @self a #ClutterActor Clears the list of constraints applied to @self a #ClutterActor Clears the list of effects applied to @self a #ClutterActor Determines if @descendant is contained inside @self (either as an immediate child, or as a deeper descendant). If @self and @descendant point to the same actor then it will also return %TRUE. whether @descendent is contained within @self A #ClutterActor A #ClutterActor, possibly contained in @self Run the next stage of the paint sequence. This function should only be called within the implementation of the ‘run’ virtual of a #ClutterEffect. It will cause the run method of the next effect to be applied, or it will paint the actual actor if the current effect is the last effect in the chain. A #ClutterActor 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(). the newly created #PangoContext. Use g_object_unref() on the returned value to deallocate its resources a #ClutterActor 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. the newly created #PangoLayout. Use g_object_unref() when done a #ClutterActor 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. Note: you cannot destroy the #ClutterStage returned by clutter_stage_get_default(). a #ClutterActor Destroys all children of @self. This function releases the reference added by inserting a child actor in the list of children of @self, and ensures that the #ClutterActor::destroy signal is emitted on each child of the actor. By default, #ClutterActor will emit the #ClutterActor::destroy signal when its reference count drops to 0; the default handler of the #ClutterActor::destroy signal will destroy all the children of an actor. This function ensures that all children are destroyed, instead of just removed from @self, unlike clutter_actor_remove_all_children() which will merely release the reference and remove each child. Unless you acquired an additional reference on each child of @self prior to calling clutter_actor_remove_all_children() and want to reuse the actors, you should use clutter_actor_destroy_all_children() in order to make sure that children are destroyed and signal handlers are disconnected even in cases where circular references prevent this from automatically happening through reference counting alone. a #ClutterActor 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. Use the implicit transition for animatable properties in #ClutterActor instead, and clutter_actor_remove_transition() to remove the transition. a #ClutterActor This function is used to emit an event on the main stage. You should rarely need to use this function, except for synthetising events. the return value from the signal emission: %TRUE if the actor handled the event, or %FALSE if the event was not handled a #ClutterActor 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: - v[0] contains (x1, y1) - v[1] contains (x2, y1) - v[2] contains (x1, y2) - v[3] contains (x2, y2) A #ClutterActor 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 a #ClutterActor Retrieves the #ClutterAction with the given name in the list of actions applied to @self a #ClutterAction for the given name, or %NULL. The returned #ClutterAction is owned by the actor and it should not be unreferenced directly a #ClutterActor the name of the action to retrieve Retrieves the list of actions applied to @self a copy 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 #ClutterActor 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. 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. A #ClutterActor 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. Use clutter_actor_get_allocation_box() instead. A #ClutterActor 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: - @verts[0] contains (x1, y1) - @verts[1] contains (x2, y1) - @verts[2] contains (x1, y2) - @verts[3] contains (x2, y2) 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 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. Use #ClutterActor:pivot-point instead a #ClutterActor 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. Use #ClutterActor:pivot-point instead. the #ClutterGravity used by the anchor point a #ClutterActor Retrieves the #ClutterAnimation used by @actor, if clutter_actor_animate() has been called on @actor. Use the implicit transition for animatable properties in #ClutterActor instead, and clutter_actor_get_transition() to retrieve the transition. a #ClutterAnimation, or %NULL a #ClutterActor Retrieves the color set using clutter_actor_set_background_color(). a #ClutterActor return location for a #ClutterColor Retrieves the actor at the given @index_ inside the list of children of @self. a pointer to a #ClutterActor, or %NULL a #ClutterActor the position in the list of children Retrieves the child transformation matrix set using clutter_actor_set_child_transform(); if none is currently set, the @transform matrix will be initialized to the identity matrix. a #ClutterActor a #ClutterMatrix Retrieves the list of children of @self. A newly allocated #GList of #ClutterActor<!-- -->s. Use g_list_free() when done. a #ClutterActor Gets the clip area for @self, if any is set. a #ClutterActor 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 a #ClutterActor Retrieves the #ClutterConstraint with the given name in the list of constraints applied to @self a #ClutterConstraint for the given name, or %NULL. The returned #ClutterConstraint is owned by the actor and it should not be unreferenced directly a #ClutterActor the name of the constraint to retrieve Retrieves the list of constraints applied to @self a copy 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 #ClutterActor Retrieves the contents of @self. a pointer to the #ClutterContent instance, or %NULL if none was set a #ClutterActor Retrieves the bounding box for the #ClutterContent of @self. The bounding box is relative to the actor's allocation. If no #ClutterContent is set for @self, or if @self has not been allocated yet, then the result is undefined. The content box is guaranteed to be, at most, as big as the allocation of the #ClutterActor. If the #ClutterContent used by the actor has a preferred size, then it is possible to modify the content box by using the #ClutterActor:content-gravity property. a #ClutterActor the return location for the bounding box for the #ClutterContent Retrieves the content gravity as set using clutter_actor_set_content_gravity(). the content gravity a #ClutterActor Retrieves the repeat policy for a #ClutterActor set by clutter_actor_set_content_repeat(). the content repeat policy a #ClutterActor Retrieves the values set using clutter_actor_set_content_scaling_filters(). a #ClutterActor return location for the minification filter, or %NULL return location for the magnification filter, or %NULL Retrieves the default paint volume for @self. This function provides the same #ClutterPaintVolume that would be computed by the default implementation inside #ClutterActor of the #ClutterActorClass.get_paint_volume() virtual function. This function should only be used by #ClutterActor subclasses that cannot chain up to the parent implementation when computing their paint volume. a pointer to the default #ClutterPaintVolume, relative to the #ClutterActor, or %NULL if the actor could not compute a valid paint volume. The returned value is not guaranteed to be stable across multiple frames, so if you want to retain it, you will need to copy it using clutter_paint_volume_copy(). a #ClutterActor Retrieves the depth of @self. Use clutter_actor_get_z_position() instead. the depth of the actor a #ClutterActor Retrieves the delay that should be applied when tweening animatable properties. a delay, in milliseconds a #ClutterActor Retrieves the duration of the tweening for animatable properties of @self for the current easing state. the duration of the tweening, in milliseconds a #ClutterActor Retrieves the easing mode for the tweening of animatable properties of @self for the current easing state. an easing mode a #ClutterActor Retrieves the #ClutterEffect with the given name in the list of effects applied to @self a #ClutterEffect for the given name, or %NULL. The returned #ClutterEffect is owned by the actor and it should not be unreferenced directly a #ClutterActor the name of the effect to retrieve Retrieves the #ClutterEffect<!-- -->s applied on @self, if any a list 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 #ClutterActor Retrieves the first child of @self. The returned pointer is only valid until the scene graph changes; it is not safe to modify the list of children of @self while iterating it. a pointer to a #ClutterActor, or %NULL a #ClutterActor 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 A #ClutterActor Retrieves the flags set on @self a bitwise or of #ClutterActorFlags or 0 a #ClutterActor 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. Use clutter_actor_get_position() and clutter_actor_get_size(), or clutter_actor_get_allocation_geometry() instead. A #ClutterActor A location to store actors #ClutterGeometry Retrieves the unique id for @self. The id is not used any longer, and this function always returns 0. Globally unique value for this object instance. A #ClutterActor 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 A #ClutterActor Retrieves the last child of @self. The returned pointer is only valid until the scene graph changes; it is not safe to modify the list of children of @self while iterating it. a pointer to a #ClutterActor, or %NULL a #ClutterActor Retrieves the #ClutterLayoutManager used by @self. a pointer to the #ClutterLayoutManager, or %NULL a #ClutterActor Retrieves all the components of the margin of a #ClutterActor. a #ClutterActor return location for a #ClutterMargin Retrieves the bottom margin of a #ClutterActor. the bottom margin a #ClutterActor Retrieves the left margin of a #ClutterActor. the left margin a #ClutterActor Retrieves the right margin of a #ClutterActor. the right margin a #ClutterActor Retrieves the top margin of a #ClutterActor. the top margin a #ClutterActor Retrieves the number of children of @self. the number of children of an actor a #ClutterActor Retrieves the name of @self. the name of the actor, or %NULL. The returned string is owned by the actor and should not be modified or freed. A #ClutterActor Retrieves the sibling of @self that comes after it in the list of children of @self's parent. The returned pointer is only valid until the scene graph changes; it is not safe to modify the list of children of @self while iterating it. a pointer to a #ClutterActor, or %NULL a #ClutterActor Retrieves whether to redirect the actor to an offscreen buffer, as set by clutter_actor_set_offscreen_redirect(). the value of the offscreen-redirect property of the actor a #ClutterActor 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 a #ClutterActor Retrieves the paint volume of the passed #ClutterActor, and transforms it into a 2D bounding box in stage coordinates. This function is useful to determine the on screen area occupied by the actor. The box is only an approximation and may often be considerably larger due to the optimizations used to calculate the box. The box is never smaller though, so it can reliably be used for culling. There are times when a 2D paint box can't be determined, e.g. because the actor isn't yet parented under a stage or because the actor is unable to determine a paint volume. %TRUE if a 2D paint box could be determined, else %FALSE. a #ClutterActor return location for a #ClutterActorBox 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. A #ClutterActor 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. A #ClutterActor Retrieves the paint volume of the passed #ClutterActor, or %NULL when a paint volume can't be determined. The paint volume is defined as the 3D space occupied by an actor when being painted. This function will call the #ClutterActorClass.get_paint_volume() virtual function of the #ClutterActor class. Sub-classes of #ClutterActor should not usually care about overriding the default implementation, unless they are, for instance: painting outside their allocation, or actors with a depth factor (not in terms of #ClutterActor:depth but real 3D depth). Note: 2D actors overriding #ClutterActorClass.get_paint_volume() should ensure that their volume has a depth of 0. (This will be true as long as you don't call clutter_paint_volume_set_depth().) a pointer to a #ClutterPaintVolume, or %NULL if no volume could be determined. The returned pointer is not guaranteed to be valid across multiple frames; if you want to keep it, you will need to copy it using clutter_paint_volume_copy(). a #ClutterActor 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 #PangoContext for a #ClutterActor. The returned #PangoContext is owned by the actor and should not be unreferenced by the application code a #ClutterActor Retrieves the parent of @self. The #ClutterActor parent, or %NULL if no parent is set A #ClutterActor Retrieves the coordinates of the #ClutterActor:pivot-point. a #ClutterActor return location for the normalized X coordinate of the pivot point, or %NULL return location for the normalized Y coordinate of the pivot point, or %NULL Retrieves the Z component of the #ClutterActor:pivot-point. a #ClutterActor 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. a #ClutterActor 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. A #ClutterActor 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. a #ClutterActor 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. A #ClutterActor 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 Retrieves the sibling of @self that comes before it in the list of children of @self's parent. The returned pointer is only valid until the scene graph changes; it is not safe to modify the list of children of @self while iterating it. a pointer to a #ClutterActor, or %NULL a #ClutterActor Checks whether @actor is marked as reactive. %TRUE if the actor is reactive a #ClutterActor Retrieves the geometry request mode of @self the request mode for the actor a #ClutterActor Retrieves the angle and center of rotation on the given axis, set using clutter_actor_set_rotation(). Use clutter_actor_get_rotation_angle() and clutter_actor_get_pivot_point() instead. the angle of rotation a #ClutterActor 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 the angle of rotation set by clutter_actor_set_rotation_angle(). the angle of rotation, in degrees a #ClutterActor the axis of the rotation Retrieves an actors scale factors. A #ClutterActor 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. Use clutter_actor_get_pivot_point() instead. A #ClutterActor 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. Use clutter_actor_get_pivot_point() instead. the scale gravity A #ClutterActor Retrieves the scaling factor along the Z axis, as set using clutter_actor_set_scale_z(). the scaling factor along the Z axis A #ClutterActor Queries the currently set #ClutterShader on @self. Use clutter_actor_get_effect() instead. The currently set #ClutterShader or %NULL if no shader is set. a #ClutterActor 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(). A #ClutterActor 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 a #ClutterActor 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 a #ClutterActor Retrieves the current transformation matrix of a #ClutterActor. a #ClutterActor a #ClutterMatrix Retrieves the transformations applied to @self relative to its parent. Use clutter_actor_get_transform() instead a #ClutterActor the return location for a #ClutterMatrix Retrieves the 3D paint volume of an actor like clutter_actor_get_paint_volume() does (Please refer to the documentation of clutter_actor_get_paint_volume() for more details.) and it additionally transforms the paint volume into the coordinate space of @relative_to_ancestor. (Or the stage if %NULL is passed for @relative_to_ancestor) This can be used by containers that base their paint volume on the volume of their children. Such containers can query the transformed paint volume of all of its children and union them together using clutter_paint_volume_union(). a pointer to a #ClutterPaintVolume, or %NULL if no volume could be determined. The returned pointer is not guaranteed to be valid across multiple frames; if you wish to keep it, you will have to copy it using clutter_paint_volume_copy(). a #ClutterActor A #ClutterActor that is an ancestor of @self (or %NULL for the stage) Gets the absolute position of an actor, in pixels relative to the stage. A #ClutterActor 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. 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. A #ClutterActor return location for the width, or %NULL return location for the height, or %NULL Retrieves the #ClutterTransition of a #ClutterActor by using the transition @name. Transitions created for animatable properties use the name of the property itself, for instance the code below: |[<!-- language="C" --> clutter_actor_set_easing_duration (actor, 1000); clutter_actor_set_rotation (actor, CLUTTER_Y_AXIS, 360.0, x, y, z); transition = clutter_actor_get_transition (actor, "rotation-angle-y"); g_signal_connect (transition, "stopped", G_CALLBACK (on_transition_stopped), actor); ]| will call the `on_transition_stopped` callback when the transition is finished. If you just want to get notifications of the completion of a transition, you should use the #ClutterActor::transition-stopped signal, using the transition name as the signal detail. a #ClutterTransition, or %NULL is none was found to match the passed name; the returned instance is owned by Clutter and it should not be freed a #ClutterActor the name of the transition Retrieves the translation set using clutter_actor_set_translation(). a #ClutterActor return location for the X component of the translation, or %NULL return location for the Y component of the translation, or %NULL return location for the Z component of the translation, 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 A #ClutterActor Retrieves the X coordinate of a #ClutterActor. This function tries to "do what you mean", by returning the correct value depending on the actor's state. If the actor has a valid allocation, this function will return the X coordinate of the origin of the allocation box. If the actor has any fixed coordinate set using clutter_actor_set_x(), clutter_actor_set_position() or clutter_actor_set_geometry(), this function will return that coordinate. If both the allocation and a fixed position are missing, this function will return 0. the X coordinate, in pixels, ignoring any transformation (i.e. scaling, rotation) A #ClutterActor Retrieves the horizontal alignment policy set using clutter_actor_set_x_align(). the horizontal alignment policy. a #ClutterActor Retrieves the value set with clutter_actor_set_x_expand(). See also: clutter_actor_needs_expand() %TRUE if the actor has been set to expand a #ClutterActor Retrieves the Y coordinate of a #ClutterActor. This function tries to "do what you mean", by returning the correct value depending on the actor's state. If the actor has a valid allocation, this function will return the Y coordinate of the origin of the allocation box. If the actor has any fixed coordinate set using clutter_actor_set_y(), clutter_actor_set_position() or clutter_actor_set_geometry(), this function will return that coordinate. If both the allocation and a fixed position are missing, this function will return 0. the Y coordinate, in pixels, ignoring any transformation (i.e. scaling, rotation) A #ClutterActor Retrieves the vertical alignment policy set using clutter_actor_set_y_align(). the vertical alignment policy. a #ClutterActor Retrieves the value set with clutter_actor_set_y_expand(). See also: clutter_actor_needs_expand() %TRUE if the actor has been set to expand a #ClutterActor Retrieves the actor's position on the Z axis. the position on the Z axis. a #ClutterActor 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. Use the #ClutterActor:pivot-point instead of a #ClutterGravity the Z rotation center A #ClutterActor Sets the key focus of the #ClutterStage including @self to this #ClutterActor. a #ClutterActor Returns whether the actor has any actions applied. %TRUE if the actor has any actions, %FALSE otherwise A #ClutterActor Checks if the actor has an up-to-date allocation assigned to it. This means that the actor should have an allocation: it's 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 a #ClutterActor Determines whether the actor has a clip area set or not. %TRUE if the actor has a clip area set. a #ClutterActor Returns whether the actor has any constraints applied. %TRUE if the actor has any constraints, %FALSE otherwise A #ClutterActor Returns whether the actor has any effects applied. %TRUE if the actor has any effects, %FALSE otherwise A #ClutterActor Checks whether @self is the #ClutterActor that has key focus %TRUE if the actor has key focus, and %FALSE otherwise a #ClutterActor Asks the actor's implementation whether it may contain overlapping primitives. For example; Clutter may use this to determine whether the painting should be redirected to an offscreen buffer to correctly implement the opacity property. Custom actors can override the default response by implementing the #ClutterActorClass.has_overlaps() virtual function. See clutter_actor_set_offscreen_redirect() for more information. %TRUE if the actor may have overlapping primitives, and %FALSE otherwise A #ClutterActor Checks whether an actor contains the pointer of a #ClutterInputDevice %TRUE if the actor contains the pointer, and %FALSE otherwise a #ClutterActor 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. A #ClutterActor Calls clutter_actor_hide() on all child actors (if any). Using clutter_actor_hide() on the actor will prevent its children from being painted as well. a #ClutterActor Inserts @child into the list of children of @self, above another child of @self or, if @sibling is %NULL, above all the children of @self. This function will acquire a reference on @child that will only be released when calling clutter_actor_remove_child(). This function will not take into consideration the #ClutterActor:depth of @child. This function will emit the #ClutterContainer::actor-added signal on @self. a #ClutterActor a #ClutterActor a child of @self, or %NULL Inserts @child into the list of children of @self, using the given @index_. If @index_ is greater than the number of children in @self, or is less than 0, then the new child is added at the end. This function will acquire a reference on @child that will only be released when calling clutter_actor_remove_child(). This function will not take into consideration the #ClutterActor:depth of @child. This function will emit the #ClutterContainer::actor-added signal on @self. a #ClutterActor a #ClutterActor the index Inserts @child into the list of children of @self, below another child of @self or, if @sibling is %NULL, below all the children of @self. This function will acquire a reference on @child that will only be released when calling clutter_actor_remove_child(). This function will not take into consideration the #ClutterActor:depth of @child. This function will emit the #ClutterContainer::actor-added signal on @self. a #ClutterActor a #ClutterActor a child of @self, or %NULL 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 %TRUE if the #ClutterActor is currently being painted by a #ClutterClone, and %FALSE otherwise a #ClutterActor Checks whether a #ClutterActor has been set as mapped. See also %CLUTTER_ACTOR_IS_MAPPED and #ClutterActor:mapped %TRUE if the actor is mapped a #ClutterActor Checks whether a #ClutterActor is realized. See also %CLUTTER_ACTOR_IS_REALIZED and #ClutterActor:realized. %TRUE if the actor is realized a #ClutterActor Checks whether any rotation is applied to the actor. %TRUE if the actor is rotated. a #ClutterActor Checks whether the actor is scaled in either dimension. %TRUE if the actor is scaled. a #ClutterActor Checks whether an actor is marked as visible. See also %CLUTTER_ACTOR_IS_VISIBLE and #ClutterActor:visible. %TRUE if the actor visible a #ClutterActor Puts @self below @above. Both actors must have the same parent, and the parent must implement the #ClutterContainer interface. This function calls clutter_container_lower_child() internally. Use clutter_actor_set_child_below_sibling() instead. A #ClutterActor A #ClutterActor to lower below Lowers @self to the bottom. This function calls clutter_actor_lower() internally. Use clutter_actor_set_child_below_sibling() with a %NULL sibling, instead. A #ClutterActor 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. Calling this function is strongly disencouraged: the default implementation of #ClutterActorClass.map() will map all the children of an actor when mapping its parent. When overriding map, it is mandatory to chain up to the parent implementation. A #ClutterActor 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. Use #ClutterActor:pivot-point and clutter_actor_set_translation() instead. a #ClutterActor 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. Use #ClutterActor:pivot-point and clutter_actor_set_translation() instead. a #ClutterActor #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(), or with an additional translation, using clutter_actor_set_translation(). A #ClutterActor Distance to move Actor on X axis. Distance to move Actor on Y axis. Checks whether an actor, or any of its children, is set to expand horizontally or vertically. This function should only be called by layout managers that can assign extra space to their children. If you want to know whether the actor was explicitly set to expand, use clutter_actor_get_x_expand() or clutter_actor_get_y_expand(). %TRUE if the actor should expand a #ClutterActor the direction of expansion 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. A #ClutterActor Disables the effects of clutter_actor_push_internal(). All children of an actor are accessible through the #ClutterActor API. This function is only useful for legacy containers overriding the default implementation of the #ClutterContainer interface. a #ClutterActor Should be used by actors implementing the #ClutterContainer and with internal children added through clutter_actor_set_parent(), for instance: |[<!-- language="C" --> static void my_actor_init (MyActor *self) { self->priv = my_actor_get_instance_private (self); clutter_actor_push_internal (CLUTTER_ACTOR (self)); // calling clutter_actor_set_parent() now will result in // the internal flag being set on a child of MyActor // internal child - a background texture self->priv->background_tex = clutter_texture_new (); clutter_actor_set_parent (self->priv->background_tex, CLUTTER_ACTOR (self)); // internal child - a label self->priv->label = clutter_text_new (); clutter_actor_set_parent (self->priv->label, CLUTTER_ACTOR (self)); clutter_actor_pop_internal (CLUTTER_ACTOR (self)); // calling clutter_actor_set_parent() now will not result in // the internal flag being set on a child of MyActor } ]| 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. All children of an actor are accessible through the #ClutterActor API, and #ClutterActor implements the #ClutterContainer interface, so this function is only useful for legacy containers overriding the default implementation. a #ClutterActor 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. A #ClutterActor Queues a redraw on @self limited to a specific, actor-relative rectangular area. If @clip is %NULL this function is equivalent to clutter_actor_queue_redraw(). a #ClutterActor a rectangular clip region, or %NULL 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. A #ClutterActor Puts @self above @below. Both actors must have the same parent, and the parent must implement the #ClutterContainer interface This function calls clutter_container_raise_child() internally. Use clutter_actor_set_child_above_sibling() instead. A #ClutterActor A #ClutterActor to raise above. Raises @self to the top. This function calls clutter_actor_raise() internally. Use clutter_actor_set_child_above_sibling() with a %NULL sibling, instead. A #ClutterActor 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. Actors are automatically realized, and nothing requires explicit realization. A #ClutterActor Removes @action from the list of actions applied to @self The reference held by @self on the #ClutterAction will be released a #ClutterActor a #ClutterAction Removes the #ClutterAction with the given name from the list of actions applied to @self a #ClutterActor the name of the action to remove Removes all children of @self. This function releases the reference added by inserting a child actor in the list of children of @self. If the reference count of a child drops to zero, the child will be destroyed. If you want to ensure the destruction of all the children of @self, use clutter_actor_destroy_all_children(). a #ClutterActor Removes all transitions associated to @self. a #ClutterActor Removes @child from the children of @self. This function will release the reference added by clutter_actor_add_child(), so if you want to keep using @child you will have to acquire a referenced on it before calling this function. This function will emit the #ClutterContainer::actor-removed signal on @self. a #ClutterActor a #ClutterActor Removes clip area from @self. A #ClutterActor Removes @constraint from the list of constraints applied to @self The reference held by @self on the #ClutterConstraint will be released a #ClutterActor a #ClutterConstraint Removes the #ClutterConstraint with the given name from the list of constraints applied to @self a #ClutterActor 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 #ClutterActor a #ClutterEffect Removes the #ClutterEffect with the given name from the list of effects applied to @self a #ClutterActor the name of the effect to remove Removes the transition stored inside a #ClutterActor using @name identifier. If the transition is currently in progress, it will be stopped. This function releases the reference acquired when the transition was added to the #ClutterActor. a #ClutterActor the name of the transition to remove Resets the parent actor of @self. This function is logically equivalent to calling clutter_actor_unparent() and clutter_actor_set_parent(), but more efficiently implemented, as it ensures the child is not finalized when unparented, and emits the #ClutterActor::parent-set signal only once. In reality, calling this function is less useful than it sounds, as some application code may rely on changes in the intermediate state between removal and addition of the actor from its old parent to the @new_parent. Thus, it is strongly encouraged to avoid using this function in application code. Use clutter_actor_remove_child() and clutter_actor_add_child() instead; remember to take a reference on the actor being removed before calling clutter_actor_remove_child() to avoid the reference count dropping to zero and the actor being destroyed. a #ClutterActor the new #ClutterActor parent Replaces @old_child with @new_child in the list of children of @self. a #ClutterActor the child of @self to replace the #ClutterActor to replace @old_child Restores the easing state as it was prior to a call to clutter_actor_save_easing_state(). a #ClutterActor Saves the current easing state for animatable properties, and creates a new state with the default values for easing mode and duration. New transitions created after calling this function will inherit the duration, easing mode, and delay of the new easing state; this also applies to transitions modified in flight. a #ClutterActor Stores the allocation of @self as defined by @box. This function can only be called from within the implementation of the #ClutterActorClass.allocate() virtual function. The allocation should have been adjusted to take into account constraints, alignment, and margin properties. If you are implementing a #ClutterActor subclass that provides its own layout management policy for its children instead of using a #ClutterLayoutManager delegate, you should not call this function on the children of @self; instead, you should call clutter_actor_allocate(), which will adjust the allocation box for you. This function should only be used by subclasses of #ClutterActor that wish to store their allocation but cannot chain up to the parent's implementation; the default implementation of the #ClutterActorClass.allocate() virtual function will call this function. It is important to note that, while chaining up was the recommended behaviour for #ClutterActor subclasses prior to the introduction of this function, it is recommended to call clutter_actor_set_allocation() instead. If the #ClutterActor is using a #ClutterLayoutManager delegate object to handle the allocation of its children, this function will call the clutter_layout_manager_allocate() function only if the %CLUTTER_DELEGATE_LAYOUT flag is set on @flags, otherwise it is expected that the subclass will call clutter_layout_manager_allocate() by itself. For instance, the following code: |[<!-- language="C" --> static void my_actor_allocate (ClutterActor *actor, const ClutterActorBox *allocation, ClutterAllocationFlags flags) { ClutterActorBox new_alloc; ClutterAllocationFlags new_flags; adjust_allocation (allocation, &new_alloc); new_flags = flags | CLUTTER_DELEGATE_LAYOUT; // this will use the layout manager set on the actor clutter_actor_set_allocation (actor, &new_alloc, new_flags); } ]| is equivalent to this: |[<!-- language="C" --> static void my_actor_allocate (ClutterActor *actor, const ClutterActorBox *allocation, ClutterAllocationFlags flags) { ClutterLayoutManager *layout; ClutterActorBox new_alloc; adjust_allocation (allocation, &new_alloc); clutter_actor_set_allocation (actor, &new_alloc, flags); layout = clutter_actor_get_layout_manager (actor); clutter_layout_manager_allocate (layout, CLUTTER_CONTAINER (actor), &new_alloc, flags); } ]| a #ClutterActor a #ClutterActorBox allocation flags 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. Use #ClutterActor:pivot-point instead. a #ClutterActor 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. Use #ClutterActor:pivot-point and clutter_actor_set_translation() instead. E.g. For %CLUTTER_GRAVITY_CENTER set pivot_point to (0.5,0.5) and the translation to (width/2,height/2). a #ClutterActor #ClutterGravity. Sets the background color of a #ClutterActor. The background color will be used to cover the whole allocation of the actor. The default background color of an actor is transparent. To check whether an actor has a background color, you can use the #ClutterActor:background-color-set actor property. The #ClutterActor:background-color property is animatable. a #ClutterActor a #ClutterColor, or %NULL to unset a previously set color Sets @child to be above @sibling in the list of children of @self. If @sibling is %NULL, @child will be the new last child of @self. This function is logically equivalent to removing @child and using clutter_actor_insert_child_above(), but it will not emit signals or change state on @child. a #ClutterActor a #ClutterActor child of @self a #ClutterActor child of @self, or %NULL Changes the index of @child in the list of children of @self. This function is logically equivalent to removing @child and calling clutter_actor_insert_child_at_index(), but it will not emit signals or change state on @child. a #ClutterActor a #ClutterActor child of @self the new index for @child Sets @child to be below @sibling in the list of children of @self. If @sibling is %NULL, @child will be the new first child of @self. This function is logically equivalent to removing @self and using clutter_actor_insert_child_below(), but it will not emit signals or change state on @child. a #ClutterActor a #ClutterActor child of @self a #ClutterActor child of @self, or %NULL Sets the transformation matrix to be applied to all the children of @self prior to their own transformations. The default child transformation is the identity matrix. If @transform is %NULL, the child transform will be unset. The #ClutterActor:child-transform property is animatable. a #ClutterActor a #ClutterMatrix, or %NULL 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. A #ClutterActor 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 a #ClutterActor %TRUE to apply a clip tracking the allocation Sets the contents of a #ClutterActor. a #ClutterActor a #ClutterContent, or %NULL Sets the gravity of the #ClutterContent used by @self. See the description of the #ClutterActor:content-gravity property for more information. The #ClutterActor:content-gravity property is animatable. a #ClutterActor the #ClutterContentGravity Sets the policy for repeating the #ClutterActor:content of a #ClutterActor. The behaviour is deferred to the #ClutterContent implementation. a #ClutterActor the repeat policy Sets the minification and magnification filter to be applied when scaling the #ClutterActor:content of a #ClutterActor. The #ClutterActor:minification-filter will be used when reducing the size of the content; the #ClutterActor:magnification-filter will be used when increasing the size of the content. a #ClutterActor the minification filter for the content the magnification filter for the content 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(). Use clutter_actor_set_z_position() instead. a #ClutterActor Z co-ord Sets the delay that should be applied before tweening animatable properties. a #ClutterActor the delay before the start of the tweening, in milliseconds Sets the duration of the tweening for animatable properties of @self for the current easing state. a #ClutterActor the duration of the easing, or %NULL Sets the easing mode for the tweening of animatable properties of @self. a #ClutterActor an easing mode, excluding %CLUTTER_CUSTOM_MODE Sets whether an actor has a fixed position set (and will thus be unaffected by any layout manager). A #ClutterActor whether to use fixed position Sets @flags on @self This function will emit notifications for the changed properties a #ClutterActor 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(). Use clutter_actor_set_position() and clutter_actor_set_size() instead. A #ClutterActor A #ClutterGeometry Forces a height on an actor, causing the actor's preferred width and height (if any) to be ignored. If @height is -1 the actor will use its preferred height instead of overriding it, i.e. you can "unset" the height with -1. This function sets both the minimum and natural size of the actor. A #ClutterActor Requested new height for the actor, in pixels, or -1 Sets the #ClutterLayoutManager delegate object that will be used to lay out the children of @self. The #ClutterActor will take a reference on the passed @manager which will be released either when the layout manager is removed, or when the actor is destroyed. a #ClutterActor a #ClutterLayoutManager, or %NULL to unset it Sets all the components of the margin of a #ClutterActor. a #ClutterActor a #ClutterMargin Sets the margin from the bottom of a #ClutterActor. The #ClutterActor:margin-bottom property is animatable. a #ClutterActor the bottom margin Sets the margin from the left of a #ClutterActor. The #ClutterActor:margin-left property is animatable. a #ClutterActor the left margin Sets the margin from the right of a #ClutterActor. The #ClutterActor:margin-right property is animatable. a #ClutterActor the right margin Sets the margin from the top of a #ClutterActor. The #ClutterActor:margin-top property is animatable. a #ClutterActor the top margin Sets the given name to @self. The name can be used to identify a #ClutterActor. A #ClutterActor Textual tag to apply to actor Defines the circumstances where the actor should be redirected into an offscreen image. The offscreen image is used to flatten the actor into a single image while painting for two main reasons. Firstly, when the actor is painted a second time without any of its contents changing it can simply repaint the cached image without descending further down the actor hierarchy. Secondly, it will make the opacity look correct even if there are overlapping primitives in the actor. Caching the actor could in some cases be a performance win and in some cases be a performance lose so it is important to determine which value is right for an actor before modifying this value. For example, there is never any reason to flatten an actor that is just a single texture (such as a #ClutterTexture) because it is effectively already cached in an image so the offscreen would be redundant. Also if the actor contains primitives that are far apart with a large transparent area in the middle (such as a large CluterGroup with a small actor in the top left and a small actor in the bottom right) then the cached image will contain the entire image of the large area and the paint will waste time blending all of the transparent pixels in the middle. The default method of implementing opacity on a container simply forwards on the opacity to all of the children. If the children are overlapping then it will appear as if they are two separate glassy objects and there will be a break in the color where they overlap. By redirecting to an offscreen buffer it will be as if the two opaque objects are combined into one and then made transparent which is usually what is expected. The image below demonstrates the difference between redirecting and not. The image shows two Clutter groups, each containing a red and a green rectangle which overlap. The opacity on the group is set to 128 (which is 50%). When the offscreen redirect is not used, the red rectangle can be seen through the blue rectangle as if the two rectangles were separately transparent. When the redirect is used the group as a whole is transparent instead so the red rectangle is not visible where they overlap. <figure id="offscreen-redirect"> <title>Sample of using an offscreen redirect for transparency</title> <graphic fileref="offscreen-redirect.png" format="PNG"/> </figure> The default value for this property is 0, so we effectively will never redirect an actor offscreen by default. This means that there are times that transparent actors may look glassy as described above. The reason this is the default is because there is a performance trade off between quality and performance here. In many cases the default form of glassy opacity looks good enough, but if it's not you will need to set the %CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY flag to enable redirection for opacity. Custom actors that don't contain any overlapping primitives are recommended to override the has_overlaps() virtual to return %FALSE for maximum efficiency. A #ClutterActor New offscreen redirect flags for the actor. Sets the actor's opacity, with zero being completely transparent and 255 (0xff) being fully opaque. The #ClutterActor:opacity property is animatable. A #ClutterActor New opacity value for the actor. Sets the parent of @self to @parent. This function will result in @parent acquiring a reference on @self, eventually by sinking its floating reference first. The reference will be released by clutter_actor_unparent(). This function should only be called by legacy #ClutterActor<!-- -->s implementing the #ClutterContainer interface. Use clutter_actor_add_child() instead. A #ClutterActor A new #ClutterActor parent Sets the position of the #ClutterActor:pivot-point around which the scaling and rotation transformations occur. The pivot point's coordinates are in normalized space, with the (0, 0) point being the top left corner of the actor, and the (1, 1) point being the bottom right corner. a #ClutterActor the normalized X coordinate of the pivot point the normalized Y coordinate of the pivot point Sets the component on the Z axis of the #ClutterActor:pivot-point around which the scaling and rotation transformations occur. The @pivot_z value is expressed as a distance along the Z axis. a #ClutterActor the Z coordinate of the actor's pivot point Sets the actor's fixed position in pixels relative to any parent actor. If a layout manager is in use, this position will override the layout manager and force a fixed position. A #ClutterActor New left position of actor in pixels. New top position of actor in pixels. Sets @actor as reactive. Reactive actors will receive events. a #ClutterActor 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() a #ClutterActor the request mode Sets the rotation angle of @self around the given axis. The rotation center coordinates used depend on the value of @axis: - %CLUTTER_X_AXIS requires @y and @z - %CLUTTER_Y_AXIS requires @x and @z - %CLUTTER_Z_AXIS requires @x and @y 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. Use clutter_actor_set_rotation_angle() and clutter_actor_set_pivot_point() instead. a #ClutterActor 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 Sets the @angle of rotation of a #ClutterActor on the given @axis. This function is a convenience for setting the rotation properties #ClutterActor:rotation-angle-x, #ClutterActor:rotation-angle-y, and #ClutterActor:rotation-angle-z. The center of rotation is established by the #ClutterActor:pivot-point property. a #ClutterActor the axis to set the angle one the angle of rotation, in degrees Scales an actor with the given factors. The scale transformation is relative the the #ClutterActor:pivot-point. The #ClutterActor:scale-x and #ClutterActor:scale-y properties are animatable. A #ClutterActor 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). The #ClutterActor:scale-x and #ClutterActor:scale-y properties are animatable. Use clutter_actor_set_pivot_point() to control the scale center A #ClutterActor double factor to scale actor by horizontally. double factor to scale actor by vertically. X coordinate of the center of the scaling Y coordinate of the center of the scaling 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. The #ClutterActor:scale-x and #ClutterActor:scale-y properties are animatable. Use clutter_actor_set_pivot_point() to set the scale center using normalized coordinates instead. A #ClutterActor 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. Scales an actor on the Z axis by the given @scale_z factor. The scale transformation is relative the the #ClutterActor:pivot-point. The #ClutterActor:scale-z property is animatable. a #ClutterActor the scaling factor along the Z axis Sets the #ClutterShader to be used when rendering @self. If @shader is %NULL this function will unset any currently set shader for the actor. Any #ClutterEffect applied to @self will take the precedence over the #ClutterShader set using this function. Use #ClutterShaderEffect and clutter_actor_add_effect() instead. %TRUE if the shader was successfully applied or removed a #ClutterActor a #ClutterShader or %NULL to unset the shader. Sets the value for a named parameter of the shader applied to @actor. Use clutter_shader_effect_set_uniform_value() instead a #ClutterActor the name of the parameter the value of the parameter Sets the value for a named float parameter of the shader applied to @actor. Use clutter_shader_effect_set_uniform() instead a #ClutterActor the name of the parameter the value of the parameter Sets the value for a named int parameter of the shader applied to @actor. Use clutter_shader_effect_set_uniform() instead a #ClutterActor the name of the parameter the value of the parameter Sets the actor's size request in pixels. This overrides any "normal" size request the actor would have. For example a text actor might normally request the size of the text; this function would force a specific size instead. If @width and/or @height are -1 the actor will use its "normal" size request instead of overriding it, i.e. you can "unset" the size with -1. This function sets or unsets both the minimum and natural size. A #ClutterActor New width of actor in pixels, or -1 New height of actor in pixels, or -1 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 a #ClutterActor the text direction for @self Overrides the transformations of a #ClutterActor with a custom matrix, which will be applied relative to the origin of the actor's allocation and to the actor's pivot point. The #ClutterActor:transform property is animatable. a #ClutterActor a #ClutterMatrix, or %NULL to unset a custom transformation Sets an additional translation transformation on a #ClutterActor, relative to the #ClutterActor:pivot-point. a #ClutterActor the translation along the X axis the translation along the Y axis the translation along the Z axis Forces a width on an actor, causing the actor's preferred width and height (if any) to be ignored. If @width is -1 the actor will use its preferred width request instead of overriding it, i.e. you can "unset" the width with -1. This function sets both the minimum and natural size of the actor. A #ClutterActor Requested new width for the actor, in pixels, or -1 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 #ClutterActor:x property is animatable. a #ClutterActor the actor's position on the X axis Sets the horizontal alignment policy of a #ClutterActor, in case the actor received extra horizontal space. See also the #ClutterActor:x-align property. a #ClutterActor the horizontal alignment policy Sets whether a #ClutterActor should expand horizontally; this means that layout manager should allocate extra space for the actor, if possible. Setting an actor to expand will also make all its parent expand, so that it's possible to build an actor tree and only set this flag on its leaves and not on every single actor. a #ClutterActor whether the actor should expand horizontally 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 #ClutterActor:y property is animatable. a #ClutterActor the actor's position on the Y axis Sets the vertical alignment policy of a #ClutterActor, in case the actor received extra vertical space. See also the #ClutterActor:y-align property. a #ClutterActor the vertical alignment policy Sets whether a #ClutterActor should expand horizontally; this means that layout manager should allocate extra space for the actor, if possible. Setting an actor to expand will also make all its parent expand, so that it's possible to build an actor tree and only set this flag on its leaves and not on every single actor. a #ClutterActor whether the actor should expand vertically Sets the actor's position on the Z axis. See #ClutterActor:z-position. a #ClutterActor the position on the Z 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. Use clutter_actor_set_rotation_angle() and clutter_actor_set_pivot_point() instead. a #ClutterActor 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. %TRUE if the actor should paint its silhouette, %FALSE otherwise A #ClutterActor 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. A #ClutterActor Calls clutter_actor_show() on all children of an actor (if any). Actors are visible by default a #ClutterActor 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. This function can be computationally intensive. This function only works when the allocation is up-to-date, i.e. inside of the #ClutterActorClass.paint() implementation %TRUE if conversion was successful. A #ClutterActor 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. Calling this function is not encouraged: the default #ClutterActor implementation of #ClutterActorClass.unmap() will also unmap any eventual children by default when their parent is unmapped. When overriding #ClutterActorClass.unmap(), it is mandatory to chain up to the parent implementation. It is important to note that the implementation of the #ClutterActorClass.unmap() virtual function may be called after the #ClutterActorClass.destroy() or the #GObjectClass.dispose() implementation, but it is guaranteed to be called before the #GObjectClass.finalize() implementation. A #ClutterActor Removes the parent of @self. This will cause the parent of @self to release the reference acquired when calling clutter_actor_set_parent(), so if you want to keep @self you will have to acquire a reference of your own, through g_object_ref(). This function should only be called by legacy #ClutterActor<!-- -->s implementing the #ClutterContainer interface. Use clutter_actor_remove_child() instead. a #ClutterActor 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. This function should not really be in the public API, because there isn't a good reason to call it. ClutterActor will already unrealize things for you when it's important to do so. If you were using clutter_actor_unrealize() in a dispose implementation, then don't, just chain up to ClutterActor's dispose. If you were using clutter_actor_unrealize() to implement unrealizing children of your container, then don't, ClutterActor will already take care of that. Actors are automatically unrealized, and nothing requires explicit realization. A #ClutterActor Unsets @flags on @self This function will emit notifications for the changed properties a #ClutterActor 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 It is highly recommended not to use #ClutterActor:anchor-x, #ClutterActor:anchor-y, and #ClutterActor:anchor-gravity in newly written code; the anchor point adds an additional translation that will affect the actor's relative position with regards to its parent, as well as the position of its children. This change needs to always be taken into account when positioning the actor. It is recommended to use the #ClutterActor:pivot-point property instead, as it will affect only the transformations. Use #ClutterActor:pivot-point instead The X coordinate of an actor's anchor point, relative to the actor coordinate space, in pixels. It is highly recommended not to use #ClutterActor:anchor-x, #ClutterActor:anchor-y, and #ClutterActor:anchor-gravity in newly written code; the anchor point adds an additional translation that will affect the actor's relative position with regards to its parent, as well as the position of its children. This change needs to always be taken into account when positioning the actor. It is recommended to use the #ClutterActor:pivot-point property instead, as it will affect only the transformations. Use #ClutterActor:pivot-point instead The Y coordinate of an actor's anchor point, relative to the actor coordinate space, in pixels It is highly recommended not to use #ClutterActor:anchor-x, #ClutterActor:anchor-y, and #ClutterActor:anchor-gravity in newly written code; the anchor point adds an additional translation that will affect the actor's relative position with regards to its parent, as well as the position of its children. This change needs to always be taken into account when positioning the actor. It is recommended to use the #ClutterActor:pivot-point property instead, as it will affect only the transformations. Use #ClutterActor:pivot-point instead Paints a solid fill of the actor's allocation using the specified color. The #ClutterActor:background-color property is animatable. Whether the #ClutterActor:background-color property has been set. Applies a transformation matrix on each child of an actor. Setting this property with a #ClutterMatrix will set the #ClutterActor:child-transform-set property to %TRUE as a side effect; setting this property with %NULL will set the #ClutterActor:child-transform-set property to %FALSE. The #ClutterActor:child-transform property is animatable. Whether the #ClutterActor:child-transform property is set. The visible region of the actor, in actor-relative coordinates Use #ClutterActor:clip-rect instead. The visible region of the actor, in actor-relative coordinates, expressed as a #ClutterRect. Setting this property to %NULL will unset the existing clip. Setting this property will change the #ClutterActor:has-clip property as a side effect. 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 #ClutterContent implementation that controls the content of the actor. The bounding box for the #ClutterContent used by the actor. The value of this property is controlled by the #ClutterActor:allocation and #ClutterActor:content-gravity properties of #ClutterActor. The bounding box for the content is guaranteed to never exceed the allocation's of the actor. The alignment that should be honoured by the #ClutterContent set with the #ClutterActor:content property. Changing the value of this property will change the bounding box of the content; you can use the #ClutterActor:content-box property to get the position and size of the content within the actor's allocation. This property is meaningful only for #ClutterContent implementations that have a preferred size, and if the preferred size is smaller than the actor's allocation. The #ClutterActor:content-gravity property is animatable. The repeat policy for the actor's #ClutterActor:content. The position of the actor on the Z axis. The #ClutterActor:depth property is relative to the parent's modelview matrix. Setting this property will call #ClutterContainerIface.sort_depth_order() which is usually a no-op, and it's most likely not what you want. The #ClutterActor:depth property is animatable. Use #ClutterActor:z-position instead. Adds #ClutterEffect to the list of effects be applied on a #ClutterActor The actor's first child. 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. The #ClutterActor:height property is animatable. The actor's last child. A delegate object for controlling the layout of the children of an actor. Whether the actor is mapped (will be painted when the stage to which it belongs is mapped) The margin (in pixels) from the bottom of the actor. This property adds a margin to the actor's preferred size; the margin will be automatically taken into account when allocating the actor. The #ClutterActor:margin-bottom property is animatable. The margin (in pixels) from the left of the actor. This property adds a margin to the actor's preferred size; the margin will be automatically taken into account when allocating the actor. The #ClutterActor:margin-left property is animatable. The margin (in pixels) from the right of the actor. This property adds a margin to the actor's preferred size; the margin will be automatically taken into account when allocating the actor. The #ClutterActor:margin-right property is animatable. The margin (in pixels) from the top of the actor. This property adds a margin to the actor's preferred size; the margin will be automatically taken into account when allocating the actor. The #ClutterActor:margin-top property is animatable. 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 Determines the conditions in which the actor will be redirected to an offscreen framebuffer while being painted. For example this can be used to cache an actor in a framebuffer or for improved handling of transparent actors. See clutter_actor_set_offscreen_redirect() for details. Opacity of an actor, between 0 (fully transparent) and 255 (fully opaque) The #ClutterActor:opacity property is animatable. The point around which the scaling and rotation transformations occur. The pivot point is expressed in normalized coordinates space, with (0, 0) being the top left corner of the actor and (1, 1) the bottom right corner of the actor. The default pivot point is located at (0, 0). The #ClutterActor:pivot-point property is animatable. The Z component of the #ClutterActor:pivot-point, expressed as a value along the Z axis. The #ClutterActor:pivot-point-z property is animatable. The position of the origin of the actor. This property is a shorthand for setting and getting the #ClutterActor:x and #ClutterActor:y properties at the same time. The #ClutterActor:position property is animatable. 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: |[<!-- language="C" --> 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, &min_width, &natural_width); clutter_actor_get_preferred_height (child, natural_width, &min_height, &natural_height); } else if (mode == CLUTTER_REQUEST_WIDTH_FOR_HEIGHT) { clutter_actor_get_preferred_height (child, -1, &min_height, &natural_height); clutter_actor_get_preferred_width (child, natural_height, &min_width, &natural_width); } else if (mode == CLUTTER_REQUEST_CONTENT_SIZE) { ClutterContent *content = clutter_actor_get_content (child); min_width, min_height = 0; natural_width = natural_height = 0; if (content != NULL) clutter_content_get_preferred_size (content, &natural_width, &natural_height); } ]| 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 #ClutterActor:rotation-angle-x property is animatable. The rotation angle on the Y axis The #ClutterActor:rotation-angle-y property is animatable. The rotation angle on the Z axis The #ClutterActor:rotation-angle-z property is animatable. The rotation center on the X axis. Use #ClutterActor:pivot-point instead The rotation center on the Y axis. Use #ClutterActor:pivot-point instead The rotation center on the Z axis. Use #ClutterActor:pivot-point instead The rotation center on the Z axis expressed as a #ClutterGravity. Use #ClutterActor:pivot-point instead The horizontal center point for scaling Use #ClutterActor:pivot-point instead The vertical center point for scaling Use #ClutterActor:pivot-point instead The center point for scaling expressed as a #ClutterGravity Use #ClutterActor:pivot-point instead The horizontal scale of the actor. The #ClutterActor:scale-x property is animatable. The vertical scale of the actor. The #ClutterActor:scale-y property is animatable. The scale factor of the actor along the Z axis. The #ClutterActor:scale-y property is animatable. 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. The size of the actor. This property is a shorthand for setting and getting the #ClutterActor:width and #ClutterActor:height at the same time. The #ClutterActor:size property is animatable. The direction of the text inside a #ClutterActor. Overrides the transformations of a #ClutterActor with a custom matrix. The matrix specified by the #ClutterActor:transform property is applied to the actor and its children relative to the actor's #ClutterActor:allocation and #ClutterActor:pivot-point. Application code should rarely need to use this function directly. Setting this property with a #ClutterMatrix will set the #ClutterActor:transform-set property to %TRUE as a side effect; setting this property with %NULL will set the #ClutterActor:transform-set property to %FALSE. The #ClutterActor:transform property is animatable. Whether the #ClutterActor:transform property is set. An additional translation applied along the X axis, relative to the actor's #ClutterActor:pivot-point. The #ClutterActor:translation-x property is animatable. An additional translation applied along the Y axis, relative to the actor's #ClutterActor:pivot-point. The #ClutterActor:translation-y property is animatable. An additional translation applied along the Z axis, relative to the actor's #ClutterActor:pivot-point. The #ClutterActor:translation-z property is animatable. 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. The #ClutterActor:width property is animatable. 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. The #ClutterActor:x property is animatable. The alignment of an actor on the X axis, if the actor has been given extra space for its allocation. See also the #ClutterActor:x-expand property. Whether a layout manager should assign more space to the actor on the X axis. 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 #ClutterActor:y property is animatable. The alignment of an actor on the Y axis, if the actor has been given extra space for its allocation. Whether a layout manager should assign more space to the actor on the Y axis. The actor's position on the Z axis, relative to the parent's transformations. Positive values will bring the actor's position nearer to the user, whereas negative values will bring the actor's position farther from the user. The #ClutterActor:z-position does not affect the paint or allocation order. The #ClutterActor:z-position property is animatable. #ClutterActorFlags 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. %TRUE if the event has been handled by the actor, or %FALSE to continue the emission. a #ClutterButtonEvent The ::button-release-event signal is emitted each time a mouse button is released on @actor. %TRUE if the event has been handled by the actor, or %FALSE to continue the emission. 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. %TRUE if the event has been handled by the actor, or %FALSE to continue the emission. a #ClutterEvent The ::destroy signal notifies that all references held on the actor which emitted it should be released. The ::destroy signal should be used by all holders of a reference on @actor. This signal might result in the finalization of the #ClutterActor if all references are released. Composite actors and actors implementing the #ClutterContainer interface should override the default implementation of the class handler of this signal and call clutter_actor_destroy() on their children. When overriding the default class handler, it is required to chain up to the parent's implementation. The ::enter-event signal is emitted when the pointer enters the @actor %TRUE if the event has been handled by the actor, or %FALSE to continue the emission. 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). %TRUE if the event has been handled by the actor, or %FALSE to continue the emission. 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()). %TRUE if the event has been handled by the actor, or %FALSE to continue the emission. 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()). %TRUE if the event has been handled by the actor, or %FALSE to continue the emission. a #ClutterKeyEvent The ::leave-event signal is emitted when the pointer leaves the @actor. %TRUE if the event has been handled by the actor, or %FALSE to continue the emission. a #ClutterCrossingEvent The ::motion-event signal is emitted each time the mouse pointer is moved over @actor. %TRUE if the event has been handled by the actor, or %FALSE to continue the emission. a #ClutterMotionEvent The ::paint signal is emitted each time an actor is being painted. Subclasses of #ClutterActor should override the #ClutterActorClass.paint virtual function paint themselves in that function. It is strongly discouraged to connect a signal handler to the #ClutterActor::paint signal; if you want to change the paint sequence of an existing #ClutterActor instance, either create a new #ClutterActor class and override the #ClutterActorClass.paint virtual function, or use a #ClutterEffect. The #ClutterActor::paint signal will be removed in a future version of Clutter. Override the #ClutterActorClass.paint virtual function, use a #ClutterContent implementation, or a #ClutterEffect instead of connecting to this signal. 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. Override the #ClutterActorClass.pick virtual function instead. 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_stage_ensure_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_stage_ensure_redraw() themselves, like: |[<!-- language="C" --> static void on_redraw_complete (gpointer data) { ClutterStage *stage = data; // execute the Clutter drawing pipeline clutter_stage_ensure_redraw (stage); } static void on_stage_queue_redraw (ClutterStage *stage) { // this prevents the default handler to run g_signal_stop_emission_by_name (stage, "queue-redraw"); // queue a redraw with the host toolkit and call // a function when the redraw has been completed queue_a_redraw (G_CALLBACK (on_redraw_complete), stage); } ]| Note: This signal is emitted before the Clutter paint pipeline is executed. If you want to know when the pipeline has been completed you should use clutter_threads_add_repaint_func() or clutter_threads_add_repaint_func_full(). the actor which initiated the redraw request The ::queue_layout signal is emitted when clutter_actor_queue_relayout() is called on an actor. The default implementation for #ClutterActor chains up to the parent actor and queues a relayout on the parent, thus "bubbling" the relayout queue up through the actor graph. The main purpose of this signal is to allow relayout to be propagated properly in the presence of #ClutterClone actors. Applications will not normally need to connect to this signal. The ::realize signal is emitted each time an actor is being realized. The signal should not be used in newly written code The ::scroll-event signal is emitted each time the mouse is scrolled on @actor %TRUE if the event has been handled by the actor, or %FALSE to continue the emission. a #ClutterScrollEvent The ::show signal is emitted when an actor is visible and rendered on the stage. The ::touch-event signal is emitted each time a touch begin/end/update/cancel event. %CLUTTER_EVENT_STOP if the event has been handled by the actor, or %CLUTTER_EVENT_PROPAGATE to continue the emission. a #ClutterEvent The ::transition-stopped signal is emitted once a transition is stopped; a transition is stopped once it reached its total duration (including eventual repeats), it has been stopped using clutter_timeline_stop(), or it has been removed from the transitions applied on @actor, using clutter_actor_remove_transition(). the name of the transition whether the transition was finished, or stopped The ::transitions-completed signal is emitted once all transitions involving @actor are complete. The ::unrealize signal is emitted each time an actor is being unrealized. The signal should not be used in newly written code Controls how a #ClutterActor should align itself inside the extra space assigned to it during the allocation. Alignment only matters if the allocated space given to an actor is bigger than its natural size; for example, when the #ClutterActor:x-expand or the #ClutterActor:y-expand properties of #ClutterActor are set to %TRUE. Stretch to cover the whole allocated space Snap to left or top side, leaving space to the right or bottom. For horizontal layouts, in right-to-left locales this should be reversed. Center the actor inside the allocation Snap to right or bottom side, leaving space to the left or top. For horizontal layouts, in right-to-left locales this should be reversed. 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 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 Allocates a new #ClutterActorBox using the passed coordinates for the top left and bottom right points. This function is the logical equivalent of: |[ clutter_actor_box_init (clutter_actor_box_alloc (), x_1, y_1, x_2, y_2); ]| the newly allocated #ClutterActorBox. Use clutter_actor_box_free() to free the resources 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 the #ClutterActorBox to clamp Checks whether a point with @x, @y coordinates is contained withing @box %TRUE if the point is contained by the #ClutterActorBox a #ClutterActorBox X coordinate of the point Y coordinate of the point Copies @box a newly allocated copy of #ClutterActorBox. Use clutter_actor_box_free() to free the allocated resources a #ClutterActorBox Checks @box_a and @box_b for equality %TRUE if the passed #ClutterActorBox are equal a #ClutterActorBox a #ClutterActorBox Frees a #ClutterActorBox allocated using clutter_actor_box_new() or clutter_actor_box_copy() a #ClutterActorBox Calculates the bounding box represented by the four vertices; for details of the vertex array see clutter_actor_get_abs_allocation_vertices(). a #ClutterActorBox array of four #ClutterVertex Retrieves the area of @box the area of a #ClutterActorBox, in pixels a #ClutterActorBox Retrieves the height of the @box the height of the box a #ClutterActorBox Retrieves the origin of @box a #ClutterActorBox return location for the X coordinate, or %NULL return location for the Y coordinate, or %NULL Retrieves the size of @box a #ClutterActorBox 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 a #ClutterActorBox Retrieves the X coordinate of the origin of @box the X coordinate of the origin a #ClutterActorBox Retrieves the Y coordinate of the origin of @box the Y coordinate of the origin a #ClutterActorBox Initializes @box with the given coordinates. the initialized #ClutterActorBox a #ClutterActorBox 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 Initializes @box with the given origin and size. a #ClutterActorBox X coordinate of the origin Y coordinate of the origin width of the box height of the box Interpolates between @initial and @final #ClutterActorBox<!-- -->es using @progress the initial #ClutterActorBox the final #ClutterActorBox the interpolation progress return location for the interpolation Changes the origin of @box, maintaining the size of the #ClutterActorBox. a #ClutterActorBox the X coordinate of the new origin the Y coordinate of the new origin Sets the size of @box, maintaining the origin of the #ClutterActorBox. a #ClutterActorBox the new width the new height Unions the two boxes @a and @b and stores the result in @result. the first #ClutterActorBox the second #ClutterActorBox the #ClutterActorBox representing a union of @a and @b Allocates a new #ClutterActorBox. the newly allocated #ClutterActorBox. Use clutter_actor_box_free() to free its resources Base class for actors. A #ClutterActor a #ClutterActor A #ClutterActor a #ClutterActor A #ClutterActor A #ClutterActor A #ClutterActor A #ClutterActor A #ClutterActor a #ClutterActor A #ClutterActor 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 A #ClutterActor 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 A #ClutterActor new allocation of the actor, in parent-relative coordinates flags that control the allocation A #ClutterActor the #AtkObject associated with @actor a #ClutterActor %TRUE if the actor may have overlapping primitives, and %FALSE otherwise A #ClutterActor Creates a #ClutterActor using the @item in the model. The usual way to implement this function is to create a #ClutterActor instance and then bind the #GObject properties to the actor properties of interest, using g_object_bind_property(). This way, when the @item in the #GListModel changes, the #ClutterActor changes as well. The newly created child #ClutterActor the item in the model Data passed to clutter_actor_bind_model() Flags used to signal the state of an actor. the actor will be painted (is visible, and inside a toplevel, and all parents visible) the resources associated to the actor have been allocated the actor 'reacts' to mouse events emmitting event signals the actor has been shown by the application program the actor provides an explicit layout management policy for its children; this flag will prevent Clutter from automatic queueing of relayout and will defer all layouting to the actor itself An iterator structure that allows to efficiently iterate over a section of the scene graph. The contents of the #ClutterActorIter structure are private and should only be accessed using the provided API. Safely destroys the #ClutterActor currently pointer to by the iterator from its parent. This function can only be called after clutter_actor_iter_next() or clutter_actor_iter_prev() returned %TRUE, and cannot be called more than once for the same actor. This function will call clutter_actor_destroy() internally. a #ClutterActorIter Initializes a #ClutterActorIter, which can then be used to iterate efficiently over a section of the scene graph, and associates it with @root. Modifying the scene graph section that contains @root will invalidate the iterator. |[<!-- language="C" --> ClutterActorIter iter; ClutterActor *child; clutter_actor_iter_init (&iter, container); while (clutter_actor_iter_next (&iter, &child)) { // do something with child } ]| a #ClutterActorIter a #ClutterActor Checks whether a #ClutterActorIter is still valid. An iterator is considered valid if it has been initialized, and if the #ClutterActor that it refers to hasn't been modified after the initialization. %TRUE if the iterator is valid, and %FALSE otherwise a #ClutterActorIter Advances the @iter and retrieves the next child of the root #ClutterActor that was used to initialize the #ClutterActorIterator. If the iterator can advance, this function returns %TRUE and sets the @child argument. If the iterator cannot advance, this function returns %FALSE, and the contents of @child are undefined. %TRUE if the iterator could advance, and %FALSE otherwise. a #ClutterActorIter return location for a #ClutterActor Advances the @iter and retrieves the previous child of the root #ClutterActor that was used to initialize the #ClutterActorIterator. If the iterator can advance, this function returns %TRUE and sets the @child argument. If the iterator cannot advance, this function returns %FALSE, and the contents of @child are undefined. %TRUE if the iterator could advance, and %FALSE otherwise. a #ClutterActorIter return location for a #ClutterActor Safely removes the #ClutterActor currently pointer to by the iterator from its parent. This function can only be called after clutter_actor_iter_next() or clutter_actor_iter_prev() returned %TRUE, and cannot be called more than once for the same actor. This function will call clutter_actor_remove_child() internally. a #ClutterActorIter The #ClutterActorMeta structure contains only private data and should be accessed using the provided API Virtual function, called when @meta is attached or detached from a #ClutterActor. a #ClutterActorMeta the actor attached to @meta, or %NULL Retrieves a pointer to the #ClutterActor that owns @meta a pointer to a #ClutterActor or %NULL a #ClutterActorMeta Retrieves whether @meta is enabled %TRUE if the #ClutterActorMeta instance is enabled a #ClutterActorMeta Retrieves the name set using clutter_actor_meta_set_name() the name of the #ClutterActorMeta instance, or %NULL if none was set. The returned string is owned by the #ClutterActorMeta instance and it should not be modified or freed a #ClutterActorMeta Sets whether @meta should be enabled or not a #ClutterActorMeta whether @meta is enabled Sets the name of @meta The name can be used to identify the #ClutterActorMeta instance a #ClutterActorMeta 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 #ClutterActorMetaClass structure contains only private data a #ClutterActorMeta the actor attached to @meta, or %NULL Specifies the axis on which #ClutterAlignConstraint should maintain the alignment. Maintain the alignment on the X axis Maintain the alignment on the Y axis Maintain the alignment on both the X and Y axis #ClutterAlignConstraint 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 a #ClutterAlignConstraint Retrieves the factor set using clutter_align_constraint_set_factor() the alignment factor a #ClutterAlignConstraint Retrieves the source of the alignment the #ClutterActor used as the source of the alignment a #ClutterAlignConstraint Sets the axis to which the alignment refers to a #ClutterAlignConstraint 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 a #ClutterAlignConstraint the alignment factor, between 0.0 and 1.0 Sets the source of the alignment constraint a #ClutterAlignConstraint 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. The #ClutterActor must not be a child or a grandchild of the actor using the constraint. Flags passed to the #ClutterActorClass.allocate() virtual function and to the clutter_actor_allocate() function. No flag set Whether the absolute origin of the actor has changed; this implies that any ancestor of the actor has been moved. Whether the allocation should be delegated to the #ClutterLayoutManager instance stored inside the #ClutterActor:layout-manager property of #ClutterActor. This flag should only be used if you are subclassing #ClutterActor and overriding the #ClutterActorClass.allocate() virtual function, but you wish to use the default implementation of the virtual function inside #ClutterActor. Added in Clutter 1.10. #ClutterAlpha combines a #ClutterTimeline and a function. The contents of the #ClutterAlpha structure are private and should only be accessed using the provided API. Use #ClutterTimeline instead 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. Use #ClutterTimeline instead 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(). Use #ClutterTimeline instead 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(). Use #ClutterTimeline instead 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. There is no direct replacement for this function. Use clutter_timeline_set_progress_func() on each specific #ClutterTimeline instance 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. There is no direct replacement for this function. Use clutter_timeline_set_progress_func() on each specific #ClutterTimeline instance the logical id of the alpha function a #ClutterAlphaFunc user data to pass to @func, or %NULL Query the current alpha value. Use clutter_timeline_get_progress() The current alpha value for the alpha A #ClutterAlpha Retrieves the #ClutterAnimationMode used by @alpha. Use #ClutterTimeline instead the animation mode a #ClutterAlpha Gets the #ClutterTimeline bound to @alpha. Use #ClutterTimeline directlry a #ClutterTimeline instance A #ClutterAlpha Sets the #GClosure used to compute the alpha value at each frame of the #ClutterTimeline bound to @alpha. Use clutter_timeline_set_progress_func() A #ClutterAlpha 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. Use clutter_timeline_set_progress_func() A #ClutterAlpha 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(). Use #ClutterTimeline and clutter_timeline_set_progress_mode() instead a #ClutterAlpha a #ClutterAnimationMode Binds @alpha to @timeline. Use #ClutterTimeline directly A #ClutterAlpha 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. Use #ClutterTimeline::new-frame and clutter_timeline_get_progress() instead 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. Use #ClutterTimeline:progress-mode A #ClutterTimeline instance used to drive the alpha function. Base class for #ClutterAlpha Use #ClutterTimeline instead A function returning a value depending on the position of the #ClutterTimeline bound to @alpha. Use #ClutterTimelineProgressFunc instead. 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. Use clutter_animatable_interpolate_value() instead %TRUE if the value has been validated and can be applied to the #ClutterAnimatable, and %FALSE otherwise a #ClutterAnimatable 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 The #GParamSpec for the given property or %NULL a #ClutterAnimatable the name of the animatable property to find Retrieves the current state of @property_name and sets @value with it a #ClutterAnimatable the name of the animatable property to retrieve a #GValue initialized to the type of the property to retrieve Asks a #ClutterAnimatable implementation to interpolate a a named property between the initial and final values of a #ClutterInterval, using @progress as the interpolation value, and store the result inside @value. This function should be used for every property animation involving #ClutterAnimatable<!-- -->s. This function replaces clutter_animatable_animate_property(). %TRUE if the interpolation was successful, and %FALSE otherwise a #ClutterAnimatable the name of the property to interpolate a #ClutterInterval with the animation range the progress to use to interpolate between the initial and final values of the @interval return location for an initialized #GValue using the same type of the @interval Sets the current state of @property_name to @value a #ClutterAnimatable 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. Use clutter_animatable_interpolate_value() instead %TRUE if the value has been validated and can be applied to the #ClutterAnimatable, and %FALSE otherwise a #ClutterAnimatable 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 The #GParamSpec for the given property or %NULL a #ClutterAnimatable the name of the animatable property to find Retrieves the current state of @property_name and sets @value with it a #ClutterAnimatable the name of the animatable property to retrieve a #GValue initialized to the type of the property to retrieve Asks a #ClutterAnimatable implementation to interpolate a a named property between the initial and final values of a #ClutterInterval, using @progress as the interpolation value, and store the result inside @value. This function should be used for every property animation involving #ClutterAnimatable<!-- -->s. This function replaces clutter_animatable_animate_property(). %TRUE if the interpolation was successful, and %FALSE otherwise a #ClutterAnimatable the name of the property to interpolate a #ClutterInterval with the animation range the progress to use to interpolate between the initial and final values of the @interval return location for an initialized #GValue using the same type of the @interval Sets the current state of @property_name to @value a #ClutterAnimatable 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 be applied to the #ClutterAnimatable, and %FALSE otherwise a #ClutterAnimatable 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 or %NULL a #ClutterAnimatable the name of the animatable property to find a #ClutterAnimatable the name of the animatable property to retrieve a #GValue initialized to the type of the property to retrieve a #ClutterAnimatable the name of the animatable property to set the value of the animatable property to set %TRUE if the interpolation was successful, and %FALSE otherwise a #ClutterAnimatable the name of the property to interpolate a #ClutterInterval with the animation range the progress to use to interpolate between the initial and final values of the @interval return location for an initialized #GValue using the same type of the @interval The #ClutterAnimation structure contains only private data and should be accessed using the provided functions. Use the implicit animation on #ClutterActor 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. Use #ClutterPropertyTransition instead the newly created #ClutterAnimation. Use g_object_unref() to release the associated resources 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 Use #ClutterPropertyTransition instead a #ClutterAnimation 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. Use #ClutterPropertyTransition instead The animation itself. a #ClutterAnimation 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_interval() instead. Use #ClutterPropertyTransition instead The animation itself. a #ClutterAnimation 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 Use #ClutterPropertyTransition instead a #ClutterAnimation Retrieves the #ClutterAlpha used by @animation. Use clutter_animation_get_timeline() and clutter_timeline_get_progress_mode() instead. the alpha object used by the animation a #ClutterAnimation Retrieves the duration of @animation, in milliseconds. Use #ClutterPropertyTransition instead the duration of the animation a #ClutterAnimation Retrieves the #ClutterInterval associated to @property_name inside @animation. Use #ClutterPropertyTransition instead a #ClutterInterval or %NULL if no property with the same name was found. The returned interval is owned by the #ClutterAnimation and should not be unreferenced a #ClutterAnimation name of the property Retrieves whether @animation is looping. Use #ClutterPropertyTransition instead %TRUE if the animation is looping a #ClutterAnimation Retrieves the animation mode of @animation, as set by clutter_animation_set_mode(). Use #ClutterPropertyTransition instead the mode for the animation a #ClutterAnimation Retrieves the #GObject attached to @animation. Use #ClutterPropertyTransition instead a #GObject a #ClutterAnimation Retrieves the #ClutterTimeline used by @animation Use #ClutterPropertyTransition instead the timeline used by the animation a #ClutterAnimation Checks whether @animation is controlling @property_name. Use #ClutterPropertyTransition instead %TRUE if the property is animated by the #ClutterAnimation, %FALSE otherwise a #ClutterAnimation 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. Use clutter_animation_get_timeline() and clutter_timeline_set_progress_mode() instead. a #ClutterAnimation 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. Use #ClutterPropertyTransition instead a #ClutterAnimation 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. Use #ClutterPropertyTransition instead a #ClutterAnimation %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. Use #ClutterPropertyTransition instead a #ClutterAnimation an animation mode logical id Attaches @animation to @object. The #ClutterAnimation will take a reference on @object. Use #ClutterPropertyTransition instead a #ClutterAnimation a #GObject Sets the #ClutterTimeline used by @animation. This function will take a reference on the passed @timeline. Use #ClutterPropertyTransition instead a #ClutterAnimation a #ClutterTimeline, or %NULL to unset the current #ClutterTimeline Removes @property_name from the list of animated properties. Use #ClutterPropertyTransition instead a #ClutterAnimation name of the property Updates the @final value of the interval for @property_name Use #ClutterPropertyTransition instead The animation itself. a #ClutterAnimation 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. Use #ClutterPropertyTransition instead a #ClutterAnimation name of the property a #ClutterInterval The #ClutterAlpha used by the animation. Use the #ClutterAnimation:timeline property and the #ClutterTimeline:progress-mode property instead. The duration of the animation, expressed in milliseconds. Use #ClutterPropertyTransition instead Whether the animation should loop. Use #ClutterPropertyTransition instead The animation mode, either a value from #ClutterAnimationMode or a value returned by clutter_alpha_register_func(). The default value is %CLUTTER_LINEAR. Use #ClutterPropertyTransition instead The #GObject to which the animation applies. Use #ClutterPropertyTransition instead The #ClutterTimeline used by the animation. Use #ClutterPropertyTransition instead 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. Use #ClutterPropertyTransition instead The ::started signal is emitted once the animation has been started Use #ClutterPropertyTransition instead The #ClutterAnimationClass structure contains only private data and should be accessed using the provided functions. Use the implicit animation on #ClutterActor a #ClutterAnimation The animation modes used by #ClutterAlpha and #ClutterAnimation. This enumeration can be expanded in later versions of Clutter. <figure id="easing-modes"> <title>Easing modes provided by Clutter</title> <graphic fileref="easing-modes.png" format="PNG"/> </figure> 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. custom progress function linear tweening quadratic tweening quadratic tweening, inverse of %CLUTTER_EASE_IN_QUAD quadratic tweening, combininig %CLUTTER_EASE_IN_QUAD and %CLUTTER_EASE_OUT_QUAD cubic tweening cubic tweening, invers of %CLUTTER_EASE_IN_CUBIC cubic tweening, combining %CLUTTER_EASE_IN_CUBIC and %CLUTTER_EASE_OUT_CUBIC quartic tweening quartic tweening, inverse of %CLUTTER_EASE_IN_QUART quartic tweening, combining %CLUTTER_EASE_IN_QUART and %CLUTTER_EASE_OUT_QUART quintic tweening quintic tweening, inverse of %CLUTTER_EASE_IN_QUINT fifth power tweening, combining %CLUTTER_EASE_IN_QUINT and %CLUTTER_EASE_OUT_QUINT sinusoidal tweening sinusoidal tweening, inverse of %CLUTTER_EASE_IN_SINE sine wave tweening, combining %CLUTTER_EASE_IN_SINE and %CLUTTER_EASE_OUT_SINE exponential tweening exponential tweening, inverse of %CLUTTER_EASE_IN_EXPO exponential tweening, combining %CLUTTER_EASE_IN_EXPO and %CLUTTER_EASE_OUT_EXPO circular tweening circular tweening, inverse of %CLUTTER_EASE_IN_CIRC circular tweening, combining %CLUTTER_EASE_IN_CIRC and %CLUTTER_EASE_OUT_CIRC elastic tweening, with offshoot on start elastic tweening, with offshoot on end elastic tweening with offshoot on both ends overshooting cubic tweening, with backtracking on start overshooting cubic tweening, with backtracking on end overshooting cubic tweening, with backtracking on both ends exponentially decaying parabolic (bounce) tweening, with bounce on start exponentially decaying parabolic (bounce) tweening, with bounce on end exponentially decaying parabolic (bounce) tweening, with bounce on both ends parametrized step function; see clutter_timeline_set_step_progress() for further details. (Since 1.12) equivalent to %CLUTTER_STEPS with a number of steps equal to 1, and a step mode of %CLUTTER_STEP_MODE_START. (Since 1.12) equivalent to %CLUTTER_STEPS with a number of steps equal to 1, and a step mode of %CLUTTER_STEP_MODE_END. (Since 1.12) cubic bezier between (0, 0) and (1, 1) with two control points; see clutter_timeline_set_cubic_bezier_progress(). (Since 1.12) equivalent to %CLUTTER_CUBIC_BEZIER with control points in (0.25, 0.1) and (0.25, 1.0). (Since 1.12) equivalent to %CLUTTER_CUBIC_BEZIER with control points in (0.42, 0) and (1.0, 1.0). (Since 1.12) equivalent to %CLUTTER_CUBIC_BEZIER with control points in (0, 0) and (0.58, 1.0). (Since 1.12) equivalent to %CLUTTER_CUBIC_BEZIER with control points in (0.42, 0) and (0.58, 1.0). (Since 1.12) last animation mode, used as a guard for registered global alpha functions The #ClutterAnimator structure contains only private data and should be accessed using the provided API Creates a new #ClutterAnimator instance Use #ClutterKeyframeTransition instead 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. Use #ClutterKeyframeTransition instead %TRUE if the computation yields has a value, otherwise (when an error occurs or the progress is before any of the keys) %FALSE is returned and the #GValue is left untouched a #ClutterAnimator 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 Use #ClutterKeyframeTransition instead the duration of the animation, in milliseconds a #ClutterAnimator Returns a list of pointers to opaque structures with accessor functions that describe the keys added to an animator. Use #ClutterKeyframeTransition instead a 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 #ClutterAnimator instance 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 Use #ClutterKeyframeTransition instead the #ClutterTimeline that drives the animator a #ClutterAnimator Checks if a property value is to be eased into the animation. Use #ClutterKeyframeTransition instead %TRUE if the property is eased in a #ClutterAnimatorKey a #GObject the name of a property on object Get the interpolation used by animator for a property on a particular object. Use #ClutterKeyframeTransition instead a ClutterInterpolation value. a #ClutterAnimatorKey a #GObject the name of a property on object Sets whether a property value is to be eased into the animation. Use #ClutterKeyframeTransition instead a #ClutterAnimatorKey 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. Use #ClutterKeyframeTransition instead a #ClutterAnimatorKey a #GObject the name of a property on object the #ClutterInterpolation to use Removes all keys matching the conditions specificed in the arguments. Use #ClutterKeyframeTransition instead a #ClutterAnimator 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. Use #ClutterKeyframeTransition instead a #ClutterAnimator 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 the value first_property_name should have for first_object at first_progress, followed by more (object, property_name, mode, progress, value) tuples, followed by %NULL Runs the timeline of the #ClutterAnimator with a duration in msecs as specified. Use #ClutterKeyframeTransition instead a #ClutterAnimator milliseconds a run of the animator should last. Sets a single key in the #ClutterAnimator for the @property_name of @object at @progress. See also: clutter_animator_set() Use #ClutterKeyframeTransition instead The animator instance a #ClutterAnimator 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 Use #ClutterKeyframeTransition instead a #ClutterAnimator a #ClutterTimeline Start the ClutterAnimator, this is a thin wrapper that rewinds and starts the animators current timeline. Use #ClutterKeyframeTransition instead the #ClutterTimeline that drives the animator. The returned timeline is owned by the #ClutterAnimator and it should not be unreferenced a #ClutterAnimator The duration of the #ClutterTimeline used by the #ClutterAnimator to drive the animation Use #ClutterKeyframeTransition instead The #ClutterTimeline used by the #ClutterAnimator to drive the animation Use #ClutterKeyframeTransition instead 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. Use #ClutterKeyframeTransition instead the mode of a #ClutterAnimatorKey a #ClutterAnimatorKey Retrieves the object a key applies to. Use #ClutterKeyframeTransition instead the object an animator_key exist for. a #ClutterAnimatorKey Retrieves the progress of an clutter_animator_key Use #ClutterKeyframeTransition instead the progress defined for a #ClutterAnimator key. a #ClutterAnimatorKey Retrieves the name of the property a key applies to. Use #ClutterKeyframeTransition instead the name of the property an animator_key exist for. a #ClutterAnimatorKey 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() Use #ClutterKeyframeTransition instead the #GType of the property a #ClutterAnimatorKey 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. Use #ClutterKeyframeTransition instead %TRUE if the passed #GValue was successfully set, and %FALSE otherwise a #ClutterAnimatorKey a #GValue initialized with the correct type for the animator key Common members for a #ClutterEvent event type event time event flags event source actor The middle button of a pointer device. The primary button of a pointer device. This is typically the left mouse button in a right-handed mouse configuration. The secondary button of a pointer device. This is typically the right mouse button in a right-handed mouse configuration. #ClutterBackend is an opaque structure whose members cannot be directly accessed. Retrieves the distance used to verify a double click event Use #ClutterSettings:double-click-distance instead a distance, in pixels. a #ClutterBackend Gets the maximum time between two button press events, as set by clutter_backend_set_double_click_time(). Use #ClutterSettings:double-click-time instead a time in milliseconds a #ClutterBackend Retrieves the default font name as set by clutter_backend_set_font_name(). Use #ClutterSettings:font-name instead the font name for the backend. The returned string is owned by the #ClutterBackend and should never be modified or freed a #ClutterBackend Retrieves the font options for @backend. the font options of the #ClutterBackend. The returned #cairo_font_options_t is owned by the backend and should not be modified or freed a #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. the current resolution, or -1 if no resolution has been set. a #ClutterBackend Sets the maximum distance used to verify a double click event. Use #ClutterSettings:double-click-distance instead a #ClutterBackend 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. Use #ClutterSettings:double-click-time instead a #ClutterBackend 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. Use #ClutterSettings:font-name instead a #ClutterBackend 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. a #ClutterBackend 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. Use #ClutterSettings:font-dpi instead a #ClutterBackend the resolution in "dots per inch" (Physical inches aren't actually involved; the terminology is conventional). The ::font-changed signal is emitted each time the font options have been changed through #ClutterSettings. The ::resolution-changed signal is emitted each time the font resolutions has been changed through #ClutterSettings. The ::settings-changed signal is emitted each time the #ClutterSettings properties have been changed. #ClutterBehaviour-struct contains only private data and should be accessed with the functions below. Calls @func for every actor driven by @behave. a #ClutterBehaviour 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 #ClutterBehaviour 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. a list of actors. You should free the returned list with g_slist_free() when finished using it. a #ClutterBehaviour Retrieves the #ClutterAlpha object bound to @behave. a #ClutterAlpha object, or %NULL if no alpha object has been bound to this behaviour. a #ClutterBehaviour Gets the number of actors this behaviour is applied too. The number of applied actors a #ClutterBehaviour Gets an actor the behaviour was applied to referenced by index num. A Clutter actor or NULL if @index_ is invalid. a #ClutterBehaviour the index of an actor this behaviour is applied too. Check if @behave applied to @actor. TRUE if actor has behaviour. FALSE otherwise. a #ClutterBehaviour a #ClutterActor Removes @actor from the list of #ClutterActor<!-- -->s to which @behave applies. This function removes a reference on the actor. a #ClutterBehaviour a #ClutterActor Removes every actor from the list that @behave holds. a #ClutterBehaviour Binds @alpha to a #ClutterBehaviour. The #ClutterAlpha object is what makes a behaviour work: for each tick of the timeline 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 #ClutterBehaviour 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 Base class for behaviours. The #ClutterBehaviourDepth structure contains only private data and should be accessed using the provided API Use clutter_actor_animate() with #ClutterActor:depth instead. 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 a #ClutterBehaviourDepth return location for the initial depth value, or %NULL return location for the final depth value, or %NULL Sets the boundaries of the @behaviour. a #ClutterBehaviourDepth 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 a #ClutterBehaviourEllipse Gets the angle at which movements starts. angle in degrees a #ClutterBehaviourEllipse Gets the tilt of the ellipse around the center in the given axis. angle in degrees. a #ClutterBehaviourEllipse a #ClutterRotateAxis Gets the center of the elliptical path path. a #ClutterBehaviourEllipse 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 a #ClutterBehaviourEllipse Gets the height of the elliptical path. the height of the path a #ClutterBehaviourEllipse Gets the tilt of the ellipse around the center in Y axis. a #ClutterBehaviourEllipse 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 a #ClutterBehaviourEllipse Sets the angle at which movement ends; angles >= 360 degress get clamped to the canonical interval <0, 360). a #ClutterBehaviourEllipse 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). a #ClutterBehaviourEllipse 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 #ClutterBehaviourEllipse 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. a #ClutterBehaviourEllipse x coordinace of centre y coordinace of centre Sets the rotation direction used by the ellipse behaviour. a #ClutterBehaviourEllipse the rotation direction Sets the height of the elliptical path. a #ClutterBehaviourEllipse height of the ellipse Sets the angles at which the ellipse should be tilted around it's center. a #ClutterBehaviourEllipse 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. a #ClutterBehaviourEllipse 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_actors_foreach() 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 Use clutter_actor_animate() and #ClutterActor:opacity instead. 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. a #ClutterBehaviourOpacity 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. a #ClutterBehaviourOpacity 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 Use #ClutterPathConstraint and clutter_actor_animate() instead. 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 a #ClutterBehaviourPath instance 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 path behaviour 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 #ClutterBehaviourPathClass struct contains only private data The #ClutterBehaviourRotate struct contains only private data and should be accessed using the provided API Use clutter_actor_animate() instead. Creates a new #ClutterBehaviourRotate. This behaviour will rotate actors bound to it on @axis, following @direction, between @angle_start and @angle_end. Angles >= 360 degrees will be clamped to the canonical interval <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 a #ClutterBehaviourRotate Retrieves the rotation boundaries of the rotate behaviour. a #ClutterBehaviourRotate return value for the initial angle return value for the final angle Retrieves the center of rotation set using clutter_behaviour_rotate_set_center(). a #ClutterBehaviourRotate 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 a #ClutterBehaviourRotate Sets the axis used by the rotate behaviour. a #ClutterBehaviourRotate a #ClutterRotateAxis Sets the initial and final angles of a rotation behaviour; angles >= 360 degrees get clamped to the canonical interval <0, 360). a #ClutterBehaviourRotate 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(). a #ClutterBehaviourRotate X axis center of rotation Y axis center of rotation Z axis center of rotation Sets the rotation direction used by the rotate behaviour. a #ClutterBehaviourRotate 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 Use clutter_actor_animate() with #ClutterActor:scale-x and #ClutterActor:scale-y instead. 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. a #ClutterBehaviourScale 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. a #ClutterBehaviourScale 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 Use #ClutterActorAlign and the #ClutterActor API instead Fixed position alignment; the #ClutterBinLayout will honour the fixed position provided by the actors themselves when allocating them Fill the allocation size Position the actors at the top or left side of the container, depending on the axis Position the actors at the bottom or right side of the container, depending on the axis Position the actors at the center of the container, depending on the axis 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 Use clutter_actor_add_child() instead. a #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 Use the #ClutterActor:x-align and the #ClutterActor:y-align properties of #ClutterActor instead. a #ClutterBinLayout 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 Use the #ClutterActor:x-align and #ClutterActor:y-align properties of #ClutterActor instead. a #ClutterBinLayout 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 Use the #ClutterActor:x-expand and the #ClutterActor:x-align properties on #ClutterActor instead. The default vertical alignment policy for actors managed by the #ClutterBinLayout Use the #ClutterActor:y-expand and the #ClutterActor:y-align properties on #ClutterActor instead. The #ClutterBinLayoutClass structure contains only private data and should be accessed using the provided API #ClutterBindConstraint 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 a #ClutterBindConstraint Retrieves the offset set using clutter_bind_constraint_set_offset() the offset, in pixels a #ClutterBindConstraint Retrieves the #ClutterActor set using clutter_bind_constraint_set_source() a pointer to the source actor a #ClutterBindConstraint Sets the coordinate to bind in the constraint a #ClutterBindConstraint the coordinate to bind Sets the offset to be applied to the constraint a #ClutterBindConstraint the offset to apply, in pixels Sets the source #ClutterActor for the constraint a #ClutterBindConstraint 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. The #ClutterActor must not be contained inside the actor associated to the constraint. Specifies which property should be used in a binding Bind the X coordinate Bind the Y coordinate Bind the width Bind the height Equivalent to to %CLUTTER_BIND_X and %CLUTTER_BIND_Y (added in Clutter 1.6) Equivalent to %CLUTTER_BIND_WIDTH and %CLUTTER_BIND_HEIGHT (added in Clutter 1.6) Equivalent to %CLUTTER_BIND_POSITION and %CLUTTER_BIND_SIZE (added in Clutter 1.10) The prototype for the callback function registered with clutter_binding_pool_install_action() and invoked by clutter_binding_pool_activate(). the function should return %TRUE if the key binding has been handled, and return %FALSE otherwise a #GObject the name of the action the key symbol bitmask of the modifier flags data passed to the function 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. the newly created binding pool with the given name. Use g_object_unref() when done. 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 binding pool for the given class. The returned #ClutterBindingPool is owned by Clutter and should not be freed directly 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 a #ClutterBindingPool the key symbol bitmask for the modifiers a #GObject Blocks all the actions with name @action_name inside @pool. a #ClutterBindingPool an action name Retrieves the name of the action matching the given key symbol and modifiers bitmask. the name of the action, if found, or %NULL. The returned string is owned by the binding pool and should never be modified or freed a #ClutterBindingPool 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(). a #ClutterBindingPool 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(). a #ClutterBindingPool 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(). a #ClutterBindingPool 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(). a #ClutterBindingPool key symbol bitmask of modifiers a #GClosure Removes the action matching the given @key_val, @modifiers pair, if any exists. a #ClutterBindingPool 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(). a #ClutterBindingPool an action name The unique name of the #ClutterBindingPool. #ClutterBlurEffect 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 Use clutter_actor_new() instead. 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 Use clutter_actor_get_background_color() instead. a #ClutterBox return location for a #ClutterColor Retrieves the #ClutterLayoutManager instance used by @box Use clutter_actor_get_layout_manager() instead. a #ClutterLayoutManager. The returned #ClutterLayoutManager is owned by the #ClutterBox and it should not be unreferenced a #ClutterBox 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_packv() variant instead Use clutter_actor_add_child() instead. To set specific layout properties, use clutter_layout_manager_child_set() a #ClutterBox a #ClutterActor the name of the first property to set, or %NULL a list of property name and value pairs, terminated by %NULL Adds @actor to @box, placing it after @sibling, and sets layout properties at the same time, if the #ClutterLayoutManager used by @box supports them 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() Use clutter_actor_insert_child_above() instead. To set specific layout properties, use clutter_layout_manager_child_set() a #ClutterBox a #ClutterActor a #ClutterActor or %NULL the name of the first property to set, or %NULL a list of property name and value pairs, terminated by %NULL Adds @actor to @box, placing it at @position, and sets layout properties at the same time, if the #ClutterLayoutManager used by @box supports them 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 Use clutter_actor_insert_child_at_index() instead. To set specific layout properties, use clutter_layout_manager_child_set() a #ClutterBox a #ClutterActor the position to insert the @actor at the name of the first property to set, or %NULL a list of property name and value pairs, terminated by %NULL Adds @actor to @box, placing it before @sibling, and sets layout properties at the same time, if the #ClutterLayoutManager used by @box supports them 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() Use clutter_actor_insert_child_below() instead. To set specific layout properties, use clutter_layout_manager_child_set() a #ClutterBox a #ClutterActor a #ClutterActor or %NULL the name of the first property to set, or %NULL a list of property name and value pairs, terminated by %NULL Vector-based variant of clutter_box_pack(), intended for language bindings to use Use clutter_actor_add_child() instead. To set specific layout properties, use clutter_layout_manager_child_set() a #ClutterBox 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 Use clutter_actor_set_background_color() instead. a #ClutterBox 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 Use clutter_actor_set_layout_manager() instead. a #ClutterBox 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 This property sets the #ClutterActor:background-color property internally. Use the #ClutterActor:background-color property Whether the #ClutterBox:color property has been set. This property reads the #ClutterActor:background-color-set property internally. Use the #ClutterActor:background-color-set property The alignment policies available on each axis of the #ClutterBoxLayout Align the child to the top or to to the left, depending on the used axis Align the child to the bottom or to the right, depending on the used axis Align the child to the center 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() #ClutterBoxLayout will honour #ClutterActor's #ClutterActor:x-align and #ClutterActor:y-align properies a #ClutterBoxLayout 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 a #ClutterBoxLayout Retrieves the easing mode set using clutter_box_layout_set_easing_mode() an easing mode a #ClutterBoxLayout Retrieves whether @actor should expand inside @layout #ClutterBoxLayout will honour #ClutterActor's #ClutterActor:x-expand and #ClutterActor:y-expand properies %TRUE if the #ClutterActor should expand, %FALSE otherwise a #ClutterBoxLayout 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() #ClutterBoxLayout will honour #ClutterActor's #ClutterActor:x-align and #ClutterActor:y-align properies a #ClutterBoxLayout 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. %TRUE if the #ClutterBoxLayout is arranging its children homogeneously, and %FALSE otherwise a #ClutterBoxLayout Retrieves the orientation of the @layout. the orientation of the layout a #ClutterBoxLayout Retrieves the value set using clutter_box_layout_set_pack_start() %TRUE if the #ClutterBoxLayout should pack children at the beginning of the layout, and %FALSE otherwise a #ClutterBoxLayout Retrieves the spacing set using clutter_box_layout_set_spacing() the spacing between children of the #ClutterBoxLayout a #ClutterBoxLayout Retrieves whether @layout should animate changes in the layout properties. %TRUE if the animations should be used, %FALSE otherwise a #ClutterBoxLayout Retrieves the orientation of the @layout as set using the clutter_box_layout_set_vertical() function Use clutter_box_layout_get_orientation() instead %TRUE if the #ClutterBoxLayout is arranging its children vertically, and %FALSE otherwise a #ClutterBoxLayout Packs @actor inside the #ClutterContainer associated to @layout and sets the layout properties #ClutterBoxLayout honours #ClutterActor's align and expand properties. The preferred way is adding the @actor with clutter_actor_add_child() and setting #ClutterActor:x-align, #ClutterActor:y-align, #ClutterActor:x-expand and #ClutterActor:y-expand a #ClutterBoxLayout 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 #ClutterBoxLayout will honour #ClutterActor's #ClutterActor:x-align and #ClutterActor:y-align properies a #ClutterBoxLayout 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. The layout manager will honour the easing state of the children when allocating them. a #ClutterBoxLayout the duration of the animations, in milliseconds Sets the easing mode to be used by @layout when animating changes in layout properties. The layout manager will honour the easing state of the children when allocating them. a #ClutterBoxLayout an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func() Sets whether @actor should expand inside @layout #ClutterBoxLayout will honour #ClutterActor's #ClutterActor:x-expand and #ClutterActor:y-expand properies a #ClutterBoxLayout a #ClutterActor child of @layout whether @actor should expand Sets the horizontal and vertical fill policies for @actor inside @layout #ClutterBoxLayout will honour #ClutterActor's #ClutterActor:x-align and #ClutterActor:y-align properies a #ClutterBoxLayout 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 a #ClutterBoxLayout %TRUE if the layout should be homogeneous Sets the orientation of the #ClutterBoxLayout layout manager. a #ClutterBoxLayout the orientation of the #ClutterBoxLayout Sets whether children of @layout should be layed out by appending them or by prepending them a #ClutterBoxLayout %TRUE if the @layout should pack children at the beginning of the layout Sets the spacing between children of @layout a #ClutterBoxLayout 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(). Enabling animations will override the easing state of each child of the actor using @layout, and will use the #ClutterBoxLayout:easing-mode and #ClutterBoxLayout:easing-duration properties instead. The layout manager will honour the easing state of the children when allocating them. a #ClutterBoxLayout %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 Use clutter_box_layout_set_orientation() instead. a #ClutterBoxLayout %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 #ClutterBoxLayout will honour the easing state of the children when allocating them. The easing mode for the animations, in case #ClutterBoxLayout:use-animations is set to %TRUE. The easing mode has the same semantics of #ClutterAnimation:mode: it can 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 #ClutterBoxLayout will honour the easing state of the children when allocating them. Whether the #ClutterBoxLayout should arrange its children homogeneously, i.e. all children get the same size The orientation of the #ClutterBoxLayout, either horizontal or vertical 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, overriding the easing state of the children. #ClutterBoxLayout will honour the easing state of the children when allocating them. Whether the #ClutterBoxLayout should arrange its children alongside the Y axis, instead of alongside the X axis Use #ClutterBoxLayout:orientation instead. The #ClutterBoxLayoutClass structure contains only private data and should be accessed using the provided API #ClutterBrightnessContrastEffect is an opaque structure whose members cannot be directly accessed Creates a new #ClutterBrightnessContrastEffect to be used with clutter_actor_add_effect() the newly created #ClutterBrightnessContrastEffect or %NULL. Use g_object_unref() when done. Retrieves the change in brightness used by @effect. a #ClutterBrightnessContrastEffect return location for red component of the change in brightness return location for green component of the change in brightness return location for blue component of the change in brightness Retrieves the contrast value used by @effect. a #ClutterBrightnessContrastEffect return location for red component of the change in contrast return location for green component of the change in contrast return location for blue component of the change in contrast The range of @brightness is [-1.0, 1.0], where 0.0 designates no change; a value below 0.0 indicates a decrease in brightness; and a value above 0.0 indicates an increase of brightness. a #ClutterBrightnessContrastEffect the brightness change for all three components (r, g, b) The range for each component is [-1.0, 1.0] where 0.0 designates no change, values below 0.0 mean a decrease in brightness, and values above indicate an increase. a #ClutterBrightnessContrastEffect red component of the change in brightness green component of the change in brightness blue component of the change in brightness The range for @contrast is [-1.0, 1.0], where 0.0 designates no change; a value below 0.0 indicates a decrease in contrast; and a value above 0.0 indicates an increase. a #ClutterBrightnessContrastEffect contrast change for all three channels The range for each component is [-1.0, 1.0] where 0.0 designates no change, values below 0.0 mean a decrease in contrast, and values above indicate an increase. a #ClutterBrightnessContrastEffect red component of the change in contrast green component of the change in contrast blue component of the change in contrast The brightness change to apply to the effect. This property uses a #ClutterColor to represent the changes to each color channel. The range is [ 0, 255 ], with 127 as the value used to indicate no change; values smaller than 127 indicate a decrease in brightness, and values larger than 127 indicate an increase in brightness. The contrast change to apply to the effect. This property uses a #ClutterColor to represent the changes to each color channel. The range is [ 0, 255 ], with 127 as the value used to indicate no change; values smaller than 127 indicate a decrease in contrast, and values larger than 127 indicate an increase in contrast. 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(). event type event time event flags event source stage event source actor event X coordinate, relative to the stage event Y coordinate, relative to the stage button modifiers event button number of button presses within the default time and radius reserved for future use the device that originated the event. If you want the physical device the event originated from, use clutter_event_get_source_device() Cogl (internal GL abstraction utility library) backend. Can be "gl" or "gles" currently The macro evaluates to "deprecated" as Cogl can be compiled against multiple GL implementations. Default value for "now". The #ClutterCairoTexture struct contains only private data. Use #ClutterCanvas instead Creates a new #ClutterCairoTexture actor, with a surface of @width by @height pixels. Use #ClutterCanvas instead 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. Calling this function from within a #ClutterCairoTexture::draw signal handler will clear the invalidated area. Use #ClutterCanvas instead a #ClutterCairoTexture 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. Do not call this function within the paint virtual function or from a callback to the #ClutterActor::paint signal. Use the #ClutterCairoTexture::draw signal and the clutter_cairo_texture_invalidate() function to obtain a Cairo context for 2D drawing. a newly created Cairo context. Use cairo_destroy() to upload the contents of the context when done drawing a #ClutterCairoTexture Creates a new Cairo context that will updat the region defined by @x_offset, @y_offset, @width and @height. Do not call this function within the paint virtual function or from a callback to the #ClutterActor::paint signal. Use the #ClutterCairoTexture::draw signal and clutter_cairo_texture_invalidate_rectangle() to obtain a clipped Cairo context for 2D drawing. a newly created Cairo context. Use cairo_destroy() to upload the contents of the context when done drawing a #ClutterCairoTexture 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 value set using clutter_cairo_texture_set_auto_resize(). Use #ClutterCanvas instead %TRUE if the #ClutterCairoTexture should track the allocation, and %FALSE otherwise a #ClutterCairoTexture Retrieves the surface width and height for @self. Use #ClutterCanvas instead a #ClutterCairoTexture return location for the surface width, or %NULL return location for the surface height, or %NULL Invalidates the whole surface of a #ClutterCairoTexture. This function will cause the #ClutterCairoTexture::draw signal to be emitted. See also: clutter_cairo_texture_invalidate_rectangle() Use #ClutterCanvas instead a #ClutterCairoTexture Invalidates a rectangular region of a #ClutterCairoTexture. The invalidation will cause the #ClutterCairoTexture::draw signal to be emitted. See also: clutter_cairo_texture_invalidate() Use #ClutterCanvas instead a #ClutterCairoTexture a rectangle with the area to invalida, or %NULL to perform an unbounded invalidation Sets whether the #ClutterCairoTexture should ensure that the backing Cairo surface used matches the allocation assigned to the actor. If the allocation changes, the contents of the #ClutterCairoTexture will also be invalidated automatically. Use #ClutterCanvas instead a #ClutterCairoTexture %TRUE if the #ClutterCairoTexture should bind the surface size to the allocation Resizes the Cairo surface used by @self to @width and @height. This function will not invalidate the contents of the Cairo texture: you will have to explicitly call either clutter_cairo_texture_invalidate_rectangle() or clutter_cairo_texture_invalidate(). Use #ClutterCanvas instead a #ClutterCairoTexture the new width of the surface the new height of the surface Controls whether the #ClutterCairoTexture should automatically resize the Cairo surface whenever the actor's allocation changes. If :auto-resize is set to %TRUE the surface contents will also be invalidated automatically. 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 ::create-surface signal is emitted when a #ClutterCairoTexture news its surface (re)created, which happens either when the Cairo context is created with clutter_cairo_texture_create() or clutter_cairo_texture_create_region(), or when the surface is resized through clutter_cairo_texture_set_surface_size(). The first signal handler that returns a non-%NULL, valid surface will stop any further signal emission, and the returned surface will be the one used. the newly created #cairo_surface_t for the texture the width of the surface to create the height of the surface to create The ::draw signal is emitted each time a #ClutterCairoTexture has been invalidated. The passed Cairo context passed will be clipped to the invalidated area. It is safe to connect multiple callbacks to this signals; the state of the Cairo context passed to each callback is automatically saved and restored, so it's not necessary to call cairo_save() and cairo_restore(). %TRUE if the signal emission should stop, and %FALSE to continue the Cairo context to use to draw The #ClutterCairoTextureClass struct contains only private data. Use #ClutterCanvas instead Generic callback a #ClutterActor user data The #ClutterCanvas structure contains private data and should only be accessed using the provided API. Creates a new instance of #ClutterCanvas. You should call clutter_canvas_set_size() to set the size of the canvas. You should call clutter_content_invalidate() every time you wish to draw the contents of the canvas. The newly allocated instance of #ClutterCanvas. Use g_object_unref() when done. Retrieves the scaling factor of @canvas, as set using clutter_canvas_set_scale_factor(). the scaling factor, or -1 if the @canvas uses the default from #ClutterSettings a #ClutterCanvas Sets the scaling factor for the Cairo surface used by @canvas. This function should rarely be used. The default scaling factor of a #ClutterCanvas content uses the #ClutterSettings:window-scaling-factor property, which is set by the windowing system. By using this function it is possible to override that setting. Changing the scale factor will invalidate the @canvas. a #ClutterCanvas the scale factor, or -1 for the default Sets the size of the @canvas, and invalidates the content. This function will cause the @canvas to be invalidated only if the size of the canvas surface has changed. If you want to invalidate the contents of the @canvas when setting the size, you can use the return value of the function to conditionally call clutter_content_invalidate(): |[ if (!clutter_canvas_set_size (canvas, width, height)) clutter_content_invalidate (CLUTTER_CONTENT (canvas)); ]| this function returns %TRUE if the size change caused a content invalidation, and %FALSE otherwise a #ClutterCanvas the width of the canvas, in pixels the height of the canvas, in pixels The height of the canvas. The scaling factor to be applied to the Cairo surface used for drawing. If #ClutterCanvas:scale-factor is set to a negative value, the value of the #ClutterSettings:window-scaling-factor property is used instead. Use #ClutterCanvas:scale-factor-set to check if the scale factor is set. Whether the #ClutterCanvas:scale-factor property is set. If the #ClutterCanvas:scale-factor-set property is %FALSE then #ClutterCanvas will use the #ClutterSettings:window-scaling-factor property. The width of the canvas. The #ClutterCanvas::draw signal is emitted each time a canvas is invalidated. It is safe to connect multiple handlers to this signal: each handler invocation will be automatically protected by cairo_save() and cairo_restore() pairs. %TRUE if the signal emission should stop, and %FALSE otherwise the Cairo context used to draw the width of the @canvas the height of the @canvas The #ClutterCanvasClass structure contains private 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) { // set the rest of the #ClutterContainer vtable 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 the #ClutterContainerIface virtual functions #ClutterContainerIface.create_child_meta(), #ClutterContainerIface.destroy_child_meta(), and #ClutterContainerIface.get_child_meta(). Retrieves the actor wrapped by @data a #ClutterActor a #ClutterChildMeta Retrieves the container using @data a #ClutterContainer a #ClutterChildMeta The #ClutterActor being wrapped by this #ClutterChildMeta The #ClutterContainer that created this #ClutterChildMeta. the container handling this data the actor wrapped by this data The #ClutterChildMetaClass contains only private data The #ClutterClickAction 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 a #ClutterClickAction Retrieves the screen coordinates of the button press. a #ClutterClickAction return location for the X coordinate, or %NULL return location for the Y coordinate, or %NULL Retrieves the modifier state of the click action. the modifier state parameter, or 0 a #ClutterClickAction Emulates a release of the pointer button, which ungrabs the pointer and unsets the #ClutterClickAction:pressed state. This function will also cancel the long press gesture if one was initiated. This function is useful to break a grab, for instance after a certain amount of time has passed. a #ClutterClickAction Whether the clickable actor has the pointer grabbed The minimum duration of a press for it to be recognized as a long press gesture, in milliseconds. A value of -1 will make the #ClutterClickAction use the value of the #ClutterSettings:long-press-duration property. The maximum allowed distance that can be covered (on both axes) before a long press gesture is cancelled, in pixels. A value of -1 will make the #ClutterClickAction use the value of the #ClutterSettings:dnd-drag-threshold property. 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 ::long-press signal is emitted during the long press gesture handling. This signal can be emitted multiple times with different states. The %CLUTTER_LONG_PRESS_QUERY state will be emitted on button presses, and its return value will determine whether the long press handling should be initiated. If the signal handlers will return %TRUE, the %CLUTTER_LONG_PRESS_QUERY state will be followed either by a signal emission with the %CLUTTER_LONG_PRESS_ACTIVATE state if the long press constraints were respected, or by a signal emission with the %CLUTTER_LONG_PRESS_CANCEL state if the long press was cancelled. It is possible to forcibly cancel a long press detection using clutter_click_action_release(). Only the %CLUTTER_LONG_PRESS_QUERY state uses the returned value of the handler; other states will ignore it the #ClutterActor attached to the @action the long press state The #ClutterClickActionClass structure contains only private data The #ClutterTextNode structure is an opaque type whose members cannot be directly accessed. Creates a new #ClutterPaintNode that will clip its child nodes to the 2D regions added to it. the newly created #ClutterPaintNode. Use clutter_paint_node_unref() when done. The `ClutterClipNodeClass` structure is an opaque type whose members cannot be directly accessed. 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 @self. the actor source for the clone a #ClutterClone Sets @source as the source actor to be cloned by @self. a #ClutterClone a #ClutterActor, or %NULL This property specifies the source actor being cloned. The #ClutterCloneClass structure contains only private data Color representation. red component, between 0 and 255 green component, between 0 and 255 blue component, between 0 and 255 alpha component, between 0 and 255 Allocates a new, transparent black #ClutterColor. the newly allocated #ClutterColor; use clutter_color_free() to free its resources Creates a new #ClutterColor with the given values. This function is the equivalent of: |[ clutter_color_init (clutter_color_alloc (), red, green, blue, alpha); ]| the newly allocated color. Use clutter_color_free() when done 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 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. a #ClutterColor Darkens @color by a fixed amount, and saves the changed color in @result. a #ClutterColor return location for the darker color 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 Frees a color structure created with clutter_color_copy(). 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 Initializes @color with the given values. the initialized #ClutterColor a #ClutterColor 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 Interpolates between @initial and @final #ClutterColor<!-- -->s using @progress the initial #ClutterColor the final #ClutterColor the interpolation progress return location for the interpolation Lightens @color by a fixed amount, and saves the changed color in @result. a #ClutterColor return location for the lighter color Shades @color by @factor and saves the modified color into @result. a #ClutterColor 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 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 @saturation values are in the 0 .. 1 range. a #ClutterColor 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 a #ClutterColor 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 hexadecimal digits representing the red, green, blue and alpha components respectively. a newly-allocated text string a #ClutterColor Converts a color expressed in HLS (hue, luminance and saturation) values into a #ClutterColor. return location for 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. return location for a #ClutterColor a 32 bit packed integer containing a color Parses a string definition of a color, filling the #ClutterColor.red, #ClutterColor.green, #ClutterColor.blue and #ClutterColor.alpha fields of @color. The @color is not allocated. The format of @str can be either one of: - a standard name (as taken from the X11 rgb.txt file) - an hexadecimal value in the form: `#rgb`, `#rrggbb`, `#rgba`, or `#rrggbbaa` - a RGB color in the form: `rgb(r, g, b)` - a RGB color in the form: `rgba(r, g, b, a)` - a HSL color in the form: `hsl(h, s, l)` -a HSL color in the form: `hsla(h, s, l, a)` where 'r', 'g', 'b' and 'a' are (respectively) the red, green, blue color intensities and the opacity. The 'h', 's' and 'l' are (respectively) the hue, saturation and luminance values. In the rgb() and rgba() formats, the 'r', 'g', and 'b' values are either integers between 0 and 255, or percentage values in the range between 0% and 100%; the percentages require the '%' character. The 'a' value, if specified, can only be a floating point value between 0.0 and 1.0. In the hls() and hlsa() formats, the 'h' value (hue) is an angle between 0 and 360.0 degrees; the 'l' and 's' values (luminance and saturation) are percentage values in the range between 0% and 100%. The 'a' value, if specified, can only be a floating point value between 0.0 and 1.0. Whitespace inside the definitions is ignored; no leading whitespace is allowed. If the alpha component is not specified then it is assumed to be set to be fully opaque. %TRUE if parsing succeeded, and %FALSE otherwise return location for a #ClutterColor a string specifiying a color Retrieves a static color for the given @color name Static colors are created by Clutter and are guaranteed to always be available and valid a pointer to a static color; the returned pointer is owned by Clutter and it should never be modified or freed the named global color The #ClutterTextNode structure is an opaque type whose members cannot be directly accessed. Creates a new #ClutterPaintNode that will paint a solid color fill using @color. the newly created #ClutterPaintNode. Use clutter_paint_node_unref() when done the color to paint, or %NULL The `ClutterColorNodeClass` structure is an opaque type whose members cannot be directly accessed. #ClutterColorizeEffect is an opaque structure whose members cannot be directly accessed 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 a #ClutterColorizeEffect return location for the color used Sets the tint to be used when colorizing a #ClutterColorizeEffect the color to be used The tint to apply to the actor The #ClutterConstraint structure contains only private data and should be accessed using the provided API The #ClutterConstraintClass structure contains only private data #ClutterContainer is an opaque structure whose members cannot be directly accessed Looks up the #GParamSpec for a child property of @klass. The #GParamSpec for the property or %NULL if no such property exist. a #GObjectClass implementing the #ClutterContainer interface. a property name. Returns an array of #GParamSpec for all child properties. an array of #GParamSpec<!-- -->s which should be freed after use. a #GObjectClass implementing the #ClutterContainer interface. return location for length of returned array. Adds a #ClutterActor to @container. This function will emit the "actor-added" signal. The actor should be parented to @container. You cannot add a #ClutterActor to more than one #ClutterContainer. This function will call #ClutterContainerIface.add(), which is a deprecated virtual function. The default implementation will call clutter_actor_add_child(). Use clutter_actor_add_child() instead. a #ClutterContainer the first #ClutterActor to add Calls the #ClutterContainerIface.child_notify() virtual function of #ClutterContainer. The default implementation will emit the #ClutterContainer::child-notify signal. a #ClutterContainer a #ClutterActor a #GParamSpec Creates the #ClutterChildMeta wrapping @actor inside the @container, if the #ClutterContainerIface::child_meta_type 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 #ClutterContainer a #ClutterActor Destroys the #ClutterChildMeta wrapping @actor inside the @container, if any. 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 #ClutterContainer 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. This function calls the #ClutterContainerIface.foreach() virtual function, which has been deprecated. Use clutter_actor_get_first_child() or clutter_actor_get_last_child() to retrieve the beginning of the list of children, and clutter_actor_get_next_sibling() and clutter_actor_get_previous_sibling() to iterate over it; alternatively, use the #ClutterActorIter API. a #ClutterContainer 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. This function calls the #ClutterContainerIface.foreach_with_internals() virtual function, which has been deprecated. See clutter_container_foreach(). a #ClutterContainer 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 @container specific state for @actor. the #ClutterChildMeta for the @actor child of @container or %NULL if the specifiec actor does not exist or the container is not configured to provide #ClutterChildMeta<!-- -->s a #ClutterContainer a #ClutterActor that is a child of @container. Lowers @actor to @sibling level, in the depth ordering. This function calls the #ClutterContainerIface.lower() virtual function, which has been deprecated. The default implementation will call clutter_actor_set_child_below_sibling(). Use clutter_actor_set_child_below_sibling() instead. a #ClutterContainer 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. This function calls the #ClutterContainerIface.raise() virtual function, which has been deprecated. The default implementation will call clutter_actor_set_child_above_sibling(). Use clutter_actor_set_child_above_sibling() instead. a #ClutterContainer the actor to raise the sibling to raise to, or %NULL to raise to the top 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. This function will call #ClutterContainerIface.remove(), which is a deprecated virtual function. The default implementation will call clutter_actor_remove_child(). Use clutter_actor_remove_child() instead. a #ClutterContainer a #ClutterActor Sorts a container's children using their depth. This function should not be normally used by applications. The #ClutterContainerIface.sort_depth_order() virtual function should not be used any more; the default implementation in #ClutterContainer does not do anything. a #ClutterContainer 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. This function will call #ClutterContainerIface.add(), which is a deprecated virtual function. The default implementation will call clutter_actor_add_child(). Use clutter_actor_add_child() instead. a #ClutterContainer the first #ClutterActor to add %NULL terminated list of actors to add Adds a #ClutterActor to @container. This function will emit the "actor-added" signal. The actor should be parented to @container. You cannot add a #ClutterActor to more than one #ClutterContainer. This function will call #ClutterContainerIface.add(), which is a deprecated virtual function. The default implementation will call clutter_actor_add_child(). Use clutter_actor_add_child() instead. a #ClutterContainer the first #ClutterActor to add Alternative va_list version of clutter_container_add(). This function will call #ClutterContainerIface.add(), which is a deprecated virtual function. The default implementation will call clutter_actor_add_child(). Use clutter_actor_add_child() instead. a #ClutterContainer 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 #ClutterContainer a #ClutterActor that is a child of @container. name of the first property to be set. value for the first property, followed optionally by more name/value pairs terminated with NULL. 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 #ClutterContainer a #ClutterActor that is a child of @container. the name of the property to set. the value. Calls the #ClutterContainerIface.child_notify() virtual function of #ClutterContainer. The default implementation will emit the #ClutterContainer::child-notify signal. a #ClutterContainer a #ClutterActor a #GParamSpec Sets container specific properties on the child of a container. a #ClutterContainer a #ClutterActor that is a child of @container. name of the first property to be set. value for the first property, followed optionally by more name/value pairs terminated with NULL. Sets a container-specific property on a child of @container. a #ClutterContainer a #ClutterActor that is a child of @container. the name of the property to set. the value. Creates the #ClutterChildMeta wrapping @actor inside the @container, if the #ClutterContainerIface::child_meta_type 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 #ClutterContainer a #ClutterActor Destroys the #ClutterChildMeta wrapping @actor inside the @container, if any. 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 #ClutterContainer a #ClutterActor Finds a child actor of a container by its name. Search recurses into any child container. The child actor with the requested name, or %NULL if no actor with that name was found. a #ClutterContainer 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. This function calls the #ClutterContainerIface.foreach() virtual function, which has been deprecated. Use clutter_actor_get_first_child() or clutter_actor_get_last_child() to retrieve the beginning of the list of children, and clutter_actor_get_next_sibling() and clutter_actor_get_previous_sibling() to iterate over it; alternatively, use the #ClutterActorIter API. a #ClutterContainer 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. This function calls the #ClutterContainerIface.foreach_with_internals() virtual function, which has been deprecated. See clutter_container_foreach(). a #ClutterContainer 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 @container specific state for @actor. the #ClutterChildMeta for the @actor child of @container or %NULL if the specifiec actor does not exist or the container is not configured to provide #ClutterChildMeta<!-- -->s a #ClutterContainer a #ClutterActor that is a child of @container. Retrieves all the children of @container. Use clutter_actor_get_children() instead. a list of #ClutterActor<!-- -->s. Use g_list_free() on the returned list when done. a #ClutterContainer Lowers @actor to @sibling level, in the depth ordering. This function calls the #ClutterContainerIface.lower() virtual function, which has been deprecated. The default implementation will call clutter_actor_set_child_below_sibling(). Use clutter_actor_set_child_below_sibling() instead. a #ClutterContainer 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. This function calls the #ClutterContainerIface.raise() virtual function, which has been deprecated. The default implementation will call clutter_actor_set_child_above_sibling(). Use clutter_actor_set_child_above_sibling() instead. a #ClutterContainer 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 @container. Each actor should be unparented, so if you want to keep it 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. This function will call #ClutterContainerIface.remove(), which is a deprecated virtual function. The default implementation will call clutter_actor_remove_child(). Use clutter_actor_remove_child() instead. a #ClutterContainer first #ClutterActor to remove a %NULL-terminated list of actors 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. This function will call #ClutterContainerIface.remove(), which is a deprecated virtual function. The default implementation will call clutter_actor_remove_child(). Use clutter_actor_remove_child() instead. a #ClutterContainer a #ClutterActor Alternative va_list version of clutter_container_remove(). This function will call #ClutterContainerIface.remove(), which is a deprecated virtual function. The default implementation will call clutter_actor_remove_child(). Use clutter_actor_remove_child() instead. a #ClutterContainer 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 #ClutterContainerIface.sort_depth_order() virtual function should not be used any more; the default implementation in #ClutterContainer does not do anything. a #ClutterContainer 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 the #GParamSpec of the 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 #ClutterContainer the first #ClutterActor to add a #ClutterContainer a #ClutterActor a #ClutterContainer a function to be called for each child data to be passed to the function, or %NULL a #ClutterContainer a function to be called for each child data to be passed to the function, or %NULL a #ClutterContainer the actor to raise the sibling to raise to, or %NULL to raise to the top a #ClutterContainer the actor to raise the sibling to lower to, or %NULL to lower to the bottom a #ClutterContainer The GType used for storing auxiliary information about each of the containers children. a #ClutterContainer a #ClutterActor a #ClutterContainer a #ClutterActor the #ClutterChildMeta for the @actor child of @container or %NULL if the specifiec actor does not exist or the container is not configured to provide #ClutterChildMeta<!-- -->s a #ClutterContainer a #ClutterActor that is a child of @container. a #ClutterContainer a #ClutterActor a #GParamSpec The #ClutterContent structure is an opaque type whose members cannot be acccessed directly. Retrieves the natural size of the @content, if any. The natural size of a #ClutterContent is defined as the size the content would have regardless of the allocation of the actor that is painting it, for instance the size of an image data. %TRUE if the content has a preferred size, and %FALSE otherwise a #ClutterContent return location for the natural width of the content return location for the natural height of the content Invalidates a #ClutterContent. This function should be called by #ClutterContent implementations when they change the way a the content should be painted regardless of the actor state. a #ClutterContent Retrieves the natural size of the @content, if any. The natural size of a #ClutterContent is defined as the size the content would have regardless of the allocation of the actor that is painting it, for instance the size of an image data. %TRUE if the content has a preferred size, and %FALSE otherwise a #ClutterContent return location for the natural width of the content return location for the natural height of the content Invalidates a #ClutterContent. This function should be called by #ClutterContent implementations when they change the way a the content should be painted regardless of the actor state. a #ClutterContent This signal is emitted each time a #ClutterContent implementation is assigned to a #ClutterActor. a #ClutterActor This signal is emitted each time a #ClutterContent implementation is removed from a #ClutterActor. a #ClutterActor Controls the alignment of the #ClutterContent inside a #ClutterActor. Align the content to the top left corner Align the content to the top edge Align the content to the top right corner Align the content to the left edge Align the content to the center Align the content to the right edge Align the content to the bottom left corner Align the content to the bottom edge Align the content to the bottom right corner Resize the content to fill the allocation Resize the content to remain within the allocation, while maintaining the aspect ratio The #ClutterContentIface structure contains only private data. %TRUE if the content has a preferred size, and %FALSE otherwise a #ClutterContent return location for the natural width of the content return location for the natural height of the content a #ClutterContent Content repeat modes. No repeat Repeat the content on the X axis Repeat the content on the Y axis Repeat the content on both axis Event for the movement of the pointer across different actors event type event time event flags event source stage event source actor event X coordinate event Y coordinate the device that originated the event. If you want the physical device the event originated from, use clutter_event_get_source_device() actor related to the crossing The #ClutterDeformEffect structure contains only private data and should be accessed using the provided API Retrieves the handle to the back face material used by @effect a handle for the material, or %NULL. The returned material is owned by the #ClutterDeformEffect and it should not be freed directly a #ClutterDeformEffect Retrieves the number of horizontal and vertical tiles used to sub-divide the actor's geometry during the effect a #ClutterDeformEffect 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 a #ClutterDeformEffect 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 #ClutterDeformEffect 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 a #ClutterDeformEffect 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 #ClutterDeformEffectClass structure contains only private data #ClutterDesaturateEffect 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 a #ClutterDesaturateEffect Sets the desaturation factor for @effect, with 0.0 being "do not desaturate" and 1.0 being "fully desaturate" a #ClutterDesaturateEffect 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 #ClutterDeviceManager singleton. The returned instance is owned by Clutter and it should not be modified or freed Retrieves the core #ClutterInputDevice of type @device_type Core devices are devices created automatically by the default Clutter backend a #ClutterInputDevice or %NULL. The returned device is owned by the #ClutterDeviceManager and should not be modified or freed a #ClutterDeviceManager the type of the core device Retrieves the #ClutterInputDevice with the given @device_id a #ClutterInputDevice or %NULL. The returned device is owned by the #ClutterDeviceManager and should never be modified or freed a #ClutterDeviceManager the integer id of a device Retrieves the core #ClutterInputDevice of type @device_type Core devices are devices created automatically by the default Clutter backend a #ClutterInputDevice or %NULL. The returned device is owned by the #ClutterDeviceManager and should not be modified or freed a #ClutterDeviceManager the type of the core device Retrieves the #ClutterInputDevice with the given @device_id a #ClutterInputDevice or %NULL. The returned device is owned by the #ClutterDeviceManager and should never be modified or freed a #ClutterDeviceManager 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 a #ClutterDeviceManager 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 a #ClutterDeviceManager 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 returned device is owned by the #ClutterDeviceManager and should not be modified or freed a #ClutterDeviceManager the type of the core device a #ClutterInputDevice or %NULL. The returned device is owned by the #ClutterDeviceManager and should never be modified or freed a #ClutterDeviceManager the integer id of a device The #ClutterDragAction structure contains only private data and should be accessed using the provided API Creates a new #ClutterDragAction instance the newly created #ClutterDragAction Retrieves the "drag area" associated with @action, that is a #ClutterRect that constrains the actor movements, in parents coordinates. %TRUE if the actor is actually constrained (and thus @drag_area is valid), %FALSE otherwise a #ClutterDragAction a #ClutterRect to be filled Retrieves the axis constraint set by clutter_drag_action_set_drag_axis() the axis constraint a #ClutterDragAction Retrieves the drag handle set by clutter_drag_action_set_drag_handle() a #ClutterActor, used as the drag handle, or %NULL if none was set a #ClutterDragAction Retrieves the values set by clutter_drag_action_set_drag_threshold(). If the #ClutterDragAction:x-drag-threshold property or the #ClutterDragAction:y-drag-threshold property have been set to -1 then this function will return the default drag threshold value as stored by the #ClutterSettings:dnd-drag-threshold property of #ClutterSettings. a #ClutterDragAction 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 a #ClutterDragAction 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 a #ClutterDragAction return location for the press event's X coordinate return location for the press event's Y coordinate Sets @drag_area to constrain the dragging of the actor associated with @action, so that it position is always within @drag_area, expressed in parent's coordinates. If @drag_area is %NULL, the actor is not constrained. a #ClutterDragAction a #ClutterRect Restricts the dragging action to a specific axis a #ClutterDragAction the axis to constraint the dragging to Sets the actor to be used as the drag handle. a #ClutterDragAction a #ClutterActor, or %NULL to unset Sets the horizontal and vertical drag thresholds that must be cleared by the pointer before @action can begin the dragging. If @x_threshold or @y_threshold are set to -1 then the default drag threshold stored in the #ClutterSettings:dnd-drag-threshold property of #ClutterSettings will be used. a #ClutterDragAction a distance on the horizontal axis, in pixels, or -1 to use the default drag threshold from #ClutterSettings a distance on the vertical axis, in pixels, or -1 to use the default drag threshold from #ClutterSettings Constains the dragging action (or in particular, the resulting actor position) to the specified #ClutterRect, in parent's coordinates. Whether the #ClutterDragAction:drag-area property has been set. 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 the cursor must travel in order to begin a drag action. When set to a positive 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. When set to -1, #ClutterDragAction will use the default threshold stored in the #ClutterSettings:dnd-drag-threshold property of #ClutterSettings. When read, this property will always return a valid drag threshold, either as set or the default one. The vertical threshold, in pixels, that the cursor must travel in order to begin a drag action. When set to a positive 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. When set to -1, #ClutterDragAction will use the value stored in the #ClutterSettings:dnd-drag-threshold property of #ClutterSettings. When read, this property will always return a valid drag threshold, either as set or the default one. 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 ::drag-motion signal is emitted for each motion event after the #ClutterDragAction::drag-begin signal has been emitted. The components of the distance between the press event and the latest motion event are computed in the actor's coordinate space, to take into account eventual transformations. If you want the stage coordinates of the latest motion event you can use clutter_drag_action_get_motion_coords(). The default handler of the signal will call clutter_actor_move_by() either on @actor or, if set, of #ClutterDragAction:drag-handle using the @delta_x and @delta_y components of the dragging motion. If you want to override the default behaviour, you can connect to the #ClutterDragAction::drag-progress signal and return %FALSE from the handler. the #ClutterActor attached to the action the X component of the distance between the press event that began the dragging and the current position of the pointer, as of the latest motion event the Y component of the distance between the press event that began the dragging and the current position of the pointer, as of the latest motion event The ::drag-progress signal is emitted for each motion event after the #ClutterDragAction::drag-begin signal has been emitted. The components of the distance between the press event and the latest motion event are computed in the actor's coordinate space, to take into account eventual transformations. If you want the stage coordinates of the latest motion event you can use clutter_drag_action_get_motion_coords(). The default handler will emit #ClutterDragAction::drag-motion, if #ClutterDragAction::drag-progress emission returns %TRUE. %TRUE if the drag should continue, and %FALSE if it should be stopped. the #ClutterActor attached to the action the X component of the distance between the press event that began the dragging and the current position of the pointer, as of the latest motion event the Y component of the distance between the press event that began the dragging and the current position of the pointer, as of the latest motion event The #ClutterDragActionClass structure contains only private data The axis of the constraint that should be applied on the dragging action No constraint Set a constraint on the X axis Set a constraint on the Y axis The #ClutterDropAction structure contains only private data and should be accessed using the provided API. Creates a new #ClutterDropAction. Use clutter_actor_add_action() to add the action to a #ClutterActor. the newly created #ClutterDropAction The ::can-drop signal is emitted when the dragged actor is dropped on @actor. The return value of the ::can-drop signal will determine whether or not the #ClutterDropAction::drop signal is going to be emitted on @action. The default implementation of #ClutterDropAction returns %TRUE for this signal. %TRUE if the drop is accepted, and %FALSE otherwise the #ClutterActor attached to the @action the X coordinate (in stage space) of the drop event the Y coordinate (in stage space) of the drop event The ::drop signal is emitted when the dragged actor is dropped on @actor. This signal is only emitted if at least an handler of #ClutterDropAction::can-drop returns %TRUE. the #ClutterActor attached to the @action the X coordinate (in stage space) of the drop event the Y coordinate (in stage space) of the drop event The ::drop-cancel signal is emitted when the drop is refused by an emission of the #ClutterDropAction::can-drop signal. After the ::drop-cancel signal is fired the active drag is terminated. the #ClutterActor attached to the @action the X coordinate (in stage space) of the drop event the Y coordinate (in stage space) of the drop event The ::over-in signal is emitted when the dragged actor crosses into @actor. the #ClutterActor attached to the @action The ::over-out signal is emitted when the dragged actor crosses outside @actor. the #ClutterActor attached to the @action The #ClutterDropActionClass structure contains only private data. Continues the propagation of an event; this macro should be used in event-related signals. Stops the propagation of an event; this macro should be used in event-related signals. The #ClutterEffect structure contains only private data and should be accessed using the provided API Queues a repaint of the effect. The effect can detect when the ‘paint’ method is called as a result of this function because it will not have the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY flag set. In that case the effect is free to assume that the actor has not changed its appearance since the last time it was painted so it doesn't need to call clutter_actor_continue_paint() if it can draw a cached image. This is mostly intended for effects that are using a %CoglOffscreen to redirect the actor (such as %ClutterOffscreenEffect). In that case the effect can save a bit of rendering time by painting the cached texture without causing the entire actor to be painted. This function can be used by effects that have their own animatable parameters. For example, an effect which adds a varying degree of a red tint to an actor by redirecting it through a CoglOffscreen might have a property to specify the level of tint. When this value changes, the underlying actor doesn't need to be redrawn so the effect can call clutter_effect_queue_repaint() to make sure the effect is repainted. Note however that modifying the position of the parent of an actor may change the appearance of the actor because its transformation matrix would change. In this case a redraw wouldn't be queued on the actor itself so the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY would still not be set. The effect can detect this case by keeping track of the last modelview matrix that was used to render the actor and veryifying that it remains the same in the next paint. Any other effects that are layered on top of the passed in effect will still be passed the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY flag. If anything queues a redraw on the actor without specifying an effect or with an effect that is lower in the chain of effects than this one then that will override this call. In that case this effect will instead be called with the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY flag set. A #ClutterEffect which needs redrawing The #ClutterEffectClass structure contains only private data Flags passed to the ‘paint’ or ‘pick’ method of #ClutterEffect. The actor or one of its children has queued a redraw before this paint. This implies that the effect should call clutter_actor_continue_paint() to chain to the next effect and can not cache any results from a previous paint. 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 A #ClutterEvent. Frees all resources used by @event. A #ClutterEvent. Retrieves the angle relative from @source to @target. The direction of the angle is from the position X axis towards the positive Y axis. the angle between two #ClutterEvent a #ClutterEvent a #ClutterEvent Retrieves the array of axes values attached to the event. an array of axis values a #ClutterEvent return location for the number of axes returned Retrieves the button number of @event the button number a #ClutterEvent of type %CLUTTER_BUTTON_PRESS or of type %CLUTTER_BUTTON_RELEASE Retrieves the number of clicks of @event the click count a #ClutterEvent of type %CLUTTER_BUTTON_PRESS or of type %CLUTTER_BUTTON_RELEASE Retrieves the coordinates of @event and puts them into @x and @y. a #ClutterEvent return location for the X coordinate, or %NULL return location for the Y coordinate, or %NULL Retrieves the #ClutterInputDevice for the event. If you want the physical device the event originated from, use clutter_event_get_source_device(). The #ClutterInputDevice structure is completely opaque and should be cast to the platform-specific implementation. the #ClutterInputDevice or %NULL. The returned device is owned by the #ClutterEvent and it should not be unreferenced a #ClutterEvent Retrieves the events device id if set. A unique identifier for the device or -1 if the event has no specific device set. a clutter event Retrieves the type of the device for @event the #ClutterInputDeviceType for the device, if any is set a #ClutterEvent Retrieves the distance between two events, a @source and a @target. the distance between two #ClutterEvent a #ClutterEvent a #ClutterEvent Retrieves the #ClutterEventSequence of @event. the event sequence, or %NULL a #ClutterEvent of type %CLUTTER_TOUCH_BEGIN, %CLUTTER_TOUCH_UPDATE, %CLUTTER_TOUCH_END, or %CLUTTER_TOUCH_CANCEL Retrieves the #ClutterEventFlags of @event the event flags a #ClutterEvent Returns the gesture motion deltas relative to the current pointer position. A clutter touchpad gesture event the displacement relative to the pointer position in the X axis, or %NULL the displacement relative to the pointer position in the Y axis, or %NULL Returns the phase of the event, See #ClutterTouchpadGesturePhase. the phase of the gesture event. a touchpad gesture event Returns the angle delta reported by this specific event. The angle delta relative to the previous event. a touchpad pinch event Returns the current scale as reported by @event, 1.0 being the original distance at the time the corresponding event with phase %CLUTTER_TOUCHPAD_GESTURE_PHASE_BEGIN is received. is received. the current pinch gesture scale a touchpad pinch event Returns the number of fingers that is triggering the touchpad gesture. the number of fingers swiping. a touchpad swipe event Retrieves the keycode of the key that caused @event The keycode representing the key a #ClutterEvent of type %CLUTTER_KEY_PRESS or of type %CLUTTER_KEY_RELEASE Retrieves the key symbol of @event the key symbol representing the key a #ClutterEvent of type %CLUTTER_KEY_PRESS or of type %CLUTTER_KEY_RELEASE Retrieves the unicode value for the key that caused @keyev. The unicode value representing the key a #ClutterEvent of type %CLUTTER_KEY_PRESS or %CLUTTER_KEY_RELEASE Retrieves the event coordinates as a #ClutterPoint. a #ClutterEvent a #ClutterPoint Retrieves the related actor of a crossing event. the related #ClutterActor, or %NULL a #ClutterEvent of type %CLUTTER_ENTER or of type %CLUTTER_LEAVE Retrieves the precise scrolling information of @event. The @event has to have a #ClutterScrollEvent.direction value of %CLUTTER_SCROLL_SMOOTH. a #ClutterEvent of type %CLUTTER_SCROLL return location for the delta on the horizontal axis return location for the delta on the vertical axis Retrieves the direction of the scrolling of @event the scrolling direction a #ClutterEvent of type %CLUTTER_SCROLL Returns the #ClutterScrollFinishFlags of an scroll event. Those can be used to determine whether post-scroll effects like kinetic scrolling should be applied. The scroll finish flags an scroll event Returns the #ClutterScrollSource that applies to an scroll event. The source of scroll events an scroll event Retrieves the source #ClutterActor the event originated from, or NULL if the event has no source. a #ClutterActor a #ClutterEvent Retrieves the hardware device that originated the event. If you need the virtual device, use clutter_event_get_device(). If no hardware device originated this event, this function will return the same device as clutter_event_get_device(). a pointer to a #ClutterInputDevice or %NULL a #ClutterEvent Retrieves the source #ClutterStage the event originated for, or %NULL if the event has no stage. a #ClutterStage a #ClutterEvent Retrieves the modifier state of the event. In case the window system supports reporting latched and locked modifiers, this function returns the effective state. the modifier state parameter, or 0 a #ClutterEvent Retrieves the decomposition of the keyboard state into button, base, latched, locked and effective. This can be used to transmit to other applications, for example when implementing a wayland compositor. a #ClutterEvent the pressed buttons as a mask the regular pressed modifier keys the latched modifier keys (currently released but still valid for one key press/release) the locked modifier keys (valid until the lock key is pressed and released again) the logical OR of all the state bits above Retrieves the time of the event. the time of the event, or %CLUTTER_CURRENT_TIME a #ClutterEvent Checks whether @event has the Control modifier mask set. %TRUE if the event has the Control modifier mask set a #ClutterEvent Checks whether @event has the Shift modifier mask set. %TRUE if the event has the Shift modifier mask set a #ClutterEvent Checks whether a pointer @event has been generated by the windowing system. The returned value can be used to distinguish between events synthesized by the windowing system itself (as opposed by Clutter). %TRUE if the event is pointer emulated a #ClutterEvent 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 a #ClutterEvent Sets the button number of @event a #ClutterEvent or type %CLUTTER_BUTTON_PRESS or of type %CLUTTER_BUTTON_RELEASE the button number Sets the coordinates of the @event. a #ClutterEvent the X coordinate of the event the Y coordinate of the event Sets the device for @event. a #ClutterEvent a #ClutterInputDevice, or %NULL Sets the #ClutterEventFlags of @event a #ClutterEvent a binary OR of #ClutterEventFlags values Sets the keycode of the @event. a #ClutterEvent of type %CLUTTER_KEY_PRESS or %CLUTTER_KEY_RELEASE the keycode representing the key Sets the key symbol of @event. a #ClutterEvent of type %CLUTTER_KEY_PRESS or %CLUTTER_KEY_RELEASE the key symbol representing the key Sets the Unicode value of @event. a #ClutterEvent of type %CLUTTER_KEY_PRESS or %CLUTTER_KEY_RELEASE the Unicode value representing the key Sets the related actor of a crossing event a #ClutterEvent of type %CLUTTER_ENTER or %CLUTTER_LEAVE a #ClutterActor or %NULL Sets the precise scrolling information of @event. a #ClutterEvent of type %CLUTTER_SCROLL delta on the horizontal axis delta on the vertical axis Sets the direction of the scrolling of @event a #ClutterEvent the scrolling direction Sets the source #ClutterActor of @event. a #ClutterEvent a #ClutterActor, or %NULL Sets the source #ClutterInputDevice for @event. The #ClutterEvent must have been created using clutter_event_new(). a #ClutterEvent a #ClutterInputDevice Sets the source #ClutterStage of the event. a #ClutterEvent a #ClutterStage, or %NULL Sets the modifier state of the event. a #ClutterEvent the modifier state to set Sets the time of the event. a #ClutterEvent the time of the event Retrieves the type of the event. a #ClutterEventType a #ClutterEvent Adds a function which will be called for all events that Clutter processes. The function will be called before any signals are emitted for the event and it will take precedence over any grabs. an identifier for the event filter, to be used with clutter_event_remove_filter(). The #ClutterStage to capture events for The callback function which will be passed all events. A #GDestroyNotify A data pointer to pass to the function. 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. Removes an event filter that was previously added with clutter_event_add_filter(). The ID of the event filter, as returned from clutter_event_add_filter() A function pointer type used by event filters that are added with clutter_event_add_filter(). %CLUTTER_EVENT_STOP to indicate that the event has been handled or %CLUTTER_EVENT_PROPAGATE otherwise. Returning %CLUTTER_EVENT_STOP skips any further filter functions and prevents the signal emission for the event. the event that is going to be emitted the data pointer passed to clutter_event_add_filter() Flags for the #ClutterEvent No flag set Synthetic event The #ClutterEventSequence structure is an opaque type used to denote the event sequence of a touch event. Types of events. Empty event Key press event Key release event Pointer motion event Actor enter event Actor leave event Pointer button press event Pointer button release event Pointer scroll event Stage state change event Destroy notification event Client message event Stage delete event A new touch event sequence has started; event added in 1.10 A touch event sequence has been updated; event added in 1.10 A touch event sequence has finished; event added in 1.10 A touch event sequence has been canceled; event added in 1.10 A pinch gesture event, the current state is determined by its phase field; event added in 1.24 A swipe gesture event, the current state is determined by its phase field; event added in 1.24 Marks the end of the #ClutterEventType enumeration; added in 1.10 GL Windowing system used The macro evaluates to "deprecated" as Clutter can be compiled with multiple windowing system backends. Use the various CLUTTER_WINDOWING_* macros to detect the windowing system that Clutter is being compiled against, and the type check macros for the #ClutterBackend for a run-time check. Runtime flags indicating specific features available via Clutter window system and graphics backend. Set if NPOTS textures supported. Set if vblank syncing supported. Set if YUV based textures supported. Set if texture pixels can be read. Set if stage size if fixed (i.e framebuffer) Set if stage is able to be user resized. Set if stage has a graphical cursor. Set if the backend supports GLSL shaders. Set if the backend supports offscreen rendering. Set if multiple stages are supported. Set if the GLX_INTEL_swap_event is supported. 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 the spacing between columns of the #ClutterFlowLayout, in pixels a #ClutterFlowLayout Retrieves the minimum and maximum column widths a #ClutterFlowLayout 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 a #ClutterFlowLayout Retrieves the orientation of the @layout the orientation of the #ClutterFlowLayout a #ClutterFlowLayout Retrieves the minimum and maximum row heights a #ClutterFlowLayout return location for the minimum row height, or %NULL return location for the maximum row height, or %NULL Retrieves the spacing between rows the spacing between rows of the #ClutterFlowLayout, in pixels a #ClutterFlowLayout Retrieves the value of #ClutterFlowLayout:snap-to-grid property %TRUE if the @layout is placing its children on a grid a #ClutterFlowLayout Sets the space between columns, in pixels a #ClutterFlowLayout the space between columns Sets the minimum and maximum widths that a column can have a #ClutterFlowLayout minimum width of a column maximum width of a column Sets whether the @layout should allocate the same space for each child a #ClutterFlowLayout whether the layout should be homogeneous or not Sets the orientation of the flow layout The orientation controls the direction used to allocate the children: either horizontally or vertically. The orientation also controls the direction of the overflowing a #ClutterFlowLayout the orientation of the layout Sets the minimum and maximum heights that a row can have a #ClutterFlowLayout the minimum height of a row the maximum height of a row Sets the spacing between rows, in pixels a #ClutterFlowLayout the space between rows Whether the @layout should place its children on a grid. a #ClutterFlowLayout %TRUE if @layout should place its children on a grid 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 Whether the #ClutterFlowLayout should arrange its children on a grid 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 Arrange the children of the flow layout horizontally first Arrange the children of the flow layout vertically first Fog settings used to create the depth cueing effect. The fog-related API in #ClutterStage has been deprecated as well. starting distance from the viewer to the near clipping plane (always positive) final distance from the viewer to the far clipping plane (always positive) Runtime flags to change the font quality. To be used with clutter_set_font_flags(). Use #cairo_font_options_t instead Set to use mipmaps for the glyph cache textures. Set to enable hinting on the glyphs. The rectangle containing an actor's bounding box, measured in pixels. You should not use #ClutterGeometry, or operate on its fields directly; you should use #cairo_rectangle_int_t or #ClutterRect if you need a rectangle type, depending on the precision required. X coordinate of the top left corner of an actor Y coordinate of the top left corner of an actor width of an actor height of an actor Determines if @geometry0 and geometry1 intersect returning %TRUE if they do else %FALSE. Use #ClutterRect and clutter_rect_intersection() %TRUE of @geometry0 and geometry1 intersect else %FALSE. The first geometry to test The second geometry to test Find the union of two rectangles represented as #ClutterGeometry. Use #ClutterRect and clutter_rect_union() a #ClutterGeometry another #ClutterGeometry location to store the result The #ClutterGestureAction structure contains only private data and should be accessed using the provided API Creates a new #ClutterGestureAction instance. the newly created #ClutterGestureAction Cancel a #ClutterGestureAction before it begins a #ClutterGestureAction Retrieves the #ClutterInputDevice of a touch point. the #ClutterInputDevice of a touch point. a #ClutterGestureAction the touch point index, with 0 being the first touch point received by the action Retrieves a reference to the last #ClutterEvent for a touch point. Call clutter_event_copy() if you need to store the reference somewhere. the last #ClutterEvent for a touch point. a #ClutterGestureAction index of a point currently active Retrieves the coordinates, in stage space, of the latest motion event during the dragging. a #ClutterGestureAction the touch point index, with 0 being the first touch point received by the action return location for the latest motion event's X coordinate return location for the latest motion event's Y coordinate Retrieves the incremental delta since the last motion event during the dragging. the distance since last motion event a #ClutterGestureAction the touch point index, with 0 being the first touch point received by the action return location for the X axis component of the incremental motion delta return location for the Y axis component of the incremental motion delta Retrieves the number of points currently active. the number of points currently active. a #ClutterGestureAction Retrieves the number of requested points to trigger the gesture. the number of points to trigger the gesture. a #ClutterGestureAction Retrieves the coordinates, in stage space, of the press event that started the dragging for a specific touch point. a #ClutterGestureAction the touch point index, with 0 being the first touch point received by the action return location for the press event's X coordinate return location for the press event's Y coordinate Retrieves the coordinates, in stage space, where the touch point was last released. a #ClutterGestureAction the touch point index, with 0 being the first touch point received by the action return location for the X coordinate of the last release return location for the Y coordinate of the last release Retrieves the #ClutterEventSequence of a touch point. the #ClutterEventSequence of a touch point. a #ClutterGestureAction index of a point currently active Retrieves the threshold trigger distance of the gesture @action, as set using clutter_gesture_action_set_threshold_trigger_distance(). a #ClutterGestureAction The return location for the horizontal distance, or %NULL The return location for the vertical distance, or %NULL Retrieves the edge trigger of the gesture @action, as set using clutter_gesture_action_set_threshold_trigger_edge(). the edge trigger a #ClutterGestureAction Retrieves the edge trigger of the gesture @action, as set using clutter_gesture_action_set_threshold_trigger_edge(). Use clutter_gesture_action_get_threshold_trigger_edge() instead. the edge trigger a #ClutterGestureAction Retrieves the velocity, in stage pixels per millisecond, of the latest motion event during the dragging. a #ClutterGestureAction the touch point index, with 0 being the first touch point received by the action return location for the latest motion event's X velocity return location for the latest motion event's Y velocity Sets the number of points needed to trigger the gesture. a #ClutterGestureAction a number of points Sets the threshold trigger distance for the gesture drag threshold, if any. This function should only be called by sub-classes of #ClutterGestureAction during their construction phase. a #ClutterGestureAction the distance on the horizontal axis the distance on the vertical axis Sets the edge trigger for the gesture drag threshold, if any. This function should only be called by sub-classes of #ClutterGestureAction during their construction phase. a #ClutterGestureAction the %ClutterGestureTriggerEdge Number of touch points to trigger a gesture action. The horizontal trigger distance to be used by the action to either emit the #ClutterGestureAction::gesture-begin signal or to emit the #ClutterGestureAction::gesture-cancel signal. A negative value will be interpreted as the default drag threshold. The vertical trigger distance to be used by the action to either emit the #ClutterGestureAction::gesture-begin signal or to emit the #ClutterGestureAction::gesture-cancel signal. A negative value will be interpreted as the default drag threshold. The trigger edge to be used by the action to either emit the #ClutterGestureAction::gesture-begin signal or to emit the #ClutterGestureAction::gesture-cancel signal. The ::gesture_begin signal is emitted when the #ClutterActor to which a #ClutterGestureAction has been applied starts receiving a gesture. %TRUE if the gesture should start, and %FALSE if the gesture should be ignored. the #ClutterActor attached to the @action The ::gesture-cancel signal is emitted when the ongoing gesture gets cancelled from the #ClutterGestureAction::gesture-progress signal handler. This signal is emitted if and only if the #ClutterGestureAction::gesture-begin signal has been emitted first. the #ClutterActor attached to the @action The ::gesture-end signal is emitted at the end of the gesture gesture, when the pointer's button is released This signal is emitted if and only if the #ClutterGestureAction::gesture-begin signal has been emitted first. the #ClutterActor attached to the @action The ::gesture-progress signal is emitted for each motion event after the #ClutterGestureAction::gesture-begin signal has been emitted. %TRUE if the gesture should continue, and %FALSE if the gesture should be cancelled. the #ClutterActor attached to the @action The #ClutterGestureClass structure contains only private data. Enum passed to the clutter_gesture_action_set_threshold_trigger_edge() function. Tell #ClutterGestureAction that the gesture must begin immediately and there's no drag limit that will cause its cancellation; Tell #ClutterGestureAction that it needs to wait until the drag threshold has been exceeded before considering that the gesture has begun; Tell #ClutterGestureAction that the gesture must begin immediately and that it must be cancelled once the drag exceed the configured threshold. 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. Use the normalized #ClutterActor pivot point instead Do not apply any gravity Scale from topmost downwards Scale from the top right corner Scale from the right side Scale from the bottom right corner Scale from the bottom upwards Scale from the bottom left corner Scale from the left side Scale from the top left corner Scale from the center. The #ClutterGridLayout structure contains only private data and should be accessed using the provided API Creates a new #ClutterGridLayout the new #ClutterGridLayout Adds a widget to the grid. The position of @child is determined by @left and @top. The number of 'cells' that @child will occupy is determined by @width and @height. a #ClutterGridLayout the #ClutterActor to add the column number to attach the left side of @child to the row number to attach the top side of @child to the number of columns that @child will span the number of rows that @child will span Adds a actor to the grid. The actor is placed next to @sibling, on the side determined by @side. When @sibling is %NULL, the actor is placed in row (for left or right placement) or column 0 (for top or bottom placement), at the end indicated by @side. Attaching widgets labeled [1], [2], [3] with @sibling == %NULL and @side == %CLUTTER_GRID_POSITION_LEFT yields a layout of [3][2][1]. a #ClutterGridLayout the actor to add the child of @layout that @child will be placed next to, or %NULL to place @child at the beginning or end the side of @sibling that @child is positioned next to the number of columns that @child will span the number of rows that @child will span Gets the child of @layout whose area covers the grid cell whose upper left corner is at @left, @top. the child at the given position, or %NULL a #ClutterGridLayout the left edge of the cell the top edge of the cell Returns whether all columns of @layout have the same width. whether all columns of @layout have the same width. a #ClutterGridLayout Retrieves the spacing set using clutter_grid_layout_set_column_spacing() the spacing between coluns of @layout a #ClutterGridLayout Retrieves the orientation of the @layout. the orientation of the layout a #ClutterGridLayout Returns whether all rows of @layout have the same height. whether all rows of @layout have the same height. a #ClutterGridLayout Retrieves the spacing set using clutter_grid_layout_set_row_spacing() the spacing between rows of @layout a #ClutterGridLayout Inserts a column at the specified position. Children which are attached at or to the right of this position are moved one column to the right. Children which span across this position are grown to span the new column. a #ClutterGridLayout the position to insert the column at Inserts a row or column at the specified position. The new row or column is placed next to @sibling, on the side determined by @side. If @side is %CLUTTER_GRID_POSITION_LEFT or %CLUTTER_GRID_POSITION_BOTTOM, a row is inserted. If @side is %CLUTTER_GRID_POSITION_LEFT of %CLUTTER_GRID_POSITION_RIGHT, a column is inserted. a #ClutterGridLayout the child of @layout that the new row or column will be placed next to the side of @sibling that @child is positioned next to Inserts a row at the specified position. Children which are attached at or below this position are moved one row down. Children which span across this position are grown to span the new row. a #ClutterGridLayout the position to insert the row at Sets whether all columns of @layout will have the same width. a #ClutterGridLayout %TRUE to make columns homogeneous Sets the spacing between columns of @layout a #ClutterGridLayout the spacing between columns of the layout, in pixels Sets the orientation of the @layout. #ClutterGridLayout uses the orientation as a hint when adding children to the #ClutterActor using it as a layout manager via clutter_actor_add_child(); changing this value will not have any effect on children that are already part of the layout. a #ClutterGridLayout the orientation of the #ClutterGridLayout Sets whether all rows of @layout will have the same height. a #ClutterGridLayout %TRUE to make rows homogeneous Sets the spacing between rows of @layout a #ClutterGridLayout the spacing between rows of the layout, in pixels Whether all columns of the layout should have the same width The amount of space in pixels between two consecutive columns The orientation of the layout, either horizontal or vertical Whether all rows of the layout should have the same height The amount of space in pixels between two consecutive rows The #ClutterGridLayoutClass structure contains only private data and should be accessed using the provided API Grid position modes. left position right position top position bottom position The #ClutterGroup structure contains only private data and should be accessed using the provided API Create a new #ClutterGroup. Use clutter_actor_new() instead. the newly created #ClutterGroup actor Gets the number of actors held in the group. Use clutter_actor_get_n_children() instead. The number of child actors held in the group. A #ClutterGroup Gets a groups child held at @index_ in stack. Use clutter_actor_get_child_at_index() instead. A Clutter actor, or %NULL if @index_ is invalid. A #ClutterGroup the position of the requested actor. Removes all children actors from the #ClutterGroup. Use clutter_actor_remove_all_children() instead. A #ClutterGroup The #ClutterGroupClass structure contains only private data The #ClutterImage structure contains private data and should only be accessed using the provided API. Creates a new #ClutterImage instance. the newly created #ClutterImage instance. Use g_object_unref() when done. Sets the image data to be display by @image, using @rect to indicate the position and size of the image data to be set. If the @image does not have any image data set when this function is called, a new texture will be created with the size of the width and height of the rectangle, i.e. calling this function on a newly created #ClutterImage will be the equivalent of calling clutter_image_set_data(). If the image data was successfully loaded, the @image will be invalidated. In case of error, the @error value will be set, and this function will return %FALSE. The image data is copied in texture memory. %TRUE if the image data was successfully loaded, and %FALSE otherwise. a #ClutterImage the image data, as an array of bytes the Cogl pixel format of the image data a rectangle indicating the area that should be set the length of each row inside @data Sets the image data stored inside a #GBytes to be displayed by @image. If the image data was successfully loaded, the @image will be invalidated. In case of error, the @error value will be set, and this function will return %FALSE. The image data contained inside the #GBytes is copied in texture memory, and no additional reference is acquired on the @data. %TRUE if the image data was successfully loaded, and %FALSE otherwise. a #ClutterImage the image data, as a #GBytes the Cogl pixel format of the image data the width of the image data the height of the image data the length of each row inside @data Sets the image data to be displayed by @image. If the image data was successfully loaded, the @image will be invalidated. In case of error, the @error value will be set, and this function will return %FALSE. The image data is copied in texture memory. The image data is expected to be a linear array of RGBA or RGB pixel data; how to retrieve that data is left to platform specific image loaders. For instance, if you use the GdkPixbuf library: |[<!-- language="C" --> ClutterContent *image = clutter_image_new (); GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file (filename, NULL); clutter_image_set_data (CLUTTER_IMAGE (image), gdk_pixbuf_get_pixels (pixbuf), gdk_pixbuf_get_has_alpha (pixbuf) ? COGL_PIXEL_FORMAT_RGBA_8888 : COGL_PIXEL_FORMAT_RGB_888, gdk_pixbuf_get_width (pixbuf), gdk_pixbuf_get_height (pixbuf), gdk_pixbuf_get_rowstride (pixbuf), &error); g_object_unref (pixbuf); ]| %TRUE if the image data was successfully loaded, and %FALSE otherwise. a #ClutterImage the image data, as an array of bytes the Cogl pixel format of the image data the width of the image data the height of the image data the length of each row inside @data The #ClutterImageClass structure contains private data. Error enumeration for #ClutterImage. Invalid data passed to the clutter_image_set_data() function. Error conditions returned by clutter_init() and clutter_init_with_args(). Initialisation successful Unknown error Thread initialisation failed Backend initialisation failed Internal error The type of axes Clutter recognizes on a #ClutterInputDevice Unused axis The position on the X axis The position of the Y axis The pressure information The tilt on the X axis The tile on the Y axis A wheel Distance (Since 1.12) Last value of the enumeration; this value is useful when iterating over the enumeration values (Since 1.12) Generic representation of an input device. The actual contents of this structure depend on the backend used. Retrieves a pointer to the #ClutterInputDevice that has been associated to @device. If the #ClutterInputDevice:device-mode property of @device is set to %CLUTTER_INPUT_MODE_MASTER, this function will return %NULL. a #ClutterInputDevice, or %NULL a #ClutterInputDevice Retrieves the type of axis on @device at the given index. the axis type a #ClutterInputDevice the index of the axis Extracts the value of the given @axis of a #ClutterInputDevice from an array of axis values. An example of typical usage for this function is: |[ ClutterInputDevice *device = clutter_event_get_device (event); gdouble *axes = clutter_event_get_axes (event, NULL); gdouble pressure_value = 0; clutter_input_device_get_axis_value (device, axes, CLUTTER_INPUT_AXIS_PRESSURE, &pressure_value); ]| %TRUE if the value was set, and %FALSE otherwise a #ClutterInputDevice an array of axes values, typically coming from clutter_event_get_axes() the axis to extract return location for the axis value Retrieves the latest coordinates of a pointer or touch point of @device. %FALSE if the device's sequence hasn't been found, and %TRUE otherwise. a #ClutterInputDevice a #ClutterEventSequence, or %NULL if the device is not touch-based return location for the pointer or touch point Retrieves the latest coordinates of the pointer of @device Use clutter_input_device_get_coords() instead. a #ClutterInputDevice of type %CLUTTER_POINTER_DEVICE return location for the X coordinate return location for the Y coordinate Retrieves the unique identifier of @device the identifier of the device a #ClutterInputDevice Retrieves the #ClutterInputMode of @device. the device mode a #ClutterInputDevice Retrieves the name of the @device the name of the device, or %NULL. The returned string is owned by the #ClutterInputDevice and should never be modified or freed a #ClutterInputDevice Retrieves the type of @device the type of the device a #ClutterInputDevice Retrieves whether @device is enabled. %TRUE if the device is enabled a #ClutterInputDevice Retrieves a pointer to the #ClutterActor currently grabbing all the events coming from @device. a #ClutterActor, or %NULL a #ClutterInputDevice Retrieves whether @device has a pointer that follows the device motion. %TRUE if the device has a cursor a #ClutterInputDevice Retrieves the key set using clutter_input_device_set_key() %TRUE if a key was set at the given index a #ClutterInputDevice the index of the key return location for the keyval at @index_ return location for the modifiers at @index_ Retrieves the current modifiers state of the device, as seen by the last event Clutter processed. the last known modifier state a #ClutterInputDevice Retrieves the number of axes available on @device. the number of axes on the device a #ClutterInputDevice Retrieves the number of keys registered for @device. the number of registered keys a #ClutterInputDevice Retrieves the #ClutterActor underneath the pointer of @device a pointer to the #ClutterActor or %NULL a #ClutterInputDevice of type %CLUTTER_POINTER_DEVICE Retrieves the #ClutterStage underneath the pointer of @device a pointer to the #ClutterStage or %NULL a #ClutterInputDevice of type %CLUTTER_POINTER_DEVICE Gets the product ID of this device. the product ID a slave #ClutterInputDevice Retrieves the slave devices attached to @device. a list of #ClutterInputDevice, or %NULL. The contents of the list are owned by the device. Use g_list_free() when done a #ClutterInputDevice Gets the vendor ID of this device. the vendor ID a slave #ClutterInputDevice Acquires a grab on @actor for the given @device. Any event coming from @device will be delivered to @actor, bypassing the usual event delivery mechanism, until the grab is released by calling clutter_input_device_ungrab(). The grab is client-side: even if the windowing system used by the Clutter backend has the concept of "device grabs", Clutter will not use them. Only #ClutterInputDevice of types %CLUTTER_POINTER_DEVICE and %CLUTTER_KEYBOARD_DEVICE can hold a grab. a #ClutterInputDevice a #ClutterActor Translates a hardware keycode from a #ClutterKeyEvent to the equivalent evdev keycode. Note that depending on the input backend used by Clutter this function can fail if there is no obvious mapping between the key codes. The hardware keycode can be taken from the #ClutterKeyEvent.hardware_keycode member of #ClutterKeyEvent. %TRUE if the conversion succeeded, %FALSE otherwise. A #ClutterInputDevice The hardware keycode from a #ClutterKeyEvent The return location for the evdev keycode Retrieves a pointer to the #ClutterActor currently grabbing the touch events coming from @device given the @sequence. a #ClutterActor, or %NULL a #ClutterInputDevice a #ClutterEventSequence Acquires a grab on @actor for the given @device and the given touch @sequence. Any touch event coming from @device and from @sequence will be delivered to @actor, bypassing the usual event delivery mechanism, until the grab is released by calling clutter_input_device_sequence_ungrab(). The grab is client-side: even if the windowing system used by the Clutter backend has the concept of "device grabs", Clutter will not use them. a #ClutterInputDevice a #ClutterEventSequence a #ClutterActor Releases the grab on the @device for the given @sequence, if one is in place. a #ClutterInputDevice a #ClutterEventSequence Enables or disables a #ClutterInputDevice. Only devices with a #ClutterInputDevice:device-mode property set to %CLUTTER_INPUT_MODE_SLAVE or %CLUTTER_INPUT_MODE_FLOATING can be disabled. a #ClutterInputDevice %TRUE to enable the @device Sets the keyval and modifiers at the given @index_ for @device. Clutter will use the keyval and modifiers set when filling out an event coming from the same input device. a #ClutterInputDevice the index of the key the keyval a bitmask of modifiers Releases the grab on the @device, if one is in place. a #ClutterInputDevice Forcibly updates the state of the @device using a #ClutterEvent This function should never be used by applications: it is meant 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, &c_event); clutter_do_event (&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, &c_event); // get the device manager manager = clutter_device_manager_get_default (); // use the default Core Pointer that Clutter backends register by default device = clutter_device_manager_get_core_device (manager, %CLUTTER_POINTER_DEVICE); // update the state of the input device clutter_input_device_update_from_event (device, &c_event, FALSE); clutter_do_event (&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 #ClutterInputDevice a #ClutterEvent whether to update the #ClutterStage of the @device using the stage of the event The #ClutterBackend that created the device. The #ClutterDeviceManager instance which owns the device The type of the device Whether the device is enabled. A device with the #ClutterInputDevice:device-mode property set to %CLUTTER_INPUT_MODE_MASTER cannot be disabled. A device must be enabled in order to receive events from it. Whether the device has an on screen cursor following its movement. The unique identifier of the device The number of axes of the device. The name of the device Product ID of this device. Vendor ID of this device. The types of input devices available. The #ClutterInputDeviceType enumeration can be extended at later date; not every platform supports every input device type. A pointer device A keyboard device A generic extension device A joystick device A tablet device A touchpad device A touch screen device A pen device An eraser device A cursor device The number of device types The mode for input devices available. A master, virtual device A slave, physical device, attached to a master device A slave, physical device, not attached to a master device The mode of interpolation between key frames linear interpolation cubic interpolation 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 the initial value and the final value of 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 @func to establish the value depending on the given progress, 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 a #ClutterInterval 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 #ClutterInterval a #GParamSpec Creates a copy of @interval. the newly created #ClutterInterval a #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() a pointer to the computed value, or %NULL if the computation was not successfull a #ClutterInterval 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 a #ClutterInterval 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 #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 #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. a #ClutterInterval return locations for the initial and final values of the interval Retrieves the #GType of the values inside @interval. the type of the value, or G_TYPE_INVALID a #ClutterInterval Checks if the @interval has a valid initial and final values. %TRUE if the #ClutterInterval has an initial and final values, and %FALSE otherwise a #ClutterInterval Gets the pointer to the final value of @interval the final value of the interval. The value is owned by the #ClutterInterval and it should not be modified or freed a #ClutterInterval Gets the pointer to the initial value of @interval the initial value of the interval. The value is owned by the #ClutterInterval and it should not be modified or freed a #ClutterInterval Variadic arguments version of clutter_interval_set_final_value(). This function is meant as a convenience for the C API. Language bindings should use clutter_interval_set_final_value() instead. a #ClutterInterval the final value of the interval Sets the final value of @interval to @value. The value is copied inside the #ClutterInterval. a #ClutterInterval a #GValue Variadic arguments version of clutter_interval_set_initial_value(). This function is meant as a convenience for the C API. Language bindings should use clutter_interval_set_initial_value() instead. a #ClutterInterval the initial value of the interval. Sets the initial value of @interval to @value. The value is copied inside the #ClutterInterval. a #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. a #ClutterInterval the initial and final values of the interval Validates the initial and final values of @interval against a #GParamSpec. %TRUE if the #ClutterInterval is valid, %FALSE otherwise a #ClutterInterval a #GParamSpec The final value of the interval. The initial value of the interval. The type of the values in the interval. The #ClutterIntervalClass contains only private data. %TRUE if the #ClutterInterval is valid, %FALSE otherwise a #ClutterInterval a #GParamSpec %TRUE if the operation was successful a #ClutterInterval the progress factor, between 0 and 1 return location for an initialized #GValue Key event event type event time event flags event source stage event source actor key modifiers raw key value raw hardware key value Unicode representation the device that originated the event. If you want the physical device the event originated from, use clutter_event_get_source_device() The `ClutterKeyframeTransition` structure contains only private data and should be accessed using the provided API. Creates a new #ClutterKeyframeTransition for @property_name. the newly allocated #ClutterKeyframeTransition instance. Use g_object_unref() when done to free its resources. the property to animate Removes all key frames from @transition. a #ClutterKeyframeTransition Retrieves the details of the key frame at @index_ inside @transition. The @transition must already have key frames set, and @index_ must be smaller than the number of key frames. a #ClutterKeyframeTransition the index of the key frame return location for the key, or %NULL return location for the easing mode, or %NULL a #GValue initialized with the type of the values Retrieves the number of key frames inside @transition. the number of key frames a #ClutterKeyframeTransition Sets the key frames of the @transition. This variadic arguments function is a convenience for C developers; language bindings should use clutter_keyframe_transition_set_key_frames(), clutter_keyframe_transition_set_modes(), and clutter_keyframe_transition_set_values() instead. a #ClutterKeyframeTransition the type of the values to use for the key frames the number of key frames between the initial and final values a list of tuples, containing the key frame index, the value at the key frame, and the animation mode Sets the details of the key frame at @index_ inside @transition. The @transition must already have a key frame at @index_, and @index_ must be smaller than the number of key frames inside @transition. a #ClutterKeyframeTransition the index of the key frame the key of the key frame the easing mode of the key frame a #GValue containing the value of the key frame Sets the keys for each key frame inside @transition. If @transition does not hold any key frame, @n_key_frames key frames will be created; if @transition already has key frames, @key_frames must have at least as many elements as the number of key frames. a #ClutterKeyframeTransition the number of values an array of keys between 0.0 and 1.0, one for each key frame Sets the easing modes for each key frame inside @transition. If @transition does not hold any key frame, @n_modes key frames will be created; if @transition already has key frames, @modes must have at least as many elements as the number of key frames. a #ClutterKeyframeTransition the number of easing modes an array of easing modes, one for each key frame Sets the values for each key frame inside @transition. If @transition does not hold any key frame, @n_values key frames will be created; if @transition already has key frames, @values must have at least as many elements as the number of key frames. a #ClutterKeyframeTransition the number of values an array of values, one for each key frame The `ClutterKeyframeTransitionClass` structure contains only private data. Point in a path behaviour. X coordinate of the knot Y coordinate of the knot Makes an allocated copy of a knot. the copied knot. a #ClutterKnot Compares to knot and checks if the point to the same location. %TRUE if the knots point to the same location. First knot Second knot Frees the memory of an allocated knot. a #ClutterKnot 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() a #ClutterLayoutManager 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 The #ClutterAlpha created by the layout manager; the returned instance is owned by the layout manager and should not be unreferenced a #ClutterLayoutManager 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 a #ClutterLayoutManager 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 a #ClutterLayoutManager Computes the minimum and natural heights of the @container according to @manager. See also clutter_actor_get_preferred_height() a #ClutterLayoutManager 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() a #ClutterLayoutManager 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 a #ClutterLayoutManager 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 #ClutterLayoutManager a #ClutterContainer using @manager Allocates the children of @container given an area See also clutter_actor_allocate() a #ClutterLayoutManager 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 The #ClutterAlpha created by the layout manager; the returned instance is owned by the layout manager and should not be unreferenced a #ClutterLayoutManager 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 #ClutterLayoutManager a #ClutterContainer using @manager a #ClutterActor child of @container the name of the first property a list of property name and return location for the value pairs 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 #ClutterLayoutManager 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 #ClutterLayoutManager a #ClutterContainer using @manager a #ClutterActor child of @container the first property name a list of property name and value pairs Sets a property on the #ClutterLayoutMeta created by @manager and attached to a child of @container a #ClutterLayoutManager 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 a #ClutterLayoutManager Retrieves the #GParamSpec for the layout property @name inside the #ClutterLayoutMeta sub-class used by @manager a #GParamSpec describing the property, 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 #ClutterLayoutManager 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 a #ClutterLayoutManager Retrieves the #ClutterLayoutMeta that the layout @manager associated to the @actor child of @container, eventually by creating one if the #ClutterLayoutManager supports layout properties a #ClutterLayoutMeta, or %NULL if the #ClutterLayoutManager does not have layout properties. The returned layout meta instance is owned by the #ClutterLayoutManager and it should not be unreferenced a #ClutterLayoutManager 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() a #ClutterLayoutManager 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() a #ClutterLayoutManager 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 a #ClutterLayoutManager Retrieves all the #GParamSpec<!-- -->s for the layout properties stored inside the #ClutterLayoutMeta sub-class used by @manager the newly-allocated, %NULL-terminated array of #GParamSpec<!-- -->s. Use g_free() to free the resources allocated for the array a #ClutterLayoutManager 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 #ClutterLayoutManager 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 a #ClutterLayoutManager 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 a #ClutterLayoutManager 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 a #ClutterLayoutManager the #ClutterContainer using @manager the #ClutterActorBox containing the allocated area of @container the allocation flags a #ClutterLayoutManager a #ClutterContainer using @manager The #ClutterAlpha created by the layout manager; the returned instance is owned by the layout manager and should not be unreferenced a #ClutterLayoutManager the duration of the animation, in milliseconds the easing mode of the animation the progress of the animation a #ClutterLayoutManager a #ClutterLayoutManager a #ClutterLayoutManager Sub-class of #ClutterChildMeta specific for layout managers A #ClutterLayoutManager sub-class should create a #ClutterLayoutMeta instance by overriding the #ClutterLayoutManager::create_child_meta() virtual function Retrieves the actor wrapped by @data a #ClutterLayoutManager a #ClutterLayoutMeta The #ClutterLayoutManager that created this #ClutterLayoutMeta. the layout manager handling this data The #ClutterLayoutMetaClass contains only private data and should never be accessed directly The #ClutterListModel struct contains only private data. Use #GListStore instead 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. Use #GListStore instead a new #ClutterListModel number of columns in the model @n_columns number of #GType and string pairs Non-vararg version of clutter_list_model_new(). This function is useful for language bindings. Use #GListStore instead 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. Use #GListStore instead The states for the #ClutterClickAction::long-press signal. Queries the action whether it supports long presses Activates the action on a long press The long press was cancelled The major version of the Clutter library (1, if %CLUTTER_VERSION is 1.2.3) The micro version of the Clutter library (3, if %CLUTTER_VERSION is 1.2.3) The minor version of the Clutter library (2, if %CLUTTER_VERSION is 1.2.3) A representation of the components of a margin. the margin from the left the margin from the right the margin from the top the margin from the bottom Creates a new #ClutterMargin. a newly allocated #ClutterMargin. Use clutter_margin_free() to free the resources associated with it when done. Creates a new #ClutterMargin and copies the contents of @margin_ into the newly created structure. a copy of the #ClutterMargin. a #ClutterMargin Frees the resources allocated by clutter_margin_new() and clutter_margin_copy(). a #ClutterMargin #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 a #ClutterMedia Retrieves the amount of the stream that is buffered. the fill level, between 0.0 and 1.0 a #ClutterMedia Retrieves whether @media is seekable or not. %TRUE if @media can seek, %FALSE otherwise. a #ClutterMedia Retrieves the duration of the media stream that @media represents. the duration of the media stream, in seconds a #ClutterMedia Retrieves the playing status of @media. %TRUE if playing, %FALSE if stopped. A #ClutterMedia object Retrieves the playback progress of @media. the playback progress, between 0.0 and 1.0 a #ClutterMedia Retrieves the font name currently used. a string containing the font name. Use g_free() to free the returned string a #ClutterMedia Retrieves the URI of the subtitle file in use. the URI of the subtitle file. Use g_free() to free the returned string a #ClutterMedia Retrieves the URI from @media. the URI of the media stream. Use g_free() to free the returned string a #ClutterMedia Sets the playback volume of @media to @volume. a #ClutterMedia the volume as a double between 0.0 and 1.0 Sets the source of @media using a file path. a #ClutterMedia A filename Starts or stops playing of @media. The implementation might be asynchronous, so the way to know whether the actual playing state of the @media is to use the #GObject::notify signal on the #ClutterMedia:playing property and then retrieve the current state with clutter_media_get_playing(). ClutterGstVideoTexture in clutter-gst is an example of such an asynchronous implementation. a #ClutterMedia %TRUE to start playing Sets the playback progress of @media. The @progress is a normalized value between 0.0 (begin) and 1.0 (end). a #ClutterMedia 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 #ClutterMedia a font name, or %NULL to set the default font name Sets the location of a subtitle file to display while playing @media. a #ClutterMedia the URI of a subtitle file Sets the URI of @media to @uri. a #ClutterMedia 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. Use #GListModel instead Retrieves the name of the @column Use #GListModel instead the name of the column. The model holds the returned string, and it should not be modified or freed #ClutterModel the column number Retrieves the type of the @column. Use #GListModel instead the type of the column. #ClutterModel 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. Use #GListModel instead A new #ClutterModelIter, or %NULL if @row was out of bounds. When done using the iterator object, call g_object_unref() to deallocate its resources a #ClutterModel position of the row to retrieve Retrieves the number of columns inside @model. Use #GListModel instead the number of columns a #ClutterModel Retrieves the number of rows inside @model, eventually taking into account any filtering function set using clutter_model_set_filter(). Use #GListModel instead The length of the @model. If there is a filter set, then the length of the filtered @model is returned. a #ClutterModel 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> Use #GListModel instead a #ClutterModel pairs of column number and value, terminated with -1 Creates and appends a new row to the #ClutterModel, setting the row values for the given @columns upon creation. Use #GListModel instead a #ClutterModel 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. Use #GListModel instead %TRUE if the row should be displayed, %FALSE otherwise a #ClutterModel 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. Use #GListModel instead %TRUE if the row should be displayed, %FALSE otherwise a #ClutterModel the row to filter Calls @func for each row in the model. Use #GListModel instead a #ClutterModel a #ClutterModelForeachFunc user data to pass to @func Retrieves the name of the @column Use #GListModel instead the name of the column. The model holds the returned string, and it should not be modified or freed #ClutterModel the column number Retrieves the type of the @column. Use #GListModel instead the type of the column. #ClutterModel the column number Returns whether the @model has a filter in place, set using clutter_model_set_filter() Use #GListModel instead %TRUE if a filter is set a #ClutterModel Retrieves a #ClutterModelIter representing the first non-filtered row in @model. Use #GListModel instead A new #ClutterModelIter. Call g_object_unref() when done using it a #ClutterModel 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. Use #GListModel instead A new #ClutterModelIter, or %NULL if @row was out of bounds. When done using the iterator object, call g_object_unref() to deallocate its resources a #ClutterModel position of the row to retrieve Retrieves a #ClutterModelIter representing the last non-filtered row in @model. Use #GListModel instead A new #ClutterModelIter. Call g_object_unref() when done using it a #ClutterModel Retrieves the number of columns inside @model. Use #GListModel instead the number of columns a #ClutterModel Retrieves the number of rows inside @model, eventually taking into account any filtering function set using clutter_model_set_filter(). Use #GListModel instead The length of the @model. If there is a filter set, then the length of the filtered @model is returned. a #ClutterModel Retrieves the number of column used for sorting the @model. Use #GListModel instead a column number, or -1 if the model is not sorted a #ClutterModel 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> Use #GListModel instead a #ClutterModel the position to insert the new row pairs of column number and value, terminated with -1 Sets the data in the cell specified by @iter and @column. The type of @value must be convertable to the type of the column. If the row does not exist then it is created. Use #GListModel instead a #ClutterModel 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. Use #GListModel instead a #ClutterModel 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> Use #GListModel instead a #ClutterModel pairs of column number and value, terminated with -1 Creates and prepends a new row to the #ClutterModel, setting the row values for the given @columns upon creation. Use #GListModel instead a #ClutterModel 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. Use #GListModel instead a #ClutterModel position of row to remove Force a resort on the @model. This function should only be used by subclasses of #ClutterModel. Use #GListModel instead a #ClutterModel Filters the @model using the given filtering function. Use #GListModel instead a #ClutterModel 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. Use #GListModel instead a #ClutterModel the number of column names an array of strings Sorts @model using the given sorting function. Use #GListModel instead a #ClutterModel 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. Use #GListModel instead a #ClutterModel 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. Use #GListModel instead a #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() Use #GListModel instead The ::filter-changed signal is emitted when a new filter has been applied Use #GListModel instead 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. Use #GListModel instead 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. Use #GListModel instead 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. Use #GListModel instead a #ClutterModelIter pointing to the removed row The ::sort-changed signal is emitted after the model has been sorted Use #GListModel instead Class for #ClutterModel instances. Use #GListModel instead The length of the @model. If there is a filter set, then the length of the filtered @model is returned. a #ClutterModel the number of columns a #ClutterModel the name of the column. The model holds the returned string, and it should not be modified or freed #ClutterModel the column number the type of the column. #ClutterModel the column number A new #ClutterModelIter, or %NULL if @row was out of bounds. When done using the iterator object, call g_object_unref() to deallocate its resources a #ClutterModel position of the row to retrieve Filters the content of a row in the model. Implement filters using a custom #GListModel instead 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 Use #GListModel %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. Use custom iterators for #GListModel Copies the passed iterator. Use #GListModel instead a copy of the iterator, or %NULL a #ClutterModelIter Retrieves a pointer to the #ClutterModel that this iter is part of. Use #GListModel instead a pointer to a #ClutterModel. a #ClutterModelIter Retrieves the position of the row that the @iter points to. Use #GListModel instead the position of the @iter in the model a #ClutterModelIter Sets an initializes @value to that at @column. When done with @value, g_value_unset() needs to be called to free any allocated memory. Use #GListModel instead a #ClutterModelIter 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. Use #GListModel instead #TRUE if @iter is the first iter in the filtered model a #ClutterModelIter Gets whether the iterator is at the end of the model to which it belongs. Use #GListModel instead #TRUE if @iter is the last iter in the filtered model. a #ClutterModelIter 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. Use #GListModel instead The passed iterator, updated to point at the next row in the model. a #ClutterModelIter 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. Use #GListModel instead The passed iterator, updated to point at the previous row in the model. a #ClutterModelIter Sets the data in the cell specified by @iter and @column. The type of @value must be convertable to the type of the column. Use #GListModel instead a #ClutterModelIter column number to retrieve the value from new value for the cell Copies the passed iterator. Use #GListModel instead a copy of the iterator, or %NULL a #ClutterModelIter 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. Use #GListModel instead a #ClutterModelIter a list of column/return location pairs, terminated by -1 Retrieves a pointer to the #ClutterModel that this iter is part of. Use #GListModel instead a pointer to a #ClutterModel. a #ClutterModelIter Retrieves the position of the row that the @iter points to. Use #GListModel instead the position of the @iter in the model a #ClutterModelIter See clutter_model_iter_get(). This version takes a va_list for language bindings. Use #GListModel instead a #ClutterModelIter 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. Use #GListModel instead a #ClutterModelIter 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. Use #GListModel instead #TRUE if @iter is the first iter in the filtered model a #ClutterModelIter Gets whether the iterator is at the end of the model to which it belongs. Use #GListModel instead #TRUE if @iter is the last iter in the filtered model. a #ClutterModelIter 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. Use #GListModel instead The passed iterator, updated to point at the next row in the model. a #ClutterModelIter 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. Use #GListModel instead The passed iterator, updated to point at the previous row in the model. a #ClutterModelIter 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> Use #GListModel instead a #ClutterModelIter a list of column/return location pairs, terminated by -1 See clutter_model_iter_set(); this version takes a va_list for language bindings. Use #GListModel instead a #ClutterModelIter va_list of column/value pairs, terminiated by -1 Sets the data in the cell specified by @iter and @column. The type of @value must be convertable to the type of the column. Use #GListModel instead a #ClutterModelIter column number to retrieve the value from new value for the cell A reference to the #ClutterModel that this iter belongs to. Use #GListModel instead The row number to which this iter points to. Use #GListModel instead Class for #ClutterModelIter instances. Use custom iterators for #GListModel a #ClutterModelIter column number to retrieve the value from an empty #GValue to set a #ClutterModelIter column number to retrieve the value from new value for the cell #TRUE if @iter is the first iter in the filtered model a #ClutterModelIter #TRUE if @iter is the last iter in the filtered model. a #ClutterModelIter The passed iterator, updated to point at the next row in the model. a #ClutterModelIter The passed iterator, updated to point at the previous row in the model. a #ClutterModelIter a pointer to a #ClutterModel. a #ClutterModelIter the position of the @iter in the model a #ClutterModelIter a copy of the iterator, or %NULL a #ClutterModelIter Compares the content of two rows in the model. Implement sorting using a custom #GListModel instead a positive integer if @a is after @b, a negative integer if @a is before @b, or 0 if the rows are the same 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. Note that Clutter may add internal values to events which include reserved values such as %CLUTTER_MODIFIER_RESERVED_13_MASK. Your code should preserve and ignore them. You can use %CLUTTER_MODIFIER_MASK to remove all reserved values. Mask applied by the Shift key Mask applied by the Caps Lock key Mask applied by the Control key Mask applied by the first Mod key Mask applied by the second Mod key Mask applied by the third Mod key Mask applied by the fourth Mod key Mask applied by the fifth Mod key Mask applied by the first pointer button Mask applied by the second pointer button Mask applied by the third pointer button Mask applied by the fourth pointer button Mask applied by the fifth pointer button Mask applied by the Super key Mask applied by the Hyper key Mask applied by the Meta key Mask applied during release A mask covering all modifier types Event for the pointer motion event type event time event flags event source stage event source actor event X coordinate event Y coordinate button modifiers reserved for future use the device that originated the event. If you want the physical device the event originated from, use clutter_event_get_source_device() Set to 1 if Clutter was built without FPU (i.e fixed math), 0 otherwise This macro is no longer defined (identical code is used regardless the presence of FPU). The #ClutterOffscreenEffect structure contains only private data and should be accessed using the provided API Calls the create_texture() virtual function of the @effect a handle to a Cogl texture, or %COGL_INVALID_HANDLE. The returned handle has its reference count increased. a #ClutterOffscreenEffect the minimum width of the target texture the minimum height of the target texture Calls the paint_target() virtual function of the @effect a #ClutterOffscreenEffect Calls the create_texture() virtual function of the @effect a handle to a Cogl texture, or %COGL_INVALID_HANDLE. The returned handle has its reference count increased. a #ClutterOffscreenEffect 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. a #CoglMaterial or %NULL. The returned material is owned by Clutter and it should not be modified or freed a #ClutterOffscreenEffect Retrieves the origin and size of the offscreen buffer used by @effect to paint the actor to which it has been applied. This function should only be called by #ClutterOffscreenEffect implementations, from within the #ClutterOffscreenEffectClass.paint_target() virtual function. %TRUE if the offscreen buffer has a valid rectangle, and %FALSE otherwise a #ClutterOffscreenEffect return location for the target area Retrieves the size of the offscreen buffer used by @effect to paint the actor to which it has been applied. This function should only be called by #ClutterOffscreenEffect implementations, from within the #ClutterOffscreenEffectClass.paint_target() virtual function. Use clutter_offscreen_effect_get_target_rect() instead %TRUE if the offscreen buffer has a valid size, and %FALSE otherwise a #ClutterOffscreenEffect return location for the target width, or %NULL return location for the target height, or %NULL Retrieves the texture used as a render target for the offscreen buffer created by @effect You should only use the returned texture when painting. The texture may change after ClutterEffect::pre_paint is called so the effect implementation should update any references to the texture after chaining-up to the parent's pre_paint implementation. This can be used instead of clutter_offscreen_effect_get_target() when the effect subclass wants to paint using its own material. a #CoglHandle or %COGL_INVALID_HANDLE. The returned texture is owned by Clutter and it should not be modified or freed a #ClutterOffscreenEffect Calls the paint_target() virtual function of the @effect a #ClutterOffscreenEffect The #ClutterOffscreenEffectClass structure contains only private data a handle to a Cogl texture, or %COGL_INVALID_HANDLE. The returned handle has its reference count increased. a #ClutterOffscreenEffect the minimum width of the target texture the minimum height of the target texture a #ClutterOffscreenEffect Possible flags to pass to clutter_actor_set_offscreen_redirect(). Only redirect the actor if it is semi-transparent and its has_overlaps() virtual returns %TRUE. This is the default. Always redirect the actor to an offscreen buffer even if it is fully opaque. Represents the orientation of actors or layout managers. An horizontal orientation A vertical orientation Priority of the redraws. This is chosen to be lower than the GTK+ redraw and resize priorities, because in application with both GTK+ and Clutter it's more likely that the Clutter part will be continually animating (and thus able to starve GTK+) than vice-versa. #ClutterPageTurnEffect 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 a #ClutterPageTurnEffect: Retrieves the value set using clutter_page_turn_effect_get_period() the period of the page curling a #ClutterPageTurnEffect Retrieves the value set using clutter_page_turn_effect_set_radius() the radius of the page curling a #ClutterPageTurnEffect Sets the angle of the page curling, in degrees #ClutterPageTurnEffect 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) a #ClutterPageTurnEffect the period of the page curl, between 0.0 and 1.0 Sets the radius of the page curling a #ClutterPageTurnEffect: 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 The `ClutterPaintNode` structure contains only private data and it should be accessed using the provided API. Adds @child to the list of children of @node. This function will acquire a reference on @child. a #ClutterPaintNode the child #ClutterPaintNode to add Adds a rectangle region to the @node, as described by the passed @rect. a #ClutterPaintNode a #ClutterActorBox Adds a rectangle region to the @node, with texture coordinates. a #ClutterPaintNode a #ClutterActorBox the left X coordinate of the texture the top Y coordinate of the texture the right X coordinate of the texture the bottom Y coordinate of the texture Acquires a reference on @node. the #ClutterPaintNode a #ClutterPaintNode Sets a user-readable @name for @node. The @name will be used for debugging purposes. The @node will copy the passed string. a #ClutterPaintNode a string annotating the @node Releases a reference on @node. a #ClutterPaintNode The `ClutterPaintNodeClass` structure contains only private data. #ClutterPaintVolume is an opaque structure whose members cannot be directly accessed. A #ClutterPaintVolume represents an a bounding volume whose internal representation isn't defined but can be set and queried in terms of an axis aligned bounding box. A #ClutterPaintVolume for a #ClutterActor is defined to be relative from the current actor modelview matrix. Other internal representation and methods for describing the bounding volume may be added in the future. Copies @pv into a new #ClutterPaintVolume a newly allocated copy of a #ClutterPaintVolume a #ClutterPaintVolume Frees the resources allocated by @pv a #ClutterPaintVolume Retrieves the depth of the volume's, axis aligned, bounding box. In other words; this takes into account what actor's coordinate space @pv belongs too and conceptually fits an axis aligned box around the volume. It returns the size of that bounding box as measured along the z-axis. If, for example, clutter_actor_get_transformed_paint_volume() is used to transform a 2D child actor that is 100px wide, 100px high and 0px deep into container coordinates then the depth might not simply be 0px if the child actor has a 3D rotation applied to it. Remember: if clutter_actor_get_transformed_paint_volume() is used then the transformed volume will be defined relative to the container actor and in container coordinates a 2D child actor can have a 3D bounding volume. There are no accuracy guarantees for the reported depth, except that it must always be greater than, or equal to, the actor's depth. This is because actors may report simple, loose fitting paint volumes for efficiency. the depth, in units of @pv's local coordinate system. a #ClutterPaintVolume Retrieves the height of the volume's, axis aligned, bounding box. In other words; this takes into account what actor's coordinate space @pv belongs too and conceptually fits an axis aligned box around the volume. It returns the size of that bounding box as measured along the y-axis. If, for example, clutter_actor_get_transformed_paint_volume() is used to transform a 2D child actor that is 100px wide, 100px high and 0px deep into container coordinates then the height might not simply be 100px if the child actor has a 3D rotation applied to it. Remember: if clutter_actor_get_transformed_paint_volume() is used then a transformed child volume will be defined relative to the ancestor container actor and so a 2D child actor can have a 3D bounding volume. There are no accuracy guarantees for the reported height, except that it must always be greater than, or equal to, the actor's height. This is because actors may report simple, loose fitting paint volumes for efficiency. the height, in units of @pv's local coordinate system. a #ClutterPaintVolume Retrieves the origin of the #ClutterPaintVolume. a #ClutterPaintVolume the return location for a #ClutterVertex Retrieves the width of the volume's, axis aligned, bounding box. In other words; this takes into account what actor's coordinate space @pv belongs too and conceptually fits an axis aligned box around the volume. It returns the size of that bounding box as measured along the x-axis. If, for example, clutter_actor_get_transformed_paint_volume() is used to transform a 2D child actor that is 100px wide, 100px high and 0px deep into container coordinates then the width might not simply be 100px if the child actor has a 3D rotation applied to it. Remember: if clutter_actor_get_transformed_paint_volume() is used then a transformed child volume will be defined relative to the ancestor container actor and so a 2D child actor can have a 3D bounding volume. There are no accuracy guarantees for the reported width, except that it must always be greater than, or equal to, the actor's width. This is because actors may report simple, loose fitting paint volumes for efficiency. the width, in units of @pv's local coordinate system. a #ClutterPaintVolume Sets the depth of the paint volume. The depth is measured along the z axis in the actor coordinates that @pv is associated with. a #ClutterPaintVolume the depth of the paint volume, in pixels Sets the #ClutterPaintVolume from the allocation of @actor. This function should be used when overriding the #ClutterActorClass.get_paint_volume() by #ClutterActor sub-classes that do not paint outside their allocation. A typical example is: |[ static gboolean my_actor_get_paint_volume (ClutterActor *self, ClutterPaintVolume *volume) { return clutter_paint_volume_set_from_allocation (volume, self); } ]| %TRUE if the paint volume was successfully set, and %FALSE otherwise a #ClutterPaintVolume a #ClutterActor Sets the height of the paint volume. The height is measured along the y axis in the actor coordinates that @pv is associated with. a #ClutterPaintVolume the height of the paint volume, in pixels Sets the origin of the paint volume. The origin is defined as the X, Y and Z coordinates of the top-left corner of an actor's paint volume, in actor coordinates. The default is origin is assumed at: (0, 0, 0) a #ClutterPaintVolume a #ClutterVertex Sets the width of the paint volume. The width is measured along the x axis in the actor coordinates that @pv is associated with. a #ClutterPaintVolume the width of the paint volume, in pixels Updates the geometry of @pv to encompass @pv and @another_pv. There are no guarantees about how precisely the two volumes will be unioned. The first #ClutterPaintVolume and destination for resulting union A second #ClutterPaintVolume to union with @pv Unions the 2D region represented by @box to a #ClutterPaintVolume. This function is similar to clutter_paint_volume_union(), but it is specific for 2D regions. a #ClutterPaintVolume a #ClutterActorBox to union to @pv The #ClutterPanAction structure contains only private data and should be accessed using the provided API Creates a new #ClutterPanAction instance the newly created #ClutterPanAction Retrieves the initial acceleration factor for interpolated ::pan events. The initial acceleration factor for interpolated events. A #ClutterPanAction Retrieves the delta, in stage space, dependent on the current state of the #ClutterPanAction, and respecting the constraint specified by the #ClutterPanAction:pan-axis property. the distance since last motion event A #ClutterPanAction the touch point index, with 0 being the first touch point received by the action return location for the X delta return location for the Y delta Retrieves the deceleration rate of interpolated ::pan events. The deceleration rate of the interpolated events. A #ClutterPanAction Checks if the action should emit ::pan events even after releasing the pointer during a panning gesture, to emulate some kind of kinetic inertia. %TRUE if interpolated events emission is active. a #ClutterPanAction Retrieves the coordinates, in stage space, of the latest interpolated event, analogous to clutter_gesture_action_get_motion_coords(). A #ClutterPanAction return location for the latest interpolated event's X coordinate return location for the latest interpolated event's Y coordinate Retrieves the delta, in stage space, since the latest interpolated event, analogous to clutter_gesture_action_get_motion_delta(). the distance since the latest interpolated event A #ClutterPanAction return location for the X delta since the latest interpolated event return location for the Y delta since the latest interpolated event Retrieves the coordinates, in stage space, dependent on the current state of the #ClutterPanAction. If it is inactive, both fields will be set to 0. If it is panning by user action, the values will be equivalent to those returned by clutter_gesture_action_get_motion_coords(). If it is interpolating with some form of kinetic scrolling, the values will be equivalent to those returned by clutter_pan_action_get_interpolated_coords(). This is a convenience method designed to be used in replacement "pan" signal handlers. A #ClutterPanAction the touch point index, with 0 being the first touch point received by the action return location for the X coordinate return location for the Y coordinate Retrieves the delta, in stage space, dependent on the current state of the #ClutterPanAction. If it is inactive, both fields will be set to 0. If it is panning by user action, the values will be equivalent to those returned by clutter_gesture_action_get_motion_delta(). If it is interpolating with some form of kinetic scrolling, the values will be equivalent to those returned by clutter_pan_action_get_interpolated_delta(). This is a convenience method designed to be used in replacement "pan" signal handlers. A #ClutterPanAction the touch point index, with 0 being the first touch point received by the action return location for the X delta return location for the Y delta Retrieves the axis constraint set by clutter_pan_action_set_pan_axis() the axis constraint a #ClutterPanAction Factor applied to the momentum velocity at the time of releasing the pointer when generating interpolated ::pan events. A #ClutterPanAction The acceleration factor Sets the deceleration rate of the interpolated ::pan events generated after a pan gesture. This is approximately the value that the momentum at the time of releasing the pointer is divided by every 60th of a second. A #ClutterPanAction The deceleration rate Sets whether the action should emit interpolated ::pan events after the drag has ended, to emulate the gesture kinetic inertia. a #ClutterPanAction whether to enable interpolated pan events Restricts the panning action to a specific axis a #ClutterPanAction the axis to constraint the panning to The initial acceleration factor The kinetic momentum measured at the time of releasing the pointer will be multiplied by the factor specified by this property before being used to generate interpolated ::pan events. The rate at which the interpolated panning will decelerate in #ClutterPanAction will emit interpolated ::pan events with decreasing scroll deltas, using the rate specified by this property. Whether interpolated events emission is enabled. Constraints the panning action to the specified axis The ::pan signal is emitted to keep track of the motion during a pan gesture. @is_interpolated is set to %TRUE during the interpolation phase of the pan, after the drag has ended and the :interpolate property was set to %TRUE. %TRUE if the pan should continue, and %FALSE if the pan should be cancelled. the #ClutterActor attached to the @action if the event is the result of interpolating the motion velocity at the end of the drag The ::pan-stopped signal is emitted at the end of the interpolation phase of the pan action, only when :interpolate is set to %TRUE. the #ClutterActor attached to the @action The #ClutterPanActionClass structure contains only private data. The axis of the constraint that should be applied on the panning action No constraint Set a constraint on the X axis Set a constraint on the Y axis Constrain panning automatically based on initial movement (available since 1.24) A #GParamSpec subclass for defining properties holding a #ClutterColor. default color value #GParamSpec subclass for fixed point based properties Do not use fixed-point values in public API. If you must, use #GParamSpecInt instead. lower boundary higher boundary default value #GParamSpec subclass for unit based properties. default type default value lower boundary higher boundary 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 @desc. See clutter_path_add_string() for details of the format of 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 #ClutterPath 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. a #ClutterPath 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. a #ClutterPath 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. a #ClutterPath 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. a #ClutterPath the x coordinate the y coordinate Adds @node to the end of the path. a #ClutterPath a #ClutterPathNode Same as clutter_path_add_curve_to() except the coordinates are relative to the previous node. a #ClutterPath 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. a #ClutterPath the x coordinate the y coordinate Same as clutter_path_add_move_to() except the coordinates are relative to the previous node. a #ClutterPath 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: - `M`: Adds a %CLUTTER_PATH_MOVE_TO node. Takes one pair of coordinates. - `L`: Adds a %CLUTTER_PATH_LINE_TO node. Takes one pair of coordinates. - `C`: Adds a %CLUTTER_PATH_CURVE_TO node. Takes three pairs of coordinates. - `z`: Adds a %CLUTTER_PATH_CLOSE node. No coordinates are needed. 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: |[ M 250,350 l 0 -100 L 350,250 l 0 100 z ]| If the path description isn't valid %FALSE will be returned and no nodes will be added. %TRUE is the path description was valid or %FALSE otherwise. a #ClutterPath a string describing the new nodes Removes all nodes from the path. a #ClutterPath Calls a function for each node of the path. a #ClutterPath 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(). a #ClutterPath Retrieves an approximation of the total length of the path. the length of the path. a #ClutterPath Retrieves the number of nodes in the path. the number of nodes. a #ClutterPath Retrieves the node of the path indexed by @index. a #ClutterPath 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. a list of nodes in the path. a #ClutterPath 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 #ClutterPath 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 @index_ is negative it will append the node to the end of the path. a #ClutterPath offset of where to insert the node the node to insert Removes the node at the given offset from the path. a #ClutterPath index of the node to remove Replaces the node at offset @index_ with @node. a #ClutterPath index to the existing node the replacement node Replaces all of the nodes in the path with nodes described by @str. See clutter_path_add_string() for details of the format. If the string is invalid then %FALSE is returned and the path is unaltered. %TRUE is the path was valid, %FALSE otherwise. a #ClutterPath a string describing the path Add the nodes of the ClutterPath to the path in the Cairo context. a #ClutterPath 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. #ClutterPathConstraint is an opaque structure whose members cannot be directly accessed Creates a new #ClutterPathConstraint with the given @path and @offset the newly created #ClutterPathConstraint a #ClutterPath, or %NULL the offset along the #ClutterPath Retrieves the offset along the #ClutterPath used by @constraint. the offset a #ClutterPathConstraint Retrieves a pointer to the #ClutterPath used by @constraint. the #ClutterPath used by the #ClutterPathConstraint, or %NULL. The returned #ClutterPath is owned by the constraint and it should not be unreferenced a #ClutterPathConstraint Sets the offset along the #ClutterPath used by @constraint. a #ClutterPathConstraint the offset along the path Sets the @path to be followed by the #ClutterPathConstraint. The @constraint will take ownership of the #ClutterPath passed to this function. a #ClutterPathConstraint a #ClutterPath The offset along the #ClutterPathConstraint:path, between -1.0 and 2.0. The #ClutterPath used to constrain the position of an actor. The ::node-reached signal is emitted each time a #ClutterPathConstraint:offset value results in the actor passing a #ClutterPathNode the #ClutterActor using the @constraint the index of the node that has been reached 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. the node's type the coordinates of the node Makes an allocated copy of a node. the copied node. a #ClutterPathNode Compares two nodes and checks if they are the same type with the same coordinates. %TRUE if the nodes are the same. First node Second node Frees the memory of an allocated node. a #ClutterPathNode Types of nodes in a #ClutterPath. jump to the given position create a line from the last node to the given position bezier curve using the last position and three control points. create a line from the last node to the last %CLUTTER_PATH_MOVE_TO node. same as %CLUTTER_PATH_MOVE_TO but with coordinates relative to the last node. same as %CLUTTER_PATH_LINE_TO but with coordinates relative to the last node. same as %CLUTTER_PATH_CURVE_TO but with coordinates relative to the last node. Stage perspective definition. #ClutterPerspective is only used by the fixed point version of clutter_stage_set_perspective(). the field of view angle, in degrees, in the y direction the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height) the distance from the viewer to the near clipping plane (always positive) the distance from the viewer to the far clipping plane (always positive) Controls the paint cycle of the scene graph when in pick mode Do not paint any actor Paint only the reactive actors Paint all actors The #ClutterTextNode structure is an opaque type whose members cannot be directly accessed. The `ClutterPipelineNodeClass` structure is an opaque type whose members cannot be directly accessed. A point in 2D space. X coordinate, in pixels Y coordinate, in pixels Allocates a new #ClutterPoint. the newly allocated #ClutterPoint. Use clutter_point_free() to free its resources. Creates a new #ClutterPoint with the same coordinates of @point. a newly allocated #ClutterPoint. Use clutter_point_free() to free its resources. a #ClutterPoint Computes the distance between two #ClutterPoint. the distance between the points. a #ClutterPoint a #ClutterPoint return location for the horizontal distance between the points return location for the vertical distance between the points Compares two #ClutterPoint for equality. %TRUE if the #ClutterPoints are equal the first #ClutterPoint to compare the second #ClutterPoint to compare Frees the resources allocated for @point. a #ClutterPoint Initializes @point with the given coordinates. the initialized #ClutterPoint a #ClutterPoint the X coordinate of the point the Y coordinate of the point A point centered at (0, 0). The returned value can be used as a guard. a point centered in (0, 0); the returned #ClutterPoint is owned by Clutter and it should not be modified or freed. 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(). %TRUE if the function successfully computed the value and stored it inside @retval 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 #ClutterPropertyTransition structure contains private data and should only be accessed using the provided API. Creates a new #ClutterPropertyTransition. the newly created #ClutterPropertyTransition. Use g_object_unref() when done a property of @animatable, or %NULL Retrieves the value of the #ClutterPropertyTransition:property-name property. the name of the property being animated, or %NULL if none is set. The returned string is owned by the @transition and it should not be freed. a #ClutterPropertyTransition Sets the #ClutterPropertyTransition:property-name property of @transition. a #ClutterPropertyTransition a property name The name of the property of a #ClutterAnimatable to animate. The #ClutterPropertyTransitionClass structure contains private data. The location and size of a rectangle. The width and height of a #ClutterRect can be negative; Clutter considers a rectangle with an origin of [ 0.0, 0.0 ] and a size of [ 10.0, 10.0 ] to be equivalent to a rectangle with origin of [ 10.0, 10.0 ] and size of [ -10.0, -10.0 ]. Application code can normalize rectangles using clutter_rect_normalize(): this function will ensure that the width and height of a #ClutterRect are positive values. All functions taking a #ClutterRect as an argument will implicitly normalize it before computing eventual results. For this reason it is safer to access the contents of a #ClutterRect by using the provided API at all times, instead of directly accessing the structure members. the origin of the rectangle the size of the rectangle Creates a new, empty #ClutterRect. You can use clutter_rect_init() to initialize the returned rectangle, for instance: |[ rect = clutter_rect_init (clutter_rect_alloc (), x, y, width, height); ]| the newly allocated #ClutterRect. Use clutter_rect_free() to free its resources Rounds the origin of @rect downwards to the nearest integer, and rounds the size of @rect upwards to the nearest integer, so that @rect is updated to the smallest rectangle capable of fully containing the original, fractional rectangle. a #ClutterRect Checks whether @point is contained by @rect, after normalizing the rectangle. %TRUE if the @point is contained by @rect. a #ClutterRect the point to check Checks whether @a contains @b. The first rectangle contains the second if the union of the two #ClutterRect is equal to the first rectangle. %TRUE if the first rectangle contains the second. a #ClutterRect a #ClutterRect Copies @rect into a new #ClutterRect instance. the newly allocate copy of @rect. Use clutter_rect_free() to free the associated resources a #ClutterRect Checks whether @a and @b are equals. This function will normalize both @a and @b before comparing their origin and size. %TRUE if the rectangles match in origin and size. a #ClutterRect a #ClutterRect Frees the resources allocated by @rect. a #ClutterRect Retrieves the center of @rect, after normalizing the rectangle, and updates @center with the correct coordinates. a #ClutterRect a #ClutterPoint Retrieves the height of @rect. the height of the rectangle a #ClutterRect Retrieves the width of @rect. the width of the rectangle a #ClutterRect Retrieves the X coordinate of the origin of @rect. the X coordinate of the origin of the rectangle a #ClutterRect Retrieves the Y coordinate of the origin of @rect. the Y coordinate of the origin of the rectangle a #ClutterRect Initializes a #ClutterRect with the given origin and size. the updated rectangle a #ClutterRect X coordinate of the origin Y coordinate of the origin width of the rectangle height of the rectangle Normalizes the @rect and offsets its origin by the @d_x and @d_y values; the size is adjusted by (2 * @d_x, 2 * @d_y). If @d_x and @d_y are positive the size of the rectangle is decreased; if the values are negative, the size of the rectangle is increased. If the resulting rectangle has a negative width or height, the size is set to 0. a #ClutterRect an horizontal value; a positive @d_x will create an inset rectangle, and a negative value will create a larger rectangle a vertical value; a positive @d_x will create an inset rectangle, and a negative value will create a larger rectangle Computes the intersection of @a and @b, and places it in @res, if @res is not %NULL. This function will normalize both @a and @b prior to computing their intersection. This function can be used to simply check if the intersection of @a and @b is not empty, by using %NULL for @res. %TRUE if the intersection of @a and @b is not empty a #ClutterRect a #ClutterRect a #ClutterRect, or %NULL Normalizes a #ClutterRect. A #ClutterRect is defined by the area covered by its size; this means that a #ClutterRect with #ClutterRect.origin in [ 0, 0 ] and a #ClutterRect.size of [ 10, 10 ] is equivalent to a #ClutterRect with #ClutterRect.origin in [ 10, 10 ] and a #ClutterRect.size of [ -10, -10 ]. This function is useful to ensure that a rectangle has positive width and height; it will modify the passed @rect and normalize its size. a #ClutterRect Offsets the origin of @rect by the given values, after normalizing the rectangle. a #ClutterRect the horizontal offset value the vertical offset value Computes the smallest possible rectangle capable of fully containing both @a and @b, and places it into @res. This function will normalize both @a and @b prior to computing their union. a #ClutterRect a #ClutterRect a #ClutterRect A #ClutterRect with #ClutterRect.origin set at (0, 0) and a size of 0. The returned value can be used as a guard. a rectangle with origin in (0, 0) and a size of 0. The returned #ClutterRect is owned by Clutter and it should not be modified or freed. The #ClutterRectangle structure contains only private data and should be accessed using the provided API Creates a new #ClutterActor with a rectangular shape. Use clutter_actor_new() instead a new #ClutterRectangle Creates a new #ClutterActor with a rectangular shape and of the given @color. Use clutter_actor_new() and clutter_actor_set_background_color() instead a new #ClutterRectangle a #ClutterColor Gets the color of the border used by @rectangle and places it into @color. Use #ClutterActor and a #ClutterCanvas to draw the border with Cairo a #ClutterRectangle return location for a #ClutterColor Gets the width (in pixels) of the border used by @rectangle Use #ClutterActor and a #ClutterCanvas content to draw the border using Cairo the border's width a #ClutterRectangle Retrieves the color of @rectangle. Use #ClutterActor and clutter_actor_get_background_color() instead a #ClutterRectangle return location for a #ClutterColor Sets the color of the border used by @rectangle using @color Use #ClutterActor and a #ClutterCanvas to draw the border with Cairo a #ClutterRectangle the color of the border Sets the width (in pixel) of the border used by @rectangle. A @width of 0 will unset the border. Use #ClutterActor and a #ClutterCanvas content to draw the border using Cairo a #ClutterRectangle the width of the border Sets the color of @rectangle. Use #ClutterActor and clutter_actor_set_background_color() instead a #ClutterRectangle 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 to pass to clutter_threads_add_repaint_func_full(). Run the repaint function prior to painting the stages Run the repaint function after painting the stages Ensure that a new frame is queued after adding the repaint function Specifies the type of requests for a #ClutterActor. Height for width requests Width for height requests Use the preferred size of the #ClutterContent, if it has any (available since 1.22) The #ClutterRotateAction structure contains only private data and should be accessed using the provided API Creates a new #ClutterRotateAction instance the newly created #ClutterRotateAction The ::rotate signal is emitted when a rotate gesture is recognized on the attached actor and when the gesture is cancelled (in this case with an angle value of 0). %TRUE if the rotation should continue, and %FALSE if the rotation should be cancelled. the #ClutterActor attached to the @action the difference of angle of rotation between the initial rotation and the current rotation The #ClutterRotateActionClass structure contains only private data. Axis of a rotation. Rotate around the X axis Rotate around the Y axis Rotate around the Z axis Direction of a rotation. Clockwise rotation Counter-clockwise rotation The default GObject type for the Clutter stage. The macro evaluates to "deprecated" as Clutter can be compiled against multiple windowing systems. You can use the CLUTTER_WINDOWING_* macros for compile-time checks, and the type check macros for run-time checks. The scaling filters to be used with the #ClutterActor:minification-filter and #ClutterActor:magnification-filter properties. Linear interpolation filter Nearest neighbor interpolation filter Trilinear minification filter, with mipmap generation; this filter linearly interpolates on every axis, as well as between mipmap levels. 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. the newly created #ClutterScore. Use g_object_unref() when done. 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. the id of the #ClutterTimeline inside the score, or 0 on failure. The returned id can be used with clutter_score_remove() or clutter_score_get_timeline(). a #ClutterScore 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. the id of the #ClutterTimeline inside the score, or 0 on failure. The returned id can be used with clutter_score_remove() or clutter_score_get_timeline(). a #ClutterScore 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 a #ClutterScore Retrieves the #ClutterTimeline for @id_ inside @score. the requested timeline, or %NULL. This function does not increase the reference count on the returned #ClutterTimeline a #ClutterScore the id of the timeline Query state of a #ClutterScore instance. %TRUE if score is currently playing A #ClutterScore Retrieves a list of all the #ClutterTimelines managed by @score. a #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 #ClutterScore Pauses a playing score @score. a #ClutterScore Removes the #ClutterTimeline with the given id inside @score. If the timeline has other timelines attached to it, those are removed as well. a #ClutterScore the id of the timeline to remove Removes all the timelines inside @score. a #ClutterScore Rewinds a #ClutterScore to its initial state. A #ClutterScore Sets whether @score should loop. A looping #ClutterScore will start from its initial state after the ::complete signal has been fired. a #ClutterScore %TRUE for enable looping Starts the score. A #ClutterScore Stops and rewinds a playing #ClutterScore instance. A #ClutterScore 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. the newly created #ClutterScript instance. Use g_object_unref() when done. Looks up a type by name, using the virtual function that #ClutterScript has for that purpose. This function should rarely be used. the type for the requested type name, or %G_TYPE_INVALID if not corresponding type was found. a #ClutterScript 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. a #ClutterScript an array of strings containing different search paths the length of the passed array Associates a #ClutterState to the #ClutterScript instance using the given name. The #ClutterScript instance will use @state to resolve target states when connecting signal handlers. The #ClutterScript instance will take a reference on the #ClutterState passed to this function. a #ClutterScript a name for the @state, or %NULL to set the default #ClutterState a #ClutterState 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. a #ClutterScript 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(). a #ClutterScript 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. a #ClutterScript Retrieves the object bound to @name. This function does not increment the reference count of the returned object. the named object, or %NULL if no object with the given name was available a #ClutterScript 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: |[ GObject *my_label, *a_button, *main_timeline; clutter_script_get_objects (script, "my-label", &my_label, "a-button", &a_button, "main-timeline", &main_timeline, NULL); ]| Note: This function does not increment the reference count of the returned objects. the number of objects returned. a #ClutterScript the name of the first object to retrieve return location for a #GObject, then additional names, ending with %NULL Retrieves the #ClutterState for the given @state_name. If @name is %NULL, this function will return the default #ClutterState instance. a pointer to the #ClutterState for the given name. The #ClutterState is owned by the #ClutterScript instance and it should not be unreferenced a #ClutterScript the name of the #ClutterState, or %NULL Retrieves the translation domain set using clutter_script_set_translation_domain(). the translation domain, if any is set, or %NULL a #ClutterScript Looks up a type by name, using the virtual function that #ClutterScript has for that purpose. This function should rarely be used. the type for the requested type name, or %G_TYPE_INVALID if not corresponding type was found. a #ClutterScript name of the type to look up Retrieves all the objects created by @script. Note: this function does not increment the reference count of the objects it returns. a list of #GObject<!-- -->s, or %NULL. The objects are owned by the #ClutterScript instance. Use g_list_free() on the returned list when done. a #ClutterScript Loads the definitions from @data into @script and merges with the currently loaded ones, if any. on error, zero is returned and @error is set accordingly. On success, the merge id for the UI definitions is returned. You can use the merge id with clutter_script_unmerge_objects(). a #ClutterScript 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. on error, zero is returned and @error is set accordingly. On success, the merge id for the UI definitions is returned. You can use the merge id with clutter_script_unmerge_objects(). a #ClutterScript the full path to the definition file Loads the definitions from a resource file into @script and merges with the currently loaded ones, if any. on error, zero is returned and @error is set accordingly. On success, the merge id for the UI definitions is returned. You can use the merge id with clutter_script_unmerge_objects(). a #ClutterScript the resource path of the file to parse Looks up @filename inside the search paths of @script. If @filename is found, its full path will be returned . the full path of @filename or %NULL if no path was found. a #ClutterScript the name of the file to lookup Sets the translation domain for @script. a #ClutterScript the translation domain, or %NULL Unmerges the objects identified by @merge_id. a #ClutterScript 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 translation domain, used to localize strings marked as translatable inside a UI definition. If #ClutterScript:translation-domain is set to %NULL, #ClutterScript will use gettext(), otherwise g_dgettext() will be used. The #ClutterScriptClass structure contains only private data the type for the requested type name, or %G_TYPE_INVALID if not corresponding type was found. a #ClutterScript 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. Type function not found or invalid Property not found or invalid Invalid value #ClutterScriptable is an opaque structure whose members cannot be directly accessed Retrieves the id of @scriptable set using clutter_scriptable_set_id(). the id of the object. The returned string is owned by the scriptable object and should never be modified of freed a #ClutterScriptable 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. a #ClutterScriptable 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. a #ClutterScriptable 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. a #ClutterScriptable the #ClutterScript id of the object Retrieves the id of @scriptable set using clutter_scriptable_set_id(). the id of the object. The returned string is owned by the scriptable object and should never be modified of freed a #ClutterScriptable 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. a #ClutterScriptable 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. a #ClutterScriptable 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. a #ClutterScriptable 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 a #ClutterScriptable the #ClutterScript id of the object the id of the object. The returned string is owned by the scriptable object and should never be modified of freed a #ClutterScriptable %TRUE if the node was successfully parsed, %FALSE otherwise. a #ClutterScriptable the #ClutterScript creating the scriptable instance the generic value to be set the name of the node the JSON node to be parsed a #ClutterScriptable the #ClutterScript creating the scriptable instance the name of the property the value of the property The #ClutterScrollActor structure contains only private data, and should be accessed using the provided API. Creates a new #ClutterScrollActor. The newly created #ClutterScrollActor instance. Retrieves the #ClutterScrollActor:scroll-mode property the scrolling mode a #ClutterScrollActor Scrolls the contents of @actor so that @point is the new origin of the visible area. The coordinates of @point must be relative to the @actor. This function will use the currently set easing state of the @actor to transition from the current scroll origin to the new one. a #ClutterScrollActor a #ClutterPoint Scrolls @actor so that @rect is in the visible portion. a #ClutterScrollActor a #ClutterRect Sets the #ClutterScrollActor:scroll-mode property. a #ClutterScrollActor a #ClutterScrollMode The scrollin direction. The #ClutterScrollActor structure contains only private data. Direction of a pointer scroll event. The %CLUTTER_SCROLL_SMOOTH value implies that the #ClutterScrollEvent has precise scrolling delta information. Scroll up Scroll down Scroll left Scroll right Precise scrolling delta (available in 1.10) Scroll wheel (or similar device) event event type event time event flags event source stage event source actor event X coordinate event Y coordinate direction of the scrolling button modifiers reserved for future use the device that originated the event. If you want the physical device the event originated from, use clutter_event_get_source_device() the source of scroll events. This field is available since 1.26 the axes that were stopped in this event. This field is available since 1.26 Flags used to notify the axes that were stopped in a #ClutterScrollEvent. These can be used to trigger post-scroll effects like kinetic scrolling. no axis was stopped. The horizontal axis stopped. The vertical axis stopped. Scroll modes. Ignore scrolling Scroll only horizontally Scroll only vertically Scroll in both directions The scroll source determines the source of the scroll event. Keep in mind that the source device #ClutterInputDeviceType is not enough to infer the scroll source. Source of scroll events is unknown. The scroll event is originated by a mouse wheel. The scroll event is originated by one or more fingers on the device (eg. touchpads). The scroll event is originated by the motion of some device (eg. a scroll button is set). `ClutterSettings` is an opaque structure whose members cannot be directly accessed. Retrieves the singleton instance of #ClutterSettings the instance of #ClutterSettings. The returned object is owned by Clutter and it should not be unreferenced directly A back pointer to the #ClutterBackend The default distance that the cursor of a pointer device should travel before a drag operation should start. 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: - hintnone - hintslight - hintmedium - hintfull 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: - none - rgb - bgr - vrgb - vbgr Sets the minimum duration for a press to be recognized as a long press gesture. The duration is expressed in milliseconds. See also #ClutterClickAction:long-press-duration. The #ClutterShader structure contains only private data and should be accessed using the provided API Use #ClutterShaderEffect instead Create a new #ClutterShader instance. Use #ClutterShaderEffect instead. 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. Use #ClutterShaderEffect instead. returns TRUE if the shader was succesfully compiled. a #ClutterShader Retrieves the underlying #CoglHandle for the fragment shader. Use #ClutterShaderEffect instead. A #CoglHandle for the fragment shader, or %NULL. The handle is owned by the #ClutterShader and it should not be unreferenced a #ClutterShader Retrieves the underlying #CoglHandle for the shader program. Use #ClutterShaderEffect instead. A #CoglHandle for the shader program, or %NULL. The handle is owned by the #ClutterShader and it should not be unreferenced a #ClutterShader Retrieves the underlying #CoglHandle for the vertex shader. Use #ClutterShaderEffect instead. A #CoglHandle for the vertex shader, or %NULL. The handle is owned by the #ClutterShader and it should not be unreferenced a #ClutterShader Query the current GLSL fragment source set on @shader. Use #ClutterShaderEffect instead. the source of the fragment shader for this ClutterShader object or %NULL. The returned string is owned by the shader object and should never be modified or freed a #ClutterShader Checks whether @shader is enabled. Use #ClutterShaderEffect instead. %TRUE if the shader is enabled. a #ClutterShader Query the current GLSL vertex source set on @shader. Use #ClutterShaderEffect instead. the source of the vertex shader for this ClutterShader object or %NULL. The returned string is owned by the shader object and should never be modified or freed a #ClutterShader Checks whether @shader is is currently compiled, linked and bound to the GL context. Use #ClutterShaderEffect instead. %TRUE if the shader is compiled, linked and ready for use. a #ClutterShader Frees up any GL context resources held by the shader. Use #ClutterShaderEffect instead. a #ClutterShader Sets the GLSL source code to be used by a #ClutterShader for the fragment program. Use #ClutterShaderEffect instead. a #ClutterShader 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. Use #ClutterShaderEffect instead. a #ClutterShader The new state of the shader. Sets a user configurable variable in the GLSL shader programs attached to a #ClutterShader. Use #ClutterShaderEffect instead. 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. Use #ClutterShaderEffect instead. a #ClutterShader GLSL source code. length of source buffer (currently ignored) Whether the shader is compiled and linked, ready for use in the GL context. Use #ClutterShaderEffect instead. Whether the shader is currently used in the GL rendering pipeline. Use #ClutterShaderEffect instead. GLSL source code for the fragment shader part of the shader program. Use #ClutterShaderEffect instead. GLSL source code for the vertex shader part of the shader program, if any Use #ClutterShaderEffect instead. The #ClutterShaderClass structure contains only private data Use #ClutterShaderEffectClass instead The #ClutterShaderEffect structure contains only private data and should be accessed using the provided API Creates a new #ClutterShaderEffect, to be applied to an actor using clutter_actor_add_effect(). The effect will be empty until clutter_shader_effect_set_shader_source() is called. the newly created #ClutterShaderEffect. Use g_object_unref() when done. the type of the shader, either %CLUTTER_FRAGMENT_SHADER, or %CLUTTER_VERTEX_SHADER Retrieves a pointer to the program's handle a pointer to the program's handle, or %COGL_INVALID_HANDLE a #ClutterShaderEffect Retrieves a pointer to the shader's handle a pointer to the shader's handle, or %COGL_INVALID_HANDLE a #ClutterShaderEffect 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 a #ClutterShaderEffect the source of a GLSL shader Sets a list of values as the payload for the uniform @name inside the shader effect The @gtype must be one of: %G_TYPE_INT, for 1 or more integer values; %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: |[<!-- language="C" --> 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: |[<!-- language="C" --> 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: |[<!-- language="C" --> 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: |[<!-- language="C" --> clutter_shader_effect_set_uniform (effect, "map", CLUTTER_TYPE_SHADER_MATRIX, 1, cogl_matrix_get_array (&matrix)); ]| a #ClutterShaderEffect the name of the uniform to set the type of the uniform to set the number of values a list of values Sets @value as the payload for the uniform @name inside the shader effect The #GType of the @value must be one of: %G_TYPE_INT, for a single 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. It also accepts %G_TYPE_DOUBLE for compatibility with other languages than C. a #ClutterShaderEffect 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 #ClutterShaderEffectClass structure contains only private data #ClutterShader error enumeration No ASM shaders support No GLSL shaders support Compilation error The type of GLSL shader program a vertex shader a fragment shader A size, in 2D space. the width, in pixels the height, in pixels Allocates a new #ClutterSize. the newly allocated #ClutterSize. Use clutter_size_free() to free its resources. Creates a new #ClutterSize and duplicates @size. the newly allocated #ClutterSize. Use clutter_size_free() to free its resources. a #ClutterSize Compares two #ClutterSize for equality. %TRUE if the two #ClutterSize are equal a #ClutterSize to compare a #ClutterSize to compare Frees the resources allocated for @size. a #ClutterSize Initializes a #ClutterSize with the given dimensions. the initialized #ClutterSize a #ClutterSize the width the height #ClutterSnapConstraint is an opaque structure whose members cannot be directly accesses Creates a new #ClutterSnapConstraint that will snap a #ClutterActor to the @edge of @source, with the given @offset. the newly created #ClutterSnapConstraint the #ClutterActor to use as the source of the constraint, or %NULL the edge of the actor to use in the constraint the edge of @source to use in the constraint the offset to apply to the constraint, in pixels Retrieves the edges used by the @constraint a #ClutterSnapConstraint return location for the actor's edge, or %NULL return location for the source's edge, or %NULL Retrieves the offset set using clutter_snap_constraint_set_offset() the offset, in pixels a #ClutterSnapConstraint Retrieves the #ClutterActor set using clutter_snap_constraint_set_source() a pointer to the source actor a #ClutterSnapConstraint Sets the edges to be used by the @constraint The @from_edge is the edge on the #ClutterActor to which @constraint has been added. The @to_edge is the edge of the #ClutterActor inside the #ClutterSnapConstraint:source property. a #ClutterSnapConstraint the edge on the actor the edge on the source Sets the offset to be applied to the constraint a #ClutterSnapConstraint the offset to apply, in pixels Sets the source #ClutterActor for the constraint a #ClutterSnapConstraint a #ClutterActor, or %NULL to unset the source The edge of the #ClutterActor that should be snapped The offset, in pixels, between #ClutterSnapConstraint:from-edge and #ClutterSnapConstraint:to-edge The #ClutterActor used as the source for the constraint The edge of the #ClutterSnapConstraint:source that should be snapped The edge to snap the top edge the right edge the bottom edge the left edge 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_new(). 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. a new stage, or %NULL if the default backend does not support multiple stages. Use clutter_actor_destroy() to programmatically close the returned stage. Retrieves a #ClutterStage singleton. This function is not as useful as it sounds, and will most likely by deprecated in the future. Application code should only create a #ClutterStage instance using clutter_stage_new(), and manage the lifetime of the stage manually. The default stage singleton has a platform-specific behaviour: on platforms without the %CLUTTER_FEATURE_STAGE_MULTIPLE feature flag set, the first #ClutterStage instance will also be set to be the default stage instance, and this function will always return a pointer to it. On platforms with the %CLUTTER_FEATURE_STAGE_MULTIPLE feature flag set, the default stage will be created by the first call to this function, and every following call will return the same pointer to it. Use clutter_stage_new() instead. the main #ClutterStage. You should never destroy or unref the returned actor. This function essentially makes sure the right GL context is current for the passed stage. It is not intended to be used by applications. the #ClutterStage Ensures that @stage is redrawn This function should not be called by applications: it is used when embedding a #ClutterStage into a toolkit with another windowing system, like GTK+. a #ClutterStage 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+. a #ClutterStage 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 #ClutterStage a #ClutterEvent Retrieves the value set with clutter_stage_set_accept_focus(). %TRUE if the #ClutterStage should accept focus, and %FALSE otherwise a #ClutterStage 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. the actor at the specified coordinates, if any a #ClutterStage how the scene graph should be painted X coordinate to check Y coordinate to check Retrieves the stage color. Use clutter_actor_get_background_color() instead. A #ClutterStage return location for a #ClutterColor Retrieves the current depth cueing settings from the stage. This function will always return the default values of #ClutterFog the #ClutterStage return location for a #ClutterFog structure Retrieves whether the stage is full screen or not %TRUE if the stage is full screen a #ClutterStage Retrieves the actor that is currently under key focus. the actor with key focus, or the stage the #ClutterStage 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 a #ClutterStage return location for the minimum width, in pixels, or %NULL return location for the minimum height, in pixels, or %NULL Retrieves the value set using clutter_stage_set_motion_events_enabled(). %TRUE if the per-actor motion event delivery is enabled and %FALSE otherwise a #ClutterStage Retrieves the hint set with clutter_stage_set_no_clear_hint() %TRUE if the stage should not clear itself on every paint cycle, and %FALSE otherwise a #ClutterStage Retrieves the stage perspective. A #ClutterStage return location for a #ClutterPerspective Gets the bounds of the current redraw for @stage in stage pixel coordinates. E.g., if only a single actor has queued a redraw then Clutter may redraw the stage with a clip so that it doesn't have to paint every pixel in the stage. This function would then return the bounds of that clip. An application can use this information to avoid some extra work if it knows that some regions of the stage aren't going to be painted. This should only be called while the stage is being painted. If there is no current redraw clip then this function will set @clip to the full extents of the stage. A #ClutterStage Return location for the clip bounds Retrieves the value set with clutter_stage_set_throttle_motion_events() %TRUE if the motion events are being throttled, and %FALSE otherwise a #ClutterStage Gets the stage title. pointer to the title string for the stage. The returned string is owned by the actor and should not be modified or freed. A #ClutterStage Retrieves the value set using clutter_stage_set_use_alpha() %TRUE if the stage should honour the opacity and the alpha channel of the stage color a #ClutterStage Gets whether the depth cueing effect is enabled on @stage. This function will always return %FALSE %TRUE if the depth cueing effect is enabled the #ClutterStage Retrieves the value set with clutter_stage_set_user_resizable(). %TRUE if the stage is resizable by the user. a #ClutterStage Makes the cursor invisible on the stage window a #ClutterStage Checks if @stage is the default stage, or an instance created using clutter_stage_new() but internally using the same implementation. Track the stage pointer inside your application code, or use clutter_actor_get_stage() to retrieve the stage for a given actor. %TRUE if the passed stage is the default one a #ClutterStage Queues a redraw for the passed stage. Applications should call clutter_actor_queue_redraw() and not this function. Use clutter_actor_queue_redraw() instead. the #ClutterStage 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. a pointer to newly allocated memory with the buffer or %NULL if the read failed. Use g_free() on the returned data to release the resources it has allocated. A #ClutterStage 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 whether the @stage should accept the key focus when shown. This function should be called before showing @stage using clutter_actor_show(). a #ClutterStage %TRUE to accept focus on show Sets the stage color. Use clutter_actor_set_background_color() instead. A #ClutterStage 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, }; // set the fog color to the stage background color clutter_stage_get_color (CLUTTER_STAGE (actor), &stage_color); cogl_color_init_from_4ub (&fog_color, stage_color.red, stage_color.green, stage_color.blue, stage_color.alpha); // enable fog // cogl_set_fog (&fog_color, COGL_FOG_MODE_EXPONENTIAL, // mode 0.5, // density 5.0, 30.0); // z_near and z_far } ]| 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. Fog settings are ignored. the #ClutterStage a #ClutterFog structure Asks to place the stage window in the fullscreen or unfullscreen states. ( Note that you shouldn't assume the window is definitely full screen 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 a #ClutterStage %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 #ClutterStage 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 @stage will be resized to the new @width and @height This function has no effect if @stage is fullscreen a #ClutterStage width, in pixels height, in pixels Sets whether per-actor motion events (and relative crossing events) should be disabled or not. The default is %TRUE. If @enable is %FALSE the following signals will not be emitted by the actors children of @stage: - #ClutterActor::motion-event - #ClutterActor::enter-event - #ClutterActor::leave-event The events will still be delivered to the #ClutterStage. The main side effect of this function is that disabling the motion events will disable picking to detect the #ClutterActor underneath the pointer for each motion event. This is useful, for instance, when dragging a #ClutterActor across the @stage: the actor underneath the pointer is not going to change, so it's meaningless to perform a pick. a #ClutterStage %TRUE to enable the motion events delivery, and %FALSE otherwise 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. This setting is a hint; Clutter might discard this hint depending on its internal state. 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. a #ClutterStage %TRUE if the @stage should not clear itself on every repaint cycle Sets the stage perspective. Using this function is not recommended because it will disable Clutter's attempts to generate an appropriate perspective based on the size of the stage. A #ClutterStage 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. a #ClutterStage %TRUE to throttle motion events Sets the stage title. A #ClutterStage A utf8 string for the stage windows title. Sets whether the @stage should honour the #ClutterActor:opacity and the alpha channel of the #ClutterStage:color a #ClutterStage 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. Calling this function produces no visible effect the #ClutterStage %TRUE for enabling the depth cueing effect Sets if the stage is resizable by user interaction (e.g. via window manager controls) a #ClutterStage whether the stage should be user resizable. Shows the cursor on the stage window a #ClutterStage Whether the #ClutterStage should accept key focus when shown. The background color of the main stage. Use the #ClutterActor:background-color property of #ClutterActor instead. Whether the mouse pointer should be visible The settings for the GL "fog", used only if #ClutterStage:use-fog is set to %TRUE This property does not do anything. 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. This property does not do anything. 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. This property does not do anything. Whether the stage is resizable via user interaction. The ::activate signal is emitted when the stage receives key focus from the underlying window system. The ::after-paint signal is emitted after the stage is painted, but before the results are displayed on the screen. The ::deactivate signal is emitted when the stage loses key focus from the underlying window system. 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. 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. a #ClutterEvent of type %CLUTTER_DELETE The ::fullscreen signal is emitted when the stage is made fullscreen. The ::unfullscreen signal is emitted when the stage leaves a fullscreen state. The #ClutterStageClass structure contains only private data The #ClutterStageManager structure is private. Returns the default #ClutterStageManager. the default stage manager instance. The returned object is owned by Clutter and you should not reference or unreference it. Returns the default #ClutterStage. the default stage. The returned object is owned by Clutter and you should never reference or unreference it a #ClutterStageManager Lists all currently used stages. a newly allocated list of #ClutterStage objects. Use g_slist_free() to deallocate it when done. a #ClutterStageManager Lists all currently used stages. a pointer to the internal list of #ClutterStage objects. The returned list is owned by the #ClutterStageManager and should never be modified or freed a #ClutterStageManager Sets @stage as the default stage. Calling this function has no effect a #ClutterStageManager 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, used by the #ClutterEvent of type %CLUTTER_STAGE_STATE. Fullscreen mask Offscreen mask (deprecated) Activated mask Event signalling a change in the #ClutterStage state. event type event time event flags event source stage event source actor (unused) bitwise OR of the changed flags bitwise OR of the current state flags The #ClutterState structure contains only private data and should be accessed using the provided API Creates a new #ClutterState Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead the newly create #ClutterState instance Retrieves the #ClutterAnimator that is being used for transitioning between the two states, if any has been set Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead a #ClutterAnimator instance, or %NULL a #ClutterState instance. 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() Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead the duration, in milliseconds a #ClutterState 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. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead a 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 #ClutterState instance. 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. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead a string containing the target state. The returned string is owned by the #ClutterState and should not be modified or freed a #ClutterState Gets a list of all the state names managed by this #ClutterState. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead a newly allocated #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 #ClutterState instance. Gets the timeline driving the #ClutterState Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead the #ClutterTimeline that drives the state change animations. The returned timeline is owned by the #ClutterState and it should not be unreferenced directly a #ClutterState Removes all keys matching the search criteria passed in arguments. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead a #ClutterState instance. 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", CLUTTER_LINEAR, 255, button, "scale-x", CLUTTER_EASE_OUT_CUBIC, 1.2, button, "scale-y", CLUTTER_EASE_OUT_CUBIC, 1.2, NULL); ]| will create a transition from any state (a @source_state_name or NULL is treated as a wildcard) and a state named "hover"; the button 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_set_state() function: |[ clutter_state_set_state (state, "hover"); ]| 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 arguments per key are expected: a value relative to the full state time to pause before transitioning and a similar value to pause after transitioning, e.g.: |[ clutter_state_set (state, "hover", "toggled", button, "delayed::scale-x", CLUTTER_LINEAR, 1.0, 0.2, 0.2, button, "delayed::scale-y", CLUTTER_LINEAR, 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. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead a #ClutterState instance. 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 the value @first_property_name should have in @target_state_name, followed by object, property name, mode, value tuples, terminated by %NULL 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 Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead a #ClutterState instance. 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. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead a #ClutterState 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. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead the #ClutterState instance, allowing chaining of multiple calls a #ClutterState instance. 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. Setting a %NULL state will stop the current animation and unset the current state, but keys will be left intact. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead the #ClutterTimeline that drives the state transition. The returned timeline is owned by the #ClutterState and it should not be unreferenced a #ClutterState the state to transition to Change to the specified target state immediately with no animation. See clutter_state_set_state(). Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead the #ClutterTimeline that drives the state transition. The returned timeline is owned by the #ClutterState and it should not be unreferenced a #ClutterState 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. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead The currently set target state, setting it causes the state machine to transition to the new state, use clutter_state_warp_to_state() to change state without a transition. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead The ::completed signal is emitted when a #ClutterState reaches the target state specified by clutter_state_set_state() or clutter_state_warp_to_state(). Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead The #ClutterStateClass structure contains only private data #ClutterStateKey is an opaque structure whose members cannot be accessed directly Retrieves the easing mode used for @state_key. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead the mode of a #ClutterStateKey a #ClutterStateKey Retrieves the object instance this #ClutterStateKey applies to. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead the object this state key applies to. a #ClutterStateKey Retrieves the duration of the pause after transitioning is complete as a fraction of the total transition time. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead the post delay, used after doing the transition. a #ClutterStateKey Retrieves the pause before transitioning starts as a fraction of the total transition time. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead the pre delay used before starting the transition. a #ClutterStateKey Retrieves the name of the property this #ClutterStateKey applies to Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead the name of the property. The returned string is owned by the #ClutterStateKey and should never be modified or freed a #ClutterStateKey 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() Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead the #GType of the property a #ClutterStateKey Retrieves the name of the source state of the @state_key Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead the name of the source state for this key, or %NULL 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 a #ClutterStateKey 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. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead the name of the source state for this key, or NULL if the key is generic a #ClutterStateKey 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. Use #ClutterKeyframeTransition and #ClutterTransitionGroup instead %TRUE if the value was successfully retrieved, and %FALSE otherwise a #ClutterStateKey a #GValue initialized with the correct type for the @state_key Named colors, for accessing global colors defined by Clutter White color (ffffffff) Black color (000000ff) Red color (ff0000ff) Dark red color (800000ff) Green color (00ff00ff) Dark green color (008000ff) Blue color (0000ffff) Dark blue color (000080ff) Cyan color (00ffffff) Dark cyan color (008080ff) Magenta color (ff00ffff) Dark magenta color (800080ff) Yellow color (ffff00ff) Dark yellow color (808000ff) Gray color (a0a0a4ff) Dark Gray color (808080ff) Light gray color (c0c0c0ff) Butter color (edd400ff) Light butter color (fce94fff) Dark butter color (c4a000ff) Orange color (f57900ff) Light orange color (fcaf3fff) Dark orange color (ce5c00ff) Chocolate color (c17d11ff) Light chocolate color (e9b96eff) Dark chocolate color (8f5902ff) Chameleon color (73d216ff) Light chameleon color (8ae234ff) Dark chameleon color (4e9a06ff) Sky color (3465a4ff) Light sky color (729fcfff) Dark sky color (204a87ff) Plum color (75507bff) Light plum color (ad7fa8ff) Dark plum color (5c3566ff) Scarlet red color (cc0000ff) Light scarlet red color (ef2929ff) Dark scarlet red color (a40000ff) Aluminium, first variant (eeeeecff) Aluminium, second variant (d3d7cfff) Aluminium, third variant (babdb6ff) Aluminium, fourth variant (888a85ff) Aluminium, fifth variant (555753ff) Aluminium, sixth variant (2e3436ff) Transparent color (00000000) Change the value transition of a step function. See clutter_timeline_set_step_progress(). The change in the value of a %CLUTTER_STEP progress mode should occur at the start of the transition The change in the value of a %CLUTTER_STEP progress mode should occur at the end of the transition The #ClutterSwipeAction structure contains only private data and should be accessed using the provided API Creates a new #ClutterSwipeAction instance the newly created #ClutterSwipeAction The ::swept signal is emitted when a swipe gesture is recognized on the attached actor. Use the ::swipe signal instead. the #ClutterActor attached to the @action the main direction of the swipe gesture The ::swipe signal is emitted when a swipe gesture is recognized on the attached actor. %TRUE if the swipe should continue, and %FALSE if the swipe should be cancelled. the #ClutterActor attached to the @action the main direction of the swipe gesture The #ClutterSwipeActionClass structure contains only private data. The main direction of the swipe gesture Upwards swipe gesture Downwards swipe gesture Leftwards swipe gesture Rightwards swipe gesture The alignment policies available on each axis of the #ClutterTableLayout Use the alignment properties of #ClutterActor Align the child to the top or to the left of a cell in the table, depending on the axis Align the child to the center of a cell in the table Align the child to the bottom or to the right of a cell in the table, depending on the axis The #ClutterTableLayout structure contains only private data and should be accessed using the provided API Use #ClutterGridLayout instead Creates a new #ClutterTableLayout layout manager Use #ClutterGridLayout instead 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(). Use clutter_actor_get_x_align() and clutter_actor_get_y_align() instead. a #ClutterTableLayout 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 No direct replacement is available the number of columns A #ClutterTableLayout Retrieves the spacing set using clutter_table_layout_set_column_spacing() Use #ClutterGridLayout:column-spacing the spacing between columns of the #ClutterTableLayout a #ClutterTableLayout Retrieves the duration set using clutter_table_layout_set_easing_duration() #ClutterTableLayout will honour the easing state of the children when allocating them. See clutter_actor_set_easing_mode() and clutter_actor_set_easing_duration(). the duration of the animations, in milliseconds a #ClutterTableLayout Retrieves the easing mode set using clutter_table_layout_set_easing_mode() #ClutterTableLayout will honour the easing state of the children when allocating them. See clutter_actor_set_easing_mode() and clutter_actor_set_easing_duration(). an easing mode a #ClutterTableLayout Retrieves the horizontal and vertical expand policies for @actor as set using clutter_table_layout_pack() or clutter_table_layout_set_expand() Use clutter_actor_get_x_expand() and clutter_actor_get_y_expand() instead. a #ClutterTableLayout 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() Use clutter_actor_get_x_align() and clutter_actor_get_y_align() instead. a #ClutterTableLayout 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 No direct replacement is available the number of rows A #ClutterTableLayout Retrieves the spacing set using clutter_table_layout_set_row_spacing() Use #ClutterGridLayout:row-spacing instead the spacing between rows of the #ClutterTableLayout a #ClutterTableLayout Retrieves the row and column span for @actor as set using clutter_table_layout_pack() or clutter_table_layout_set_span() Use the `width` and `height` layout properties of #ClutterGridLayout instead a #ClutterTableLayout 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() #ClutterTableLayout will honour the easing state of the children when allocating them. See clutter_actor_set_easing_mode() and clutter_actor_set_easing_duration(). %TRUE if the animations should be used, %FALSE otherwise a #ClutterTableLayout Packs @actor inside the #ClutterContainer associated to @layout at the given row and column. Use clutter_grid_layout_attach_child() instead a #ClutterTableLayout 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 Use clutter_actor_set_x_align() and clutter_actor_set_y_align() instead. a #ClutterTableLayout a #ClutterActor child of @layout Horizontal alignment policy for @actor Vertical alignment policy for @actor Sets the spacing between columns of @layout Use #ClutterGridLayout:column-spacing instead a #ClutterTableLayout 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 #ClutterTableLayout will honour the easing state of the children when allocating them. See clutter_actor_set_easing_mode() and clutter_actor_set_easing_duration(). a #ClutterTableLayout 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 #ClutterTableLayout will honour the easing state of the children when allocating them. See clutter_actor_set_easing_mode() and clutter_actor_set_easing_duration(). a #ClutterTableLayout 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 Use clutter_actor_set_x_expand() or clutter_actor_set_y_expand() instead. a #ClutterTableLayout 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 Use clutter_actor_set_x_align() and clutter_actor_set_y_align() instead. a #ClutterTableLayout 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 Use #ClutterGridLayout:row-spacing instead a #ClutterTableLayout the spacing between rows of the layout, in pixels Sets the row and column span for @actor inside @layout Use the `width` and `height` layout properties of #ClutterGridLayout instead a #ClutterTableLayout 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() #ClutterTableLayout will honour the easing state of the children when allocating them. See clutter_actor_set_easing_mode() and clutter_actor_set_easing_duration(). a #ClutterTableLayout %TRUE if the @layout should use animations The spacing between columns of the #ClutterTableLayout, in pixels Use #ClutterGridLayout:column-spacing instead The duration of the animations, in case #ClutterTableLayout:use-animations is set to %TRUE. The duration is expressed in milliseconds. #ClutterTableLayout will honour the easing state of the children when allocating them The easing mode for the animations, in case #ClutterTableLayout:use-animations is set to %TRUE. The easing mode has the same semantics of #ClutterAnimation:mode: it can 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. #ClutterTableLayout will honour the easing state of the children when allocating them The spacing between rows of the #ClutterTableLayout, in pixels Use #ClutterGridLayout:row-spacing instead Whether the #ClutterTableLayout should animate changes in the layout properties. By default, #ClutterTableLayout will honour the easing state of the children when allocating them. Setting this property to %TRUE will override the easing state with the layout manager's #ClutterTableLayout:easing-mode and #ClutterTableLayout:easing-duration properties. #ClutterTableLayout will honour the easing state of the children when allocating them The #ClutterTableLayoutClass structure contains only private data and should be accessed using the provided API Use #ClutterGridLayout instead The #ClutterTapAction structure contains only private data and should be accessed using the provided API Creates a new #ClutterTapAction instance the newly created #ClutterTapAction The ::tap signal is emitted when the tap gesture is complete. the #ClutterActor attached to the @action The #ClutterTapActionClass structure contains only private data. 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 entry with the specified text buffer. a new #ClutterText The buffer to use for the new #ClutterText. 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. %TRUE if the ::activate signal has been emitted, and %FALSE otherwise a #ClutterText Retrieves the position of the character at the given coordinates. the position of the character a #ClutterText the X coordinate, relative to the actor the Y coordinate, relative to the actor Deletes @n_chars inside a #ClutterText actor, starting from the current cursor position. Somewhat awkwardly, the cursor position is decremented by the same number of characters you've deleted. a #ClutterText the number of characters to delete Deletes the currently selected text This function is only useful in subclasses of #ClutterText %TRUE if text was deleted or if the text actor is empty, and %FALSE otherwise a #ClutterText 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. a #ClutterText starting position ending position Retrieves whether a #ClutterText is activatable or not. %TRUE if the actor is activatable a #ClutterText Gets the attribute list that was set on the #ClutterText actor clutter_text_set_attributes(), if any. the attribute list, or %NULL if none was set. The returned value is owned by the #ClutterText and should not be unreferenced. a #ClutterText Get the #ClutterTextBuffer object which holds the text for this widget. A #GtkEntryBuffer object. a #ClutterText Retrieves the contents of the #ClutterText actor between @start_pos and @end_pos, but not including @end_pos. The positions are specified in characters, not in bytes. a newly allocated string with the contents of the text actor between the specified positions. Use g_free() to free the resources when done a #ClutterText start of text, in characters end of text, in characters Retrieves the text color as set by clutter_text_set_color(). a #ClutterText return location for a #ClutterColor Retrieves the color of the cursor of a #ClutterText actor. a #ClutterText return location for a #ClutterColor Retrieves the cursor position. the cursor position, in characters a #ClutterText Retrieves the rectangle that contains the cursor. The coordinates of the rectangle's origin are in actor-relative coordinates. a #ClutterText return location of a #ClutterRect Retrieves the size of the cursor of a #ClutterText actor. the size of the cursor, in pixels a #ClutterText Retrieves whether the cursor of a #ClutterText actor is visible. %TRUE if the cursor is visible a #ClutterText Retrieves whether a #ClutterText is editable or not. %TRUE if the actor is editable a #ClutterText Returns the ellipsizing position of a #ClutterText actor, as set by clutter_text_set_ellipsize(). #PangoEllipsizeMode a #ClutterText Retrieves the #PangoFontDescription used by @self a #PangoFontDescription. The returned value is owned by the #ClutterText actor and it should not be modified or freed a #ClutterText Retrieves the font name as set by clutter_text_set_font_name(). a string containing the font name. The returned string is owned by the #ClutterText actor and should not be modified or freed a #ClutterText Retrieves whether the #ClutterText actor should justify its contents on both margins. %TRUE if the text should be justified a #ClutterText Retrieves the current #PangoLayout used by a #ClutterText actor. a #PangoLayout. The returned object is owned by the #ClutterText actor and should not be modified or freed a #ClutterText Obtains the coordinates where the #ClutterText will draw the #PangoLayout representing the text. a #ClutterText location to store X offset of layout, or %NULL location to store Y offset of layout, or %NULL Retrieves the alignment of a #ClutterText, as set by clutter_text_set_line_alignment(). a #PangoAlignment a #ClutterText Retrieves the value set using clutter_text_set_line_wrap(). %TRUE if the #ClutterText actor should wrap its contents a #ClutterText Retrieves the line wrap mode used by the #ClutterText actor. See clutter_text_set_line_wrap_mode (). the wrap mode used by the #ClutterText a #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. a #ClutterText Retrieves the character to use in place of the actual text as set by clutter_text_set_password_char(). a Unicode character or 0 if the password character is not set a #ClutterText Retrieves whether a #ClutterText is selectable or not. %TRUE if the actor is selectable a #ClutterText Retrieves the color of selected text of a #ClutterText actor. a #ClutterText return location for a #ClutterColor Retrieves the currently selected text. a newly allocated string containing the currently selected text, or %NULL. Use g_free() to free the returned string. a #ClutterText 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 a #ClutterText Retrieves the color of the selection of a #ClutterText actor. a #ClutterText 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 a #ClutterText 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. If the #ClutterText actor is empty, this function will return an empty string, and not %NULL. the contents of the actor. The returned string is owned by the #ClutterText actor and should never be modified or freed a #ClutterText 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 a #ClutterText 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. a #ClutterText the text to be inserted the position of the insertion, or -1 Inserts @wc at the current cursor position of a #ClutterText actor. a #ClutterText a Unicode character Retrieves the coordinates of the given @position. %TRUE if the conversion was successful a #ClutterText 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(). a #ClutterText 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 #ClutterText a #PangoAttrList or %NULL to unset the attributes Set the #ClutterTextBuffer object which holds the text for this widget. a #ClutterText a #ClutterTextBuffer 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 #ClutterText 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. a #ClutterText 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. a #ClutterText 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. a #ClutterText 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(). a #ClutterText 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_set_key_focus() will receive key events and will update its contents accordingly. a #ClutterText whether the #ClutterText should be editable Sets the mode used to ellipsize (add an ellipsis: "...") to the text if there is not enough space to render the entire contents of a #ClutterText actor a #ClutterText 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 #ClutterText 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: |[ // Set the font to the system's Sans, 10 points clutter_text_set_font_name (text, "Sans 10"); // Set the font to the system's Serif, 16 pixels clutter_text_set_font_name (text, "Serif 16px"); // Set the font to Helvetica, 10 points clutter_text_set_font_name (text, "Helvetica 10"); ]| a #ClutterText 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. a #ClutterText 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 #ClutterText A #PangoAlignment Sets whether the contents of a #ClutterText actor should wrap, if they don't fit the size assigned to the actor. a #ClutterText 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. a #ClutterText 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: |[ /&ast; the order is important &ast;/ clutter_text_set_text (CLUTTER_TEXT (actor), markup); clutter_text_set_use_markup (CLUTTER_TEXT (actor), TRUE); ]| a #ClutterText 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. a #ClutterText 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 #ClutterText 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 a #ClutterText 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. a #ClutterText whether the #ClutterText actor should be selectable Sets the selected text color of a #ClutterText actor. If @color is %NULL, the selected text color will be the same as the selection color, which then falls back to cursor, and then text color. a #ClutterText the selected text color, or %NULL to unset it Selects the region of text between @start_pos and @end_pos. This function changes the position of the cursor to match @start_pos and the selection bound to match @end_pos. a #ClutterText 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. a #ClutterText 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. a #ClutterText 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 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. a #ClutterText 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 a #ClutterText 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. a #ClutterText %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 buffer which stores the text for this #ClutterText. If set to %NULL, a default buffer will be created. 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 current input cursor position. -1 is taken to be the end of the text 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. The cursor will only be visible if this property and either the #ClutterText:editable or the #ClutterText:selectable properties 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 Use ClutterText:cursor-position instead. Whether it is possible to select text, either using the pointer or the keyboard. This property depends on the #ClutterActor:reactive property being set to %TRUE. The color of selected text. Will be set to %TRUE if #ClutterText:selected-text-color has been set. 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. 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. The ::activate signal is emitted each time the actor is 'activated' by the user, normally by pressing the 'Enter' key. The signal is emitted only if #ClutterText:activatable is set to %TRUE. The ::cursor-changed signal is emitted whenever the cursor position or size changes. 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. Use the #ClutterText::cursor-changed signal instead 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 #ClutterTextBuffer structure contains private data and it should only be accessed using the provided API. Create a new ClutterTextBuffer object. A new ClutterTextBuffer object. Create a new ClutterTextBuffer object with some text. A new ClutterTextBuffer object. initial buffer text initial buffer text length, or -1 for null-terminated. Deletes a sequence of characters from the buffer. @n_chars characters are deleted starting at @position. If @n_chars is negative, then all characters until the end of the text are deleted. If @position or @n_chars are out of bounds, then they are coerced to sane values. Note that the positions are specified in characters, not bytes. The number of characters deleted. a #ClutterTextBuffer position at which to delete text number of characters to delete Retrieves the length in characters of the buffer. The number of characters in the buffer. a #ClutterTextBuffer Inserts @n_chars characters of @chars into the contents of the buffer, at position @position. If @n_chars is negative, then characters from chars will be inserted until a null-terminator is found. If @position or @n_chars are out of bounds, or the maximum buffer text length is exceeded, then they are coerced to sane values. Note that the position and length are in characters, not in bytes. The number of characters actually inserted. a #ClutterTextBuffer the position at which to insert text. the text to insert into the buffer. the length of the text in characters, or -1 Deletes a sequence of characters from the buffer. @n_chars characters are deleted starting at @position. If @n_chars is negative, then all characters until the end of the text are deleted. If @position or @n_chars are out of bounds, then they are coerced to sane values. Note that the positions are specified in characters, not bytes. The number of characters deleted. a #ClutterTextBuffer position at which to delete text number of characters to delete Emits the #ClutterTextBuffer::deleted-text signal on @buffer. Used when subclassing #ClutterTextBuffer a #ClutterTextBuffer position at which text was deleted number of characters deleted Emits the #ClutterTextBuffer::inserted-text signal on @buffer. Used when subclassing #ClutterTextBuffer a #ClutterTextBuffer position at which text was inserted text that was inserted number of characters inserted Retrieves the length in bytes of the buffer. See clutter_text_buffer_get_length(). The byte length of the buffer. a #ClutterTextBuffer Retrieves the length in characters of the buffer. The number of characters in the buffer. a #ClutterTextBuffer Retrieves the maximum allowed length of the text in @buffer. See clutter_text_buffer_set_max_length(). the maximum allowed number of characters in #ClutterTextBuffer, or 0 if there is no maximum. a #ClutterTextBuffer Retrieves the contents of the buffer. The memory pointer returned by this call will not change unless this object emits a signal, or is finalized. a pointer to the contents of the widget as a string. This string points to internally allocated storage in the buffer and must not be freed, modified or stored. a #ClutterTextBuffer Inserts @n_chars characters of @chars into the contents of the buffer, at position @position. If @n_chars is negative, then characters from chars will be inserted until a null-terminator is found. If @position or @n_chars are out of bounds, or the maximum buffer text length is exceeded, then they are coerced to sane values. Note that the position and length are in characters, not in bytes. The number of characters actually inserted. a #ClutterTextBuffer the position at which to insert text. the text to insert into the buffer. the length of the text in characters, or -1 Sets the maximum allowed length of the contents of the buffer. If the current contents are longer than the given length, then they will be truncated to fit. a #ClutterTextBuffer the maximum length of the entry buffer, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range [ 0, %CLUTTER_TEXT_BUFFER_MAX_SIZE ]. Sets the text in the buffer. This is roughly equivalent to calling clutter_text_buffer_delete_text() and clutter_text_buffer_insert_text(). Note that @n_chars is in characters, not in bytes. a #ClutterTextBuffer the new text the number of characters in @text, or -1 The length (in characters) of the text in buffer. The maximum length (in characters) of the text in the buffer. The contents of the buffer. This signal is emitted after text is deleted from the buffer. the position the text was deleted at. The number of characters that were deleted. This signal is emitted after text is inserted into the buffer. the position the text was inserted at. The text that was inserted. The number of characters that were inserted. The #ClutterTextBufferClass structure contains only private data. The number of characters in the buffer. a #ClutterTextBuffer The number of characters actually inserted. a #ClutterTextBuffer the position at which to insert text. the text to insert into the buffer. the length of the text in characters, or -1 The number of characters deleted. a #ClutterTextBuffer position at which to delete text number of characters to delete The #ClutterTextClass struct contains only private data. The text direction to be used by #ClutterActor<!-- -->s Use the default setting, as returned by clutter_get_default_text_direction() Use left-to-right text direction Use right-to-left text direction The #ClutterTextNode structure is an opaque type whose members cannot be directly accessed. Creates a new #ClutterPaintNode that will paint a #PangoLayout with the given color. This function takes a reference on the passed @layout, so it is safe to call g_object_unref() after it returns. the newly created #ClutterPaintNode. Use clutter_paint_node_unref() when done a #PangoLayout, or %NULL the color used to paint the layout, or %NULL The `ClutterTextNodeClass` structure is an opaque type whose contents cannot be directly accessed. The #ClutterTexture structure contains only private data and should be accessed using the provided API Creates a new empty #ClutterTexture object. Use #ClutterImage instead 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: - The source actor must be visible - 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. - 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. - Avoid reparenting the source with the created texture. - A group can be padded with a transparent rectangle as to provide a border to contents for shader output (blurring text for example). - 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. - Uploading pixel data to the texture (e.g by using clutter_texture_set_from_file()) will destroy the offscreen texture data and end redirection. - 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. Use the #ClutterOffscreenEffect and #ClutterShaderEffect directly on the intended #ClutterActor to replace the functionality of this function. 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. No direct replacement is available. Use #ClutterImage and platform-specific image loading API, like GdkPixbuf, instead A newly created #ClutterTexture object or NULL on error. The name of an image file to load. Gets the size in pixels of the untransformed underlying image Use #ClutterImage and clutter_content_get_preferred_size() instead a #ClutterTexture 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. No replacement is available; it's not advisable to modify the Cogl pipeline of an actor. Use a #ClutterContent implementation and modify the pipeline during the paint sequence a handle for a #CoglMaterial. The material is owned by the #ClutterTexture and it should not be unreferenced A #ClutterTexture 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. No replacement available; it's not advisable to modify the Cogl pipeline of an actor. Use a #ClutterContent implementation and set up the pipeline during the paint sequence instead. a #CoglHandle for the texture. The returned handle is owned by the #ClutterTexture and it should not be unreferenced A #ClutterTexture Gets the filter quality used when scaling a texture. Use #ClutterImage and clutter_actor_get_content_scaling_filters() instead The filter quality value. A #ClutterTexture Retrieves the value set using clutter_texture_set_keep_aspect_ratio() Use #ClutterImage and clutter_actor_get_content_gravity() instead %TRUE if the #ClutterTexture should maintain the aspect ratio of the underlying image a #ClutterTexture Retrieves the value set using clutter_texture_set_load_async() There is no direct replacement for this function %TRUE if the #ClutterTexture should load the data from disk asynchronously a #ClutterTexture Retrieves the value set by clutter_texture_set_load_data_async() There is no direct replacement for this function %TRUE if the #ClutterTexture should load the image data from a file asynchronously a #ClutterTexture Gets the maximum waste that will be used when creating a texture or -1 if slicing is disabled. No replacement is available The maximum waste or -1 if the texture waste is unlimited. A #ClutterTexture Retrieves the value set by clutter_texture_set_load_data_async() There is no direct replacement for this function %TRUE if the #ClutterTexture should define its shape using the alpha channel when picking. a #ClutterTexture 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); ]| There is no direct replacement for this function a #CoglPixelFormat value a #ClutterTexture Retrieves the horizontal and vertical repeat values set using clutter_texture_set_repeat() Use #ClutterImage and clutter_actor_get_content_repeat() instead a #ClutterTexture return location for the horizontal repeat return location for the vertical repeat Retrieves the value set with clutter_texture_set_sync_size() There is no direct replacement %TRUE if the #ClutterTexture should have the same preferred size of the underlying image data a #ClutterTexture Updates a sub-region of the pixel data in a #ClutterTexture. Use #ClutterImage and clutter_image_set_area() instead %TRUE on success, %FALSE on failure. A #ClutterTexture 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 @cogl_material. A reference to the material is taken so if the 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. No replacement is available; it's not advisable to modify the Cogl pipeline of an actor. Use a #ClutterContent implementation and modify the pipeline during the paint sequence A #ClutterTexture A CoglHandle for a material Replaces the underlying COGL texture drawn by this actor with @cogl_tex. A reference to the texture is taken so if the handle is no longer needed it should be deref'd with cogl_handle_unref. No replacement available; it's not advisable to modify the Cogl pipeline of an actor. Use a #ClutterContent implementation and set up the pipeline during the paint sequence instead. A #ClutterTexture A CoglHandle for a texture 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. Use #ClutterImage and clutter_actor_set_content_scaling_filters() instead a #ClutterTexture 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. Use #ClutterImage and platform-specific image loading API, like GdkPixbuf, instead %TRUE if the image was successfully loaded and set A #ClutterTexture The filename of the image in GLib file name encoding Sets #ClutterTexture image data. Use #ClutterImage and clutter_image_set_data() instead %TRUE on success, %FALSE on failure. a #ClutterTexture 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 the value of @has_alpha) #ClutterTextureFlags Sets a #ClutterTexture from YUV image data. If an error occurred, %FALSE is returned and @error is set. The YUV support depends on the driver; the format supported by the few drivers exposing this capability are not really useful. The proper way to convert image data in any YUV colorspace to any RGB colorspace is to use a fragment shader associated with the #ClutterTexture material. Use a custom #ClutterContent implementation and set up the Cogl pipeline using a #ClutterPipelineNode with a fragment shader instead. %TRUE if the texture was successfully updated A #ClutterTexture 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 Use #ClutterImage and clutter_actor_set_content_gravity() with %CLUTTER_CONTENT_GRAVITY_RESIZE_ASPECT instead a #ClutterTexture %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(). There is no direct replacement for this function. Use #ClutterImage and platform-specific API for loading image data asynchronously, like GdkPixbuf a #ClutterTexture %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(). There is no direct replacement for this function. Use #ClutterImage and platform-specific API for loading image data asynchronously, like GdkPixbuf a #ClutterTexture %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. There is no direct replacement for this function a #ClutterTexture %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 Use #ClutterImage and clutter_actor_set_content_repeat() instead a #ClutterTexture %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. No replacement is available. A #ClutterActor using #ClutterImage with a %CLUTTER_REQUEST_CONTENT_SIZE request mode will automatically bind the preferred size of the content to the preferred size of the actor a #ClutterTexture %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. Use #ClutterImage and platform-specific image loading API, like GdkPixbuf 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(). Use platform-specific image loading API, like GdkPixbuf Like #ClutterTexture:load-async but loads the width and height synchronously causing some blocking. Use platform-specific image loading API, like GdkPixbuf 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 No replacement is available A set error, or %NULL The ::pixbuf-change signal is emitted each time the pixbuf used by @texture changes. No replacement is available 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. No replacement is available the width of the new texture the height of the new texture The #ClutterTextureClass structure contains only private data Error enumeration for #ClutterTexture OOM condition YUV operation attempted but no YUV support found The requested format for clutter_texture_set_from_rgb_data or clutter_texture_set_from_yuv_data is unsupported. Flags for clutter_texture_set_from_rgb_data() and clutter_texture_set_from_yuv_data(). The #ClutterTexture class was the only user of this API No flags Unused flag Unused flag Unused flag The #ClutterTextNode structure is an opaque type whose members cannot be directly accessed. Creates a new #ClutterPaintNode that will paint the passed @texture. This function will take a reference on @texture, so it is safe to call cogl_object_unref() on @texture when it returns. The @color must not be pre-multiplied with its #ClutterColor.alpha channel value; if @color is %NULL, a fully opaque white color will be used for blending. the newly created #ClutterPaintNode. Use clutter_paint_node_unref() when done a #CoglTexture a #ClutterColor used for blending, or %NULL the minification filter for the texture the magnification filter for the texture The `ClutterTextureNodeClass` structure is an opaque type whose members cannot be directly accessed. Enumaration controlling the texture quality. The #ClutterTexture class was the only used ot this API; use #ClutterImage and clutter_actor_set_content_scaling_filters() instead. fastest rendering will use nearest neighbour interpolation when rendering. good setting. higher quality rendering without using extra resources. render the texture with the best quality available using extra memory. The #ClutterTimeline structure contains only private data and should be accessed using the provided API Creates a new #ClutterTimeline with a duration of @msecs. the newly created #ClutterTimeline instance. Use g_object_unref() when done using it Duration of the timeline in milliseconds Adds a named marker that will be hit when the timeline has reached the specified @progress. Markers are unique string identifiers for a given position on the timeline. Once @timeline reaches the given @progress of its duration, if will emit a ::marker-reached signal for each marker attached to that particular point. A marker can be removed with clutter_timeline_remove_marker(). The timeline can be advanced to a marker using clutter_timeline_advance_to_marker(). See also: clutter_timeline_add_marker_at_time() a #ClutterTimeline the unique name for this marker the normalized value of the position of the martke 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 position on the timeline. Once @timeline reaches the given @msecs, it will emit a ::marker-reached signal for each marker attached to that position. A marker can be removed with clutter_timeline_remove_marker(). The timeline can be advanced to a marker using clutter_timeline_advance_to_marker(). See also: clutter_timeline_add_marker() a #ClutterTimeline 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. 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. A #ClutterTimeline Time to advance to Advances @timeline to the time of the given @marker_name. 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 @marker_name. a #ClutterTimeline 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 the original @timeline: you will have to start it with clutter_timeline_start(). The only cloned properties are: - #ClutterTimeline:duration - #ClutterTimeline:loop - #ClutterTimeline:delay - #ClutterTimeline:direction Use clutter_timeline_new() or g_object_new() instead a new #ClutterTimeline, cloned from @timeline #ClutterTimeline to duplicate. Retrieves the value set by clutter_timeline_set_auto_reverse(). %TRUE if the timeline should automatically reverse, and %FALSE otherwise a #ClutterTimeline Retrieves the control points for the cubic bezier progress mode. %TRUE if the @timeline is using a cubic bezier progress more, and %FALSE otherwise a #ClutterTimeline return location for the first control point of the cubic bezier, or %NULL return location for the second control point of the cubic bezier, or %NULL Retrieves the current repeat for a timeline. Repeats start at 0. the current repeat a #ClutterTimeline Retrieves the delay set using clutter_timeline_set_delay(). the delay in milliseconds. a #ClutterTimeline 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. the amount of time in milliseconds elapsed since the last frame a #ClutterTimeline Retrieves the direction of the timeline set with clutter_timeline_set_direction(). the direction of the timeline a #ClutterTimeline Retrieves the duration of a #ClutterTimeline in milliseconds. See clutter_timeline_set_duration(). the duration of the timeline, in milliseconds. a #ClutterTimeline Retrieves the full duration of the @timeline, taking into account the current value of the #ClutterTimeline:repeat-count property. If the #ClutterTimeline:repeat-count property is set to -1, this function will return %G_MAXINT64. The returned value is to be considered a hint, and it's only valid as long as the @timeline hasn't been changed. the full duration of the #ClutterTimeline a #ClutterTimeline Request the current time position of the timeline. current elapsed time in milliseconds. A #ClutterTimeline Gets whether @timeline is looping Use clutter_timeline_get_repeat_count() instead. %TRUE if the timeline is looping a #ClutterTimeline The position of the timeline in a normalized [-1, 2] interval. The return value of this function is determined by the progress mode set using clutter_timeline_set_progress_mode(), or by the progress function set using clutter_timeline_set_progress_func(). the normalized current position in the timeline. a #ClutterTimeline Retrieves the progress mode set using clutter_timeline_set_progress_mode() or clutter_timeline_set_progress_func(). a #ClutterAnimationMode a #ClutterTimeline Retrieves the number set using clutter_timeline_set_repeat_count(). the number of repeats a #ClutterTimeline Retrieves the parameters of the step progress mode used by @timeline. %TRUE if the @timeline is using a step progress mode, and %FALSE otherwise a #ClutterTimeline return location for the number of steps, or %NULL return location for the value change policy, or %NULL Checks whether @timeline has a marker set with the given name. %TRUE if the marker was found a #ClutterTimeline the name of the marker Queries state of a #ClutterTimeline. %TRUE if timeline is currently playing A #ClutterTimeline Retrieves the list of markers at time @msecs. If @msecs 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. a #ClutterTimeline the time to check, or -1 the number of markers returned Pauses the #ClutterTimeline on current frame A #ClutterTimeline Removes @marker_name, if found, from @timeline. a #ClutterTimeline 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. A #ClutterTimeline Sets whether @timeline should reverse the direction after the emission of the #ClutterTimeline::completed signal. Setting the #ClutterTimeline:auto-reverse property to %TRUE is the equivalent of connecting a callback to the #ClutterTimeline::completed signal and changing the direction of the timeline from that callback; for instance, this code: |[ static void reverse_timeline (ClutterTimeline *timeline) { ClutterTimelineDirection dir = clutter_timeline_get_direction (timeline); if (dir == CLUTTER_TIMELINE_FORWARD) dir = CLUTTER_TIMELINE_BACKWARD; else dir = CLUTTER_TIMELINE_FORWARD; clutter_timeline_set_direction (timeline, dir); } ... timeline = clutter_timeline_new (1000); clutter_timeline_set_repeat_count (timeline, -1); g_signal_connect (timeline, "completed", G_CALLBACK (reverse_timeline), NULL); ]| can be effectively replaced by: |[ timeline = clutter_timeline_new (1000); clutter_timeline_set_repeat_count (timeline, -1); clutter_timeline_set_auto_reverse (timeline); ]| a #ClutterTimeline %TRUE if the @timeline should reverse the direction Sets the #ClutterTimeline:progress-mode of @timeline to %CLUTTER_CUBIC_BEZIER, and sets the two control points for the cubic bezier. The cubic bezier curve is between (0, 0) and (1, 1). The X coordinate of the two control points must be in the [ 0, 1 ] range, while the Y coordinate of the two control points can exceed this range. a #ClutterTimeline the first control point for the cubic bezier the second control point for the cubic bezier Sets the delay, in milliseconds, before @timeline should start. a #ClutterTimeline delay in milliseconds Sets the direction of @timeline, either %CLUTTER_TIMELINE_FORWARD or %CLUTTER_TIMELINE_BACKWARD. a #ClutterTimeline the direction of the timeline Sets the duration of the timeline, in milliseconds. The speed of the timeline depends on the ClutterTimeline:fps setting. a #ClutterTimeline duration of the timeline in milliseconds Sets whether @timeline should loop. This function is equivalent to calling clutter_timeline_set_repeat_count() with -1 if @loop is %TRUE, and with 0 if @loop is %FALSE. Use clutter_timeline_set_repeat_count() instead. a #ClutterTimeline %TRUE for enable looping Sets a custom progress function for @timeline. The progress function will be called by clutter_timeline_get_progress() and will be used to compute the progress value based on the elapsed time and the total duration of the timeline. If @func is not %NULL, the #ClutterTimeline:progress-mode property will be set to %CLUTTER_CUSTOM_MODE. If @func is %NULL, any previously set progress function will be unset, and the #ClutterTimeline:progress-mode property will be set to %CLUTTER_LINEAR. a #ClutterTimeline a progress function, or %NULL data to pass to @func a function to be called when the progress function is removed or the timeline is disposed Sets the progress function using a value from the #ClutterAnimationMode enumeration. The @mode cannot be %CLUTTER_CUSTOM_MODE or bigger than %CLUTTER_ANIMATION_LAST. a #ClutterTimeline the progress mode, as a #ClutterAnimationMode Sets the number of times the @timeline should repeat. If @count is 0, the timeline never repeats. If @count is -1, the timeline will always repeat until it's stopped. a #ClutterTimeline the number of times the timeline should repeat Sets the #ClutterTimeline:progress-mode of the @timeline to %CLUTTER_STEPS and provides the parameters of the step function. a #ClutterTimeline the number of steps whether the change should happen at the start or at the end of the step Advance timeline by the requested time in milliseconds A #ClutterTimeline Amount of time to skip Starts the #ClutterTimeline playing. A #ClutterTimeline Stops the #ClutterTimeline and moves to frame 0 A #ClutterTimeline If the direction of the timeline should be automatically reversed when reaching the end. 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. As a side effect, setting this property to %TRUE will set the #ClutterTimeline:repeat-count property to -1, while setting this property to %FALSE will set the #ClutterTimeline:repeat-count property to 0. Use the #ClutterTimeline:repeat-count property instead. Controls the way a #ClutterTimeline computes the normalized progress. Defines how many times the timeline should repeat. If the repeat count is 0, the timeline does not repeat. If the repeat count is set to -1, the timeline will repeat until it is stopped. The #ClutterTimeline::completed signal is emitted when the timeline's elapsed time reaches the value of the #ClutterTimeline:duration property. This signal will be emitted even if the #ClutterTimeline is set to be repeating. If you want to get notification on whether the #ClutterTimeline has been stopped or has finished its run, including its eventual repeats, you should use the #ClutterTimeline::stopped signal instead. 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 #ClutterTimeline::stopped signal is emitted when the timeline has been stopped, either because clutter_timeline_stop() has been called, or because it has been exhausted. This is different from the #ClutterTimeline::completed signal, which gets emitted after every repeat finishes. If the #ClutterTimeline has is marked as infinitely repeating, this signal will never be emitted. %TRUE if the signal was emitted at the end of the timeline. The #ClutterTimelineClass structure contains only private data The direction of a #ClutterTimeline forward direction for a timeline backward direction for a timeline A function for defining a custom progress. the progress, as a floating point value between -1.0 and 2.0. a #ClutterTimeline the elapsed time, in milliseconds the total duration of the timeline, in milliseconds, data passed to the function #ClutterTimeoutPool 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 @func takes more than @interval ms to execute. There is no direct replacement for this API the ID (greater than 0) of the timeout inside the pool. Use clutter_timeout_pool_remove() to stop the timeout. a #ClutterTimeoutPool 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(). There is no direct replacement for this API a #ClutterTimeoutPool the id of the timeout to remove 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. There is no direct replacement for this API the newly created #ClutterTimeoutPool. The created pool 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 priority of the timeout pool. Typically this will be #G_PRIORITY_DEFAULT Used for touch events. The @type field will be one of %CLUTTER_TOUCH_BEGIN, %CLUTTER_TOUCH_END, %CLUTTER_TOUCH_UPDATE, or %CLUTTER_TOUCH_CANCEL. Touch events are grouped into sequences; each touch sequence will begin with a %CLUTTER_TOUCH_BEGIN event, progress with %CLUTTER_TOUCH_UPDATE events, and end either with a %CLUTTER_TOUCH_END event or with a %CLUTTER_TOUCH_CANCEL event. With multi-touch capable devices there can be multiple event sequence running at the same time. event type event time event flags event source stage event source actor (unused) the X coordinate of the pointer, relative to the stage the Y coordinate of the pointer, relative to the stage the event sequence that this event belongs to a bit-mask representing the state of modifier keys (e.g. Control, Shift, and Alt) and the pointer buttons. See #ClutterModifierType reserved the device that originated the event. If you want the physical device the event originated from, use clutter_event_get_source_device() The phase of a touchpad gesture event. All gestures are guaranteed to begin with an event of type %CLUTTER_TOUCHPAD_GESTURE_PHASE_BEGIN, followed by a number of %CLUTTER_TOUCHPAD_GESTURE_PHASE_UPDATE (possibly 0). A finished gesture may have 2 possible outcomes, an event with phase %CLUTTER_TOUCHPAD_GESTURE_PHASE_END will be emitted when the gesture is considered successful, this should be used as the hint to perform any permanent changes. Cancelled gestures may be so for a variety of reasons, due to hardware, or due to the gesture recognition layers hinting the gesture did not finish resolutely (eg. a 3rd finger being added during a pinch gesture). In these cases, the last event with report the phase %CLUTTER_TOUCHPAD_GESTURE_PHASE_CANCEL, this should be used as a hint to undo any visible/permanent changes that were done throughout the progress of the gesture. See also #ClutterTouchpadPinchEvent and #ClutterTouchpadPinchEvent. The gesture has begun. The gesture has been updated. The gesture was finished, changes should be permanently applied. The gesture was cancelled, all changes should be undone. Used for touchpad pinch gesture events. The current state of the gesture will be determined by the @phase field. Each event with phase %CLUTTER_TOUCHPAD_GESTURE_PHASE_BEGIN will report a @scale of 1.0, all later phases in the gesture report the current scale relative to the initial 1.0 value (eg. 0.5 being half the size, 2.0 twice as big). event type event time event flags event source stage event source actor (unused) the current phase of the gesture the X coordinate of the pointer, relative to the stage the Y coordinate of the pointer, relative to the stage movement delta of the pinch focal point in the X axis movement delta of the pinch focal point in the Y axis angle delta in degrees, clockwise rotations are represented by positive deltas the current scale Used for touchpad swipe gesture events. The current state of the gesture will be determined by the @phase field. event type event time event flags event source stage event source actor (unused) the current phase of the gesture the number of fingers triggering the swipe the X coordinate of the pointer, relative to the stage the Y coordinate of the pointer, relative to the stage movement delta of the pinch focal point in the X axis movement delta of the pinch focal point in the Y axis The #ClutterTransition structure contains private data and should only be accessed using the provided API. Retrieves the #ClutterAnimatable set using clutter_transition_set_animatable(). a #ClutterAnimatable, or %NULL; the returned animatable is owned by the #ClutterTransition, and it should not be freed directly. a #ClutterTransition Retrieves the interval set using clutter_transition_set_interval() a #ClutterInterval, or %NULL; the returned interval is owned by the #ClutterTransition and it should not be freed directly a #ClutterTransition Retrieves the value of the #ClutterTransition:remove-on-complete property. %TRUE if the @transition should be detached when complete, and %FALSE otherwise a #ClutterTransition Sets the #ClutterTransition:animatable property. The @transition will acquire a reference to the @animatable instance, and will call the #ClutterTransitionClass.attached() virtual function. If an existing #ClutterAnimatable is attached to @transition, the reference will be released, and the #ClutterTransitionClass.detached() virtual function will be called. a #ClutterTransition a #ClutterAnimatable, or %NULL Sets the initial value of the transition. This is a convenience function that will either create the #ClutterInterval used by @transition, or will update it if the #ClutterTransition:interval is already set. If @transition already has a #ClutterTransition:interval set, then @value must hold the same type, or a transformable type, as the interval's #ClutterInterval:value-type property. This is a convenience function for the C API; language bindings should use clutter_transition_set_from_value() instead. a #ClutterTransition the type of the value to set the initial value Sets the initial value of the transition. This is a convenience function that will either create the #ClutterInterval used by @transition, or will update it if the #ClutterTransition:interval is already set. This function will copy the contents of @value, so it is safe to call g_value_unset() after it returns. If @transition already has a #ClutterTransition:interval set, then @value must hold the same type, or a transformable type, as the interval's #ClutterInterval:value-type property. This function is meant to be used by language bindings. a #ClutterTransition a #GValue with the initial value of the transition Sets the #ClutterTransition:interval property using @interval. The @transition will acquire a reference on the @interval, sinking the floating flag on it if necessary. a #ClutterTransition a #ClutterInterval, or %NULL Sets whether @transition should be detached from the #ClutterAnimatable set using clutter_transition_set_animatable() when the #ClutterTimeline::completed signal is emitted. a #ClutterTransition whether to detach @transition when complete Sets the final value of the transition. This is a convenience function that will either create the #ClutterInterval used by @transition, or will update it if the #ClutterTransition:interval is already set. If @transition already has a #ClutterTransition:interval set, then @value must hold the same type, or a transformable type, as the interval's #ClutterInterval:value-type property. This is a convenience function for the C API; language bindings should use clutter_transition_set_to_value() instead. a #ClutterTransition the type of the value to set the final value Sets the final value of the transition. This is a convenience function that will either create the #ClutterInterval used by @transition, or will update it if the #ClutterTransition:interval is already set. This function will copy the contents of @value, so it is safe to call g_value_unset() after it returns. If @transition already has a #ClutterTransition:interval set, then @value must hold the same type, or a transformable type, as the interval's #ClutterInterval:value-type property. This function is meant to be used by language bindings. a #ClutterTransition a #GValue with the final value of the transition The #ClutterAnimatable instance currently being animated. The #ClutterInterval used to describe the initial and final states of the transition. Whether the #ClutterTransition should be automatically detached from the #ClutterTransition:animatable instance whenever the #ClutterTimeline::stopped signal is emitted. The #ClutterTransition:remove-on-complete property takes into account the value of the #ClutterTimeline:repeat-count property, and it only detaches the transition if the transition is not repeating. The #ClutterTransitionClass structure contains private data. The #ClutterTransitionGroup structure contains private data and should only be accessed using the provided API. Creates a new #ClutterTransitionGroup instance. the newly created #ClutterTransitionGroup. Use g_object_unref() when done to deallocate the resources it uses Adds @transition to @group. This function acquires a reference on @transition that will be released when calling clutter_transition_group_remove_transition(). a #ClutterTransitionGroup a #ClutterTransition Removes all transitions from @group. This function releases the reference acquired when calling clutter_transition_group_add_transition(). a #ClutterTransitionGroup Removes @transition from @group. This function releases the reference acquired on @transition when calling clutter_transition_group_add_transition(). a #ClutterTransitionGroup a #ClutterTransition The #ClutterTransitionGroupClass structure contains only private data. The type of unit in which a value is expressed This enumeration might be expanded at later date Unit expressed in pixels (with subpixel precision) Unit expressed in em Unit expressed in millimeters Unit expressed in points Unit expressed in centimeters An opaque structure, to be used to store sizing and positioning values along with their unit. Copies @units the newly created copy of a #ClutterUnits structure. Use clutter_units_free() to free the allocated resources the #ClutterUnits to copy Frees the resources allocated by @units You should only call this function on a #ClutterUnits created using clutter_units_copy() the #ClutterUnits to free Retrieves the unit type of the value stored inside @units a unit type a #ClutterUnits Retrieves the value stored inside @units the value stored inside a #ClutterUnits a #ClutterUnits Converts a value in #ClutterUnits to pixels the value in pixels units to convert Converts @units into a string See clutter_units_from_string() for the units syntax and for examples of output 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. a newly allocated string containing the encoded #ClutterUnits value. Use g_free() to free the string a #ClutterUnits Stores a value in centimeters inside @units a #ClutterUnits centimeters Stores a value in em inside @units, using the default font name as returned by clutter_backend_get_font_name() a #ClutterUnits em Stores a value in em inside @units using @font_name a #ClutterUnits the font name and size em Stores a value in millimiters inside @units a #ClutterUnits millimeters Stores a value in pixels inside @units a #ClutterUnits pixels Stores a value in typographic points inside @units a #ClutterUnits typographic points Parses a value and updates @units with it A #ClutterUnits expressed in string should match: |[ units: wsp* unit-value wsp* unit-name? wsp* unit-value: number unit-name: 'px' | 'pt' | 'mm' | 'em' | 'cm' number: digit+ | digit* sep digit+ sep: '.' | ',' digit: '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' wsp: (#0x20 | #0x9 | #0xA | #0xB | #0xC | #0xD)+ ]| 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 ]| If no unit is specified, pixels are assumed. %TRUE if the string was successfully parsed, and %FALSE otherwise a #ClutterUnits the string to convert The full version of the Clutter library, like 1.2.3 Numerically encoded version of the Clutter library, like 0x010203 The full version of the Clutter library, in string form (suited for string concatenation) A point in 3D space, expressed in pixels X coordinate of the vertex Y coordinate of the vertex Z coordinate of the vertex Allocates a new, empty #ClutterVertex. the newly allocated #ClutterVertex. Use clutter_vertex_free() to free its resources Creates a new #ClutterVertex for the point in 3D space identified by the 3 coordinates @x, @y, @z. This function is the logical equivalent of: |[ clutter_vertex_init (clutter_vertex_alloc (), x, y, z); ]| the newly allocated #ClutterVertex. Use clutter_vertex_free() to free the resources X coordinate Y coordinate Z coordinate Copies @vertex a newly allocated copy of #ClutterVertex. Use clutter_vertex_free() to free the allocated resources a #ClutterVertex Compares @vertex_a and @vertex_b for equality %TRUE if the passed #ClutterVertex are equal a #ClutterVertex a #ClutterVertex Frees a #ClutterVertex allocated using clutter_vertex_alloc() or clutter_vertex_copy(). a #ClutterVertex Initializes @vertex with the given coordinates. the initialized #ClutterVertex a #ClutterVertex X coordinate Y coordinate Z coordinate The #ClutterZoomAction structure contains only private data and should be accessed using the provided API Creates a new #ClutterZoomAction instance the newly created #ClutterZoomAction Retrieves the focal point of the current zoom a #ClutterZoomAction a #ClutterPoint Retrieves the focal point relative to the actor's coordinates of the current zoom a #ClutterZoomAction a #ClutterPoint Retrieves the axis constraint set by clutter_zoom_action_set_zoom_axis() the axis constraint a #ClutterZoomAction Restricts the zooming action to a specific axis a #ClutterZoomAction the axis to constraint the zooming to Constraints the zooming action to the specified axis The ::zoom signal is emitted for each series of touch events that change the distance and focal point between the touch points. The default handler of the signal will call clutter_actor_set_scale() on @actor using the ratio of the first distance between the touch points and the current distance. To override the default behaviour, connect to this signal and return %FALSE. %TRUE if the zoom should continue, and %FALSE if the zoom should be cancelled. the #ClutterActor attached to the action the focal point of the zoom the initial distance between the 2 touch points The #ClutterZoomActionClass structure contains only private data The axis of the constraint that should be applied by the zooming action. Scale only on the X axis Scale only on the Y axis Scale on both axis Allocates a new #ClutterActorBox. the newly allocated #ClutterActorBox. Use clutter_actor_box_free() to free its resources Utility function to clear a Cairo context. a Cairo context Utility function for setting the source color of @cr using a #ClutterColor. This function is the equivalent of: |[ cairo_set_source_rgba (cr, color->red / 255.0, color->green / 255.0, color->blue / 255.0, color->alpha / 255.0); ]| 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 %TRUE if the version of the Clutter library is greater than (@major, @minor, @micro), and %FALSE otherwise major version, like 1 in 1.2.3 minor version, like 2 in 1.2.3 micro version, like 3 in 1.2.3 Checks the run-time name of the Clutter windowing system backend, using the symbolic macros like %CLUTTER_WINDOWING_WIN32 or %CLUTTER_WINDOWING_X11. This function should be used in conjuction with the compile-time macros inside applications and libraries that are using the platform-specific windowing system API, to ensure that they are running on the correct windowing system; for instance: |[ #ifdef CLUTTER_WINDOWING_X11 if (clutter_check_windowing_backend (CLUTTER_WINDOWING_X11)) { // it is safe to use the clutter_x11_* API } else #endif #ifdef CLUTTER_WINDOWING_WIN32 if (clutter_check_windowing_backend (CLUTTER_WINDOWING_WIN32)) { // it is safe to use the clutter_win32_* API } else #endif g_error ("Unknown Clutter backend."); ]| %TRUE if the current Clutter windowing system backend is the one checked, and %FALSE otherwise the name of the backend to check 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. Use clutter_get_font_map() and cogl_pango_font_map_clear_glyph_cache() instead. Converts a color expressed in HLS (hue, luminance and saturation) values into a #ClutterColor. return location for 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. return location for a #ClutterColor a 32 bit packed integer containing a color Parses a string definition of a color, filling the #ClutterColor.red, #ClutterColor.green, #ClutterColor.blue and #ClutterColor.alpha fields of @color. The @color is not allocated. The format of @str can be either one of: - a standard name (as taken from the X11 rgb.txt file) - an hexadecimal value in the form: `#rgb`, `#rrggbb`, `#rgba`, or `#rrggbbaa` - a RGB color in the form: `rgb(r, g, b)` - a RGB color in the form: `rgba(r, g, b, a)` - a HSL color in the form: `hsl(h, s, l)` -a HSL color in the form: `hsla(h, s, l, a)` where 'r', 'g', 'b' and 'a' are (respectively) the red, green, blue color intensities and the opacity. The 'h', 's' and 'l' are (respectively) the hue, saturation and luminance values. In the rgb() and rgba() formats, the 'r', 'g', and 'b' values are either integers between 0 and 255, or percentage values in the range between 0% and 100%; the percentages require the '%' character. The 'a' value, if specified, can only be a floating point value between 0.0 and 1.0. In the hls() and hlsa() formats, the 'h' value (hue) is an angle between 0 and 360.0 degrees; the 'l' and 's' values (luminance and saturation) are percentage values in the range between 0% and 100%. The 'a' value, if specified, can only be a floating point value between 0.0 and 1.0. Whitespace inside the definitions is ignored; no leading whitespace is allowed. If the alpha component is not specified then it is assumed to be set to be fully opaque. %TRUE if parsing succeeded, and %FALSE otherwise return location for a #ClutterColor a string specifiying a color Retrieves a static color for the given @color name Static colors are created by Clutter and are guaranteed to always be available and valid a pointer to a static color; the returned pointer is owned by Clutter and it should never be modified or freed the named global color Looks up the #GParamSpec for a child property of @klass. The #GParamSpec for the property or %NULL if no such property exist. a #GObjectClass implementing the #ClutterContainer interface. a property name. Returns an array of #GParamSpec for all child properties. an array of #GParamSpec<!-- -->s which should be freed after use. a #GObjectClass implementing the #ClutterContainer interface. return location for length of returned array. Disable loading the accessibility support. It has the same effect as setting the environment variable CLUTTER_DISABLE_ACCESSIBILITY. For the same reason, this method should be called before clutter_init(). Processes an event. The @event must be a valid #ClutterEvent and have a #ClutterStage associated to it. This function is only useful when embedding Clutter inside another toolkit, and it should never be called by applications. a #ClutterEvent. Adds a function which will be called for all events that Clutter processes. The function will be called before any signals are emitted for the event and it will take precedence over any grabs. an identifier for the event filter, to be used with clutter_event_remove_filter(). The #ClutterStage to capture events for The callback function which will be passed all events. A #GDestroyNotify A data pointer to pass to the function. 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. Removes an event filter that was previously added with clutter_event_add_filter(). The ID of the event filter, as returned from clutter_event_add_filter() 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(). There is no direct replacement for this API 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 @interval ms to execute. There is no direct replacement for this API. 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 id is deprecated, and this function always returns %NULL. Use the proper scene graph API in #ClutterActor to find a child of the stage. the actor with the passed id or %NULL. The returned actor does not have its reference count increased. a #ClutterActor unique 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 enabled. This function does not do anything. %FALSE Retrieves the default #ClutterBackend used by Clutter. The #ClutterBackend holds backend-specific configuration options. the default backend. You should not ref or unref the returned object. Applications should rarely need to use this. 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(). Use clutter_backend_get_font_options() and the #cairo_font_options_t API. The font flags Retrieves the #PangoFontMap instance used by Clutter. You can use the global font map object with the COGL Pango API. the #PangoFontMap instance. The returned value is owned by Clutter and it should never be unreferenced. 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); ]| Use clutter_device_manager_get_device() instead. 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. Use clutter_stage_get_motion_events_enabled() instead. %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, &argc, &argc, NULL); ]| is functionally equivalent to: |[ clutter_init (&argc, &argv); ]| After g_option_context_parse() on a #GOptionContext containing the Clutter #GOptionGroup has returned %TRUE, Clutter is guaranteed to be initialized. a #GOptionGroup for the commandline arguments recognized by Clutter 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()`. a #GOptionGroup for the commandline arguments recognized by Clutter 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. the script id, or %NULL if @object was not defined inside a UI definition file. The returned string is owned by the object and should never be modified or freed. 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. * This function does not do anything. Use the environment variable or the configuration file to determine whether Clutter should print out the FPS counter on the console. %TRUE if Clutter should show the FPS. Returns the approximate number of microseconds passed since Clutter was intialised. This function shdould not be used by application code. The output of this function depends on whether Clutter was configured to enable its debugging code paths, so it's less useful than intended. Since Clutter 1.10, this function is an alias to g_get_monotonic_time() if Clutter was configured to enable the debugging code paths. Use #GTimer or g_get_monotonic_time() for a proper timing source Number of microseconds since clutter_init() was called, or zero if Clutter was not configured with debugging code paths. 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. 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. This function should rarely be used. If a grab is required, you are strongly encouraged to use a specific input device by calling clutter_input_device_grab(). 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(). Use clutter_input_device_grab() instead. a #ClutterActor a device id, or -1 Initialises 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. It is safe to call this function multiple times. This function will not abort in case of errors during initialization; clutter_init() will print out the error message on stderr, and will return an error code. It is up to the application code to handle this case. If you need to display the error message yourself, you can use clutter_init_with_args(), which takes a #GError pointer. If this function fails, and returns an error code, any subsequent Clutter API will have undefined behaviour - including segmentation faults and assertion failures. Make sure to handle the returned #ClutterInitError enumeration value. a #ClutterInitError value 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. Just like clutter_init(), if this function returns an error code then any subsequent call to any other Clutter API will result in undefined behaviour - including segmentation faults. %CLUTTER_INIT_SUCCESS if Clutter has been successfully initialised, or other values or #ClutterInitError in case of error. 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 @entries with gettext(), or %NULL Converts @keyval from a Clutter key symbol to the corresponding ISO10646 (Unicode) character. a Unicode character, or 0 if there is no corresponding character. a key symbol Starts the Clutter mainloop. Retrieves the depth of the Clutter mainloop. The level of the mainloop. Terminates the Clutter mainloop. Allocates enough memory to hold a #ClutterMatrix. the newly allocated #ClutterMatrix Frees the memory allocated by clutter_matrix_alloc(). a #ClutterMatrix Initializes @matrix with the contents of a C array of floating point values. the initialzed #ClutterMatrix a #ClutterMatrix a C array of 16 floating point values, representing a 4x4 matrix, with column-major order Initializes the #ClutterMatrix @a with the contents of the #ClutterMatrix @b. the initialized #ClutterMatrix the #ClutterMatrix to initialize the #ClutterMatrix to copy Initializes @matrix with the identity matrix, i.e.: |[ .xx = 1.0, .xy = 0.0, .xz = 0.0, .xw = 0.0 .yx = 0.0, .yy = 1.0, .yz = 0.0, .yw = 0.0 .zx = 0.0, .zy = 0.0, .zz = 1.0, .zw = 0.0 .wx = 0.0, .wy = 0.0, .wz = 0.0, .ww = 1.0 ]| the initialized #ClutterMatrix a #ClutterMatrix 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 Use #GParamSpecInt instead. 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 A point centered at (0, 0). The returned value can be used as a guard. a point centered in (0, 0); the returned #ClutterPoint is owned by Clutter and it should not be modified or freed. A #ClutterRect with #ClutterRect.origin set at (0, 0) and a size of 0. The returned value can be used as a guard. a rectangle with origin in (0, 0) and a size of 0. The returned #ClutterRect is owned by Clutter and it should not be modified or freed. 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. Use clutter_stage_ensure_redraw() instead. 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. This function does not do anything any more. 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. Use clutter_backend_set_font_options() and the #cairo_font_option_t API. The new flags Sets whether per-actor motion events should be enabled or not on all #ClutterStage<!-- -->s managed by Clutter. If @enable is %FALSE the following events will not work: - ClutterActor::motion-event, except on the #ClutterStage - ClutterActor::enter-event - ClutterActor::leave-event Use clutter_stage_set_motion_events_enabled() instead. %TRUE to enable per-actor motion events Restricts Clutter to only use the specified backend or list of backends. You can use one of the `CLUTTER_WINDOWING_*` symbols, e.g. |[<!-- language="C" --> clutter_set_windowing_backend (CLUTTER_WINDOWING_X11); ]| Will force Clutter to use the X11 windowing and input backend, and terminate if the X11 backend could not be initialized successfully. Since Clutter 1.26, you can also use a comma-separated list of windowing system backends to provide a fallback in case backends are not available or enabled, e.g.: |[<!-- language="C" --> clutter_set_windowing_backend ("gdk,wayland,x11"); ]| Will make Clutter test for the GDK, Wayland, and X11 backends in that order. You can use the `*` special value to ask Clutter to use the internally defined list of backends. For instance: |[<!-- language="C" --> clutter_set_windowing_backend ("x11,wayland,*"); ]| Will make Clutter test the X11 and Wayland backends, and then fall back to the internal list of available backends. This function must be called before the first API call to Clutter, including clutter_get_option_context() a comma separated list of windowing backends Adds a test unit to the Clutter test environment. See also: g_test_add() unique path for identifying the test function containing the test Adds a test unit to the Clutter test environment. See also: g_test_add_data_func() unique path for identifying the test function containing the test data to pass to the test function Adds a test unit to the Clutter test environment. See also: g_test_add_data_func_full() unique path for identifying the test function containing the test data to pass to the test function function called when the test function ends Checks the given coordinates of the @stage and compares the actor found there with the given @actor. %TRUE if the actor at the given coordinates matches a #ClutterStage coordinates to check the expected actor at the given coordinates actor at the coordinates Checks the color at the given coordinates on @stage, and matches it with the red, green, and blue channels of @color. The alpha component of @color and @result is ignored. %TRUE if the colors match a #ClutterStage coordinates to check expected color color at the given coordinates Retrieves the #ClutterStage used for testing. the stage used for testing Runs the test suite using the units added by calling clutter_test_add(). The typical test suite is composed of a list of functions called by clutter_test_run(), for instance: |[ static void unit_foo (void) { ... } static void unit_bar (void) { ... } static void unit_baz (void) { ... } int main (int argc, char *argv[]) { clutter_test_init (&argc, &argv); clutter_test_add ("/unit/foo", unit_foo); clutter_test_add ("/unit/bar", unit_bar); clutter_test_add ("/unit/baz", unit_baz); return clutter_test_run (); } ]| the exit code for the test suite Simple wrapper around clutter_threads_add_frame_source_full(). There is no direct replacement for this API 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 @func takes half the interval time to execute then the function 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 @func takes more than @interval ms to execute. See also clutter_threads_add_idle_full(). There is no direct replacement for this API 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; // mark the critical section // clutter_threads_enter(); // the callback does not need to acquire the Clutter / lock itself, as it is held by the this proxy handler // 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->callback = callback; closure->data = data; return g_idle_add_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; // it is safe to call Clutter API from this function because / it is invoked from the same thread that started the main / loop and under the Clutter thread lock // clutter_label_set_text (CLUTTER_LABEL (closure->label), closure->text); g_object_unref (closure->label); g_free (closure); return FALSE; } // within another thread // closure = g_new0 (SomeClosure, 1); // always take a reference on GObject instances // closure->label = g_object_ref (my_application->label); closure->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 processing a new frame. 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; the function will be called within the main loop, so it is imperative that it does not block, otherwise the frame time budget may be lost. 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. By default, a repaint function added using this function will be invoked prior to the frame being processed. Adding a repaint function does not automatically ensure that a new frame will be queued. When the repaint function is removed (either because it returned %FALSE or because clutter_threads_remove_repaint_func() has been called) the @notify function will be called, if any is set. See also: clutter_threads_add_repaint_func_full() the ID (greater than 0) of the repaint function. You can use the returned integer to remove the repaint function by calling clutter_threads_remove_repaint_func(). 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 Adds a function to be called whenever Clutter is processing a new frame. 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; the function will be called within the main loop, so it is imperative that it does not block, otherwise the frame time budget may be lost. 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. The @flags passed to this function will determine the section of the frame processing that will result in @func being called. Adding a repaint function does not automatically ensure that a new frame will be queued. When the repaint function is removed (either because it returned %FALSE or because clutter_threads_remove_repaint_func() has been called) the @notify function will be called, if any is set. the ID (greater than 0) of the repaint function. You can use the returned integer to remove the repaint function by calling clutter_threads_remove_repaint_func(). flags for the repaint function 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. 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. This function should not be used by application code; marking critical sections is not portable on various platforms. Instead of acquiring the Clutter lock, schedule UI updates from the main loop using clutter_threads_add_idle() or clutter_threads_add_timeout(). 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. This function does not do anything. Threading support is initialized when Clutter is initialized. Unlocks the Clutter thread lock. This function should not be used by application code; marking critical sections is not portable on various platforms. Instead of acquiring the Clutter lock, schedule UI updates from the main loop using clutter_threads_add_idle() or clutter_threads_add_timeout(). 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_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. There is no direct replacement for this API the newly created #ClutterTimeoutPool. The created pool 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 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_. Use clutter_input_device_ungrab() instead. a device id Convert from a ISO10646 character to a key symbol. the corresponding Clutter key symbol, if one exists. or, if there is no corresponding symbol, wc | 0x01000000 a ISO10646 encoded character Stores a value in centimeters inside @units a #ClutterUnits centimeters Stores a value in em inside @units, using the default font name as returned by clutter_backend_get_font_name() a #ClutterUnits em Stores a value in em inside @units using @font_name a #ClutterUnits the font name and size em Stores a value in millimiters inside @units a #ClutterUnits millimeters Stores a value in pixels inside @units a #ClutterUnits pixels Stores a value in typographic points inside @units a #ClutterUnits typographic points Parses a value and updates @units with it A #ClutterUnits expressed in string should match: |[ units: wsp* unit-value wsp* unit-name? wsp* unit-value: number unit-name: 'px' | 'pt' | 'mm' | 'em' | 'cm' number: digit+ | digit* sep digit+ sep: '.' | ',' digit: '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' wsp: (#0x20 | #0x9 | #0xA | #0xB | #0xC | #0xD)+ ]| 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 ]| If no unit is specified, pixels are assumed. %TRUE if the string was successfully parsed, and %FALSE otherwise a #ClutterUnits the string to convert 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 Retrieves a pointer to the #ClutterPaintNode contained inside the passed #GValue, and if not %NULL it will increase the reference count. a pointer to the #ClutterPaintNode, with its reference count increased, or %NULL a #GValue initialized with %CLUTTER_TYPE_PAINT_NODE 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. Use g_value_get_int() instead. the value inside the passed #GValue a #GValue initialized to %COGL_TYPE_FIXED Retrieves a pointer to the #ClutterPaintNode contained inside the passed #GValue. a pointer to a #ClutterPaintNode, or %NULL a #GValue initialized with %CLUTTER_TYPE_PAINT_NODE Retrieves the list of floating point values stored inside the passed #GValue. @value must have been initialized with %CLUTTER_TYPE_SHADER_FLOAT. the pointer to a list of floating point values. The returned value is owned by the #GValue and should never be modified or freed. 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 pointer to a list of integer values. The returned value is owned by the #GValue and should never be modified or freed. 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. the pointer to a matrix of floating point values. The returned value is owned by the #GValue and should never be modified or freed. a #GValue return location for the number of returned floating point values, or %NULL Gets the #ClutterUnits contained in @value. the units inside the passed #GValue a #GValue initialized to %CLUTTER_TYPE_UNITS Sets @value to @color. a #GValue initialized to #CLUTTER_TYPE_COLOR the color to set Sets @value to @fixed_. Use g_value_set_int() instead. a #GValue initialized to %COGL_TYPE_FIXED the fixed point value to set Sets the contents of a #GValue initialized with %CLUTTER_TYPE_PAINT_NODE. This function increased the reference count of @node; if you do not wish to increase the reference count, use clutter_value_take_paint_node() instead. The reference count will be released by g_value_unset(). a #GValue initialized with %CLUTTER_TYPE_PAINT_NODE a #ClutterPaintNode, or %NULL 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_UNITS the units to set Sets the contents of a #GValue initialized with %CLUTTER_TYPE_PAINT_NODE. Unlike clutter_value_set_paint_node(), this function will not take a reference on the passed @node: instead, it will take ownership of the current reference count. a #GValue, initialized with %CLUTTER_TYPE_PAINT_NODE a #ClutterPaintNode, or %NULL