mirror of
https://github.com/brl/mutter.git
synced 2024-12-26 21:02:14 +00:00
docs: Port deprecated sections to markdown syntax
And drop docbook tags along the way.
This commit is contained in:
parent
12370bd4f8
commit
46051bfb20
@ -94,8 +94,8 @@ clutter_actor_get_shader (ClutterActor *self)
|
||||
* If @shader is %NULL this function will unset any currently set shader
|
||||
* for the actor.
|
||||
*
|
||||
* <note>Any #ClutterEffect applied to @self will take the precedence
|
||||
* over the #ClutterShader set using this function.</note>
|
||||
* Any #ClutterEffect applied to @self will take the precedence
|
||||
* over the #ClutterShader set using this function.
|
||||
*
|
||||
* Return value: %TRUE if the shader was successfully applied
|
||||
* or removed
|
||||
|
@ -32,11 +32,11 @@
|
||||
* #ClutterAlpha is a class for calculating an floating point value
|
||||
* dependent only on the position of a #ClutterTimeline.
|
||||
*
|
||||
* <warning>For newly written code, it is recommended to use the
|
||||
* For newly written code, it is recommended to use the
|
||||
* #ClutterTimeline:progress-mode property of #ClutterTimeline, or the
|
||||
* clutter_timeline_set_progress_func() function instead of #ClutterAlpha.
|
||||
* The #ClutterAlpha class will be deprecated in the future, and will not
|
||||
* be available any more in the next major version of Clutter.</warning>
|
||||
* be available any more in the next major version of Clutter.
|
||||
*
|
||||
* A #ClutterAlpha binds a #ClutterTimeline to a progress function which
|
||||
* translates the time T into an adimensional factor alpha. The factor can
|
||||
@ -62,22 +62,27 @@
|
||||
* #ClutterAlpha is used to "drive" a #ClutterBehaviour instance, and it
|
||||
* is internally used by the #ClutterAnimation API.
|
||||
*
|
||||
* <refsect2 id="ClutterAlpha-script">
|
||||
* <title>ClutterAlpha custom properties for #ClutterScript</title>
|
||||
* <para>#ClutterAlpha defines a custom "function" property for
|
||||
* #ClutterScript which allows to reference a custom alpha function
|
||||
* available in the source code. Setting the "function" property
|
||||
* is equivalent to calling clutter_alpha_set_func() with the
|
||||
* specified function name. No user data or #GDestroyNotify is
|
||||
* available to be passed.</para>
|
||||
* <example id="ClutterAlpha-script-example">
|
||||
* <title>Defining a ClutterAlpha in ClutterScript</title>
|
||||
* <para>The following JSON fragment defines a #ClutterAlpha
|
||||
* using a #ClutterTimeline with id "sine-timeline" and an alpha
|
||||
* function called <function>my_sine_alpha</function>. The defined
|
||||
* #ClutterAlpha instance can be reused in multiple #ClutterBehaviour
|
||||
* definitions or for #ClutterAnimation definitions.</para>
|
||||
* <programlisting><![CDATA[
|
||||
* #ClutterAlpha is available since Clutter 0.2.
|
||||
*
|
||||
* #ClutterAlpha is deprecated since Clutter 1.12; use #ClutterTimeline and the
|
||||
* #ClutterTimeline:progress-mode property.
|
||||
*
|
||||
* ## ClutterAlpha custom properties for #ClutterScript
|
||||
*
|
||||
* #ClutterAlpha defines a custom `function` property for
|
||||
* #ClutterScript which allows to reference a custom alpha function
|
||||
* available in the source code. Setting the `function` property
|
||||
* is equivalent to calling clutter_alpha_set_func() with the
|
||||
* specified function name. No user data or #GDestroyNotify is
|
||||
* available to be passed.
|
||||
*
|
||||
* The following JSON fragment defines a #ClutterAlpha
|
||||
* using a #ClutterTimeline with id "sine-timeline" and an alpha
|
||||
* function called `my_sine_alpha`. The defined #ClutterAlpha
|
||||
* instance can be reused in multiple #ClutterBehaviour
|
||||
* definitions or for #ClutterAnimation definitions.
|
||||
*
|
||||
* |[
|
||||
* {
|
||||
* "id" : "sine-alpha",
|
||||
* "timeline" : {
|
||||
@ -87,19 +92,7 @@
|
||||
* },
|
||||
* "function" : "my_sine_alpha"
|
||||
* }
|
||||
* ]]></programlisting>
|
||||
* </example>
|
||||
* <para>For the way to define the #ClutterAlpha:mode property
|
||||
* inside a ClutterScript fragment, see <link
|
||||
* linkend="clutter-AnimationMode-Script">the corresponding section</link>
|
||||
* in #ClutterAnimation.</para>
|
||||
* </refsect2>
|
||||
*
|
||||
* #ClutterAlpha is available since Clutter 0.2.
|
||||
*
|
||||
* #ClutterAlpha is deprecated since Clutter 1.12; use #ClutterTimeline and the
|
||||
* #ClutterTimeline:progress-mode property.
|
||||
*
|
||||
* ]|
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
@ -29,7 +29,7 @@
|
||||
* #ClutterTimeline
|
||||
*
|
||||
* #ClutterAnimation is an object providing simple, implicit animations
|
||||
* for #GObject<!-- -->s.
|
||||
* for #GObjects.
|
||||
*
|
||||
* #ClutterAnimation instances will bind one or more #GObject properties
|
||||
* belonging to a #GObject to a #ClutterInterval, and will then use a
|
||||
@ -57,91 +57,40 @@
|
||||
* #ClutterAnimatable interface it is possible for that instance to
|
||||
* control the way the initial and final states are interpolated.
|
||||
*
|
||||
* #ClutterAnimation<!-- -->s are distinguished from #ClutterBehaviour<!-- -->s
|
||||
* #ClutterAnimations are distinguished from #ClutterBehaviours
|
||||
* because the former can only control #GObject properties of a single
|
||||
* #GObject instance, while the latter can control multiple properties
|
||||
* using accessor functions inside the #ClutterBehaviour
|
||||
* <function>alpha_notify</function> virtual function, and can control
|
||||
* multiple #ClutterActor<!-- -->s as well.
|
||||
* `alpha_notify` virtual function, and can control multiple #ClutterActors
|
||||
* as well.
|
||||
*
|
||||
* For convenience, it is possible to use the clutter_actor_animate()
|
||||
* function call which will take care of setting up and tearing down
|
||||
* a #ClutterAnimation instance and animate an actor between its current
|
||||
* state and the specified final state.
|
||||
*
|
||||
* <refsect2 id="clutter-AnimationMode-Script">
|
||||
* <title>Defining ClutterAnimationMode inside ClutterScript</title>
|
||||
* <para>When defining a #ClutterAnimation inside a ClutterScript
|
||||
* file or string the #ClutterAnimation:mode can be defined either
|
||||
* using the #ClutterAnimationMode enumeration values through their
|
||||
* "nick" (the short string used inside #GEnumValue), their numeric
|
||||
* id, or using the following strings:</para>
|
||||
* <variablelist>
|
||||
* <varlistentry>
|
||||
* <term>easeInQuad, easeOutQuad, easeInOutQuad</term>
|
||||
* <listitem><para>Corresponding to the quadratic easing
|
||||
* modes</para></listitem>
|
||||
* </varlistentry>
|
||||
* <varlistentry>
|
||||
* <term>easeInCubic, easeOutCubic, easeInOutCubic</term>
|
||||
* <listitem><para>Corresponding to the cubic easing
|
||||
* modes</para></listitem>
|
||||
* </varlistentry>
|
||||
* <varlistentry>
|
||||
* <term>easeInQuart, easeOutQuart, easeInOutQuart</term>
|
||||
* <listitem><para>Corresponding to the quartic easing
|
||||
* modes</para></listitem>
|
||||
* </varlistentry>
|
||||
* <varlistentry>
|
||||
* <term>easeInQuint, easeOutQuint, easeInOutQuint</term>
|
||||
* <listitem><para>Corresponding to the quintic easing
|
||||
* modes</para></listitem>
|
||||
* </varlistentry>
|
||||
* <varlistentry>
|
||||
* <term>easeInSine, easeOutSine, easeInOutSine</term>
|
||||
* <listitem><para>Corresponding to the sine easing
|
||||
* modes</para></listitem>
|
||||
* </varlistentry>
|
||||
* <varlistentry>
|
||||
* <term>easeInExpo, easeOutExpo, easeInOutExpo</term>
|
||||
* <listitem><para>Corresponding to the exponential easing
|
||||
* modes</para></listitem>
|
||||
* </varlistentry>
|
||||
* <varlistentry>
|
||||
* <term>easeInCirc, easeOutCirc, easeInOutCirc</term>
|
||||
* <listitem><para>Corresponding to the circular easing
|
||||
* modes</para></listitem>
|
||||
* </varlistentry>
|
||||
* <varlistentry>
|
||||
* <term>easeInElastic, easeOutElastic, easeInOutElastic</term>
|
||||
* <listitem><para>Corresponding to the overshooting elastic
|
||||
* easing modes</para></listitem>
|
||||
* </varlistentry>
|
||||
* <varlistentry>
|
||||
* <term>easeInBack, easeOutBack, easeInOutBack</term>
|
||||
* <listitem><para>Corresponding to the overshooting cubic
|
||||
* easing modes</para></listitem>
|
||||
* </varlistentry>
|
||||
* <varlistentry>
|
||||
* <term>easeInBounce, easeOutBounce, easeInOutBounce</term>
|
||||
* <listitem><para>Corresponding to the bouncing easing
|
||||
* modes</para></listitem>
|
||||
* </varlistentry>
|
||||
* </variablelist>
|
||||
* </refsect2>
|
||||
*
|
||||
* <example id="example-clutter-animation">
|
||||
* <title>Tweening using clutter_actor_animate()</title>
|
||||
* <programlisting>
|
||||
* <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../../../tests/interactive/test-easing.c">
|
||||
* <xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback>
|
||||
* </xi:include>
|
||||
* </programlisting>
|
||||
* </example>
|
||||
*
|
||||
* #ClutterAnimation is available since Clutter 1.0.
|
||||
*
|
||||
* #ClutterAnimation has been deprecated in Clutter 1.12.
|
||||
*
|
||||
* ## Defining ClutterAnimationMode inside ClutterScript
|
||||
*
|
||||
* When defining a #ClutterAnimation inside a ClutterScript
|
||||
* file or string the #ClutterAnimation:mode can be defined either
|
||||
* using the #ClutterAnimationMode enumeration values through their
|
||||
* "nick" (the short string used inside #GEnumValue), their numeric
|
||||
* id, or using the following strings:
|
||||
*
|
||||
* - easeInQuad, easeOutQuad, easeInOutQuad
|
||||
* - easeInCubic, easeOutCubic, easeInOutCubic
|
||||
* - easeInQuart, easeOutQuart, easeInOutQuart
|
||||
* - easeInQuint, easeOutQuint, easeInOutQuint
|
||||
* - easeInSine, easeOutSine, easeInOutSine
|
||||
* - easeInExpo, easeOutExpo, easeInOutExpo
|
||||
* - easeInCirc, easeOutCirc, easeInOutCirc
|
||||
* - easeInElastic, easeOutElastic, easeInOutElastic
|
||||
* - easeInBack, easeOutBack, easeInOutBack
|
||||
* - easeInBounce, easeOutBounce, easeInOutBounce
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@ -2233,7 +2182,7 @@ clutter_actor_animate_with_timeline (ClutterActor *actor,
|
||||
*
|
||||
* For example, this:
|
||||
*
|
||||
* |[
|
||||
* |[<!-- language="C" -->
|
||||
* clutter_actor_animate (rectangle, CLUTTER_LINEAR, 250,
|
||||
* "width", 100.0,
|
||||
* "height", 100.0,
|
||||
@ -2251,10 +2200,10 @@ clutter_actor_animate_with_timeline (ClutterActor *actor,
|
||||
* 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,
|
||||
* "fixed::rotation-center-z", ¢er,
|
||||
* NULL);
|
||||
* ]|
|
||||
*
|
||||
@ -2272,8 +2221,7 @@ clutter_actor_animate_with_timeline (ClutterActor *actor,
|
||||
* 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)
|
||||
@ -2289,7 +2237,7 @@ clutter_actor_animate_with_timeline (ClutterActor *actor,
|
||||
*
|
||||
* 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",
|
||||
@ -2314,7 +2262,7 @@ clutter_actor_animate_with_timeline (ClutterActor *actor,
|
||||
* 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,
|
||||
@ -2328,7 +2276,7 @@ clutter_actor_animate_with_timeline (ClutterActor *actor,
|
||||
*
|
||||
* is the equivalent of:
|
||||
*
|
||||
* |[
|
||||
* |[<!-- language="C" -->
|
||||
* clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
|
||||
* "x", 100.0,
|
||||
* "y", 100.0,
|
||||
@ -2337,9 +2285,9 @@ clutter_actor_animate_with_timeline (ClutterActor *actor,
|
||||
* NULL);
|
||||
* ]|
|
||||
*
|
||||
* <note>Unless the animation is looping, the #ClutterAnimation created by
|
||||
* Unless the animation is looping, the #ClutterAnimation created by
|
||||
* clutter_actor_animate() will become invalid as soon as it is
|
||||
* complete.</note>
|
||||
* complete.
|
||||
*
|
||||
* Since the created #ClutterAnimation instance attached to @actor
|
||||
* is guaranteed to be valid throughout the #ClutterAnimation::completed
|
||||
@ -2348,7 +2296,7 @@ clutter_actor_animate_with_timeline (ClutterActor *actor,
|
||||
* #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)
|
||||
@ -2424,8 +2372,8 @@ clutter_actor_animate (ClutterActor *actor,
|
||||
* This is the vector-based variant of clutter_actor_animate(), useful
|
||||
* for language bindings.
|
||||
*
|
||||
* <warning>Unlike clutter_actor_animate(), this function will not
|
||||
* allow you to specify "signal::" names and callbacks.</warning>
|
||||
* Unlike clutter_actor_animate(), this function will not
|
||||
* allow you to specify "signal::" names and callbacks.
|
||||
*
|
||||
* Return value: (transfer none): a #ClutterAnimation object. The object is
|
||||
* owned by the #ClutterActor and should not be unreferenced with
|
||||
@ -2483,8 +2431,8 @@ clutter_actor_animatev (ClutterActor *actor,
|
||||
* This is the vector-based variant of clutter_actor_animate_with_timeline(),
|
||||
* useful for language bindings.
|
||||
*
|
||||
* <warning>Unlike clutter_actor_animate_with_timeline(), this function
|
||||
* will not allow you to specify "signal::" names and callbacks.</warning>
|
||||
* Unlike clutter_actor_animate_with_timeline(), this function
|
||||
* will not allow you to specify "signal::" names and callbacks.
|
||||
*
|
||||
* Return value: (transfer none): a #ClutterAnimation object. The object is
|
||||
* owned by the #ClutterActor and should not be unreferenced with
|
||||
@ -2540,8 +2488,8 @@ clutter_actor_animate_with_timelinev (ClutterActor *actor,
|
||||
* This is the vector-based variant of clutter_actor_animate_with_alpha(),
|
||||
* useful for language bindings.
|
||||
*
|
||||
* <warning>Unlike clutter_actor_animate_with_alpha(), this function will
|
||||
* not allow you to specify "signal::" names and callbacks.</warning>
|
||||
* Unlike clutter_actor_animate_with_alpha(), this function will
|
||||
* not allow you to specify "signal::" names and callbacks.
|
||||
*
|
||||
* Return value: (transfer none): a #ClutterAnimation object. The object is owned by the
|
||||
* #ClutterActor and should not be unreferenced with g_object_unref()
|
||||
|
@ -37,58 +37,55 @@
|
||||
* through the #ClutterScript definition format, but it comes with a
|
||||
* convenience C API.
|
||||
*
|
||||
* <refsect2 id="ClutterAnimator-key-frames">
|
||||
* <title>Key Frames</title>
|
||||
* <para>Every animation handled by a #ClutterAnimator can be
|
||||
* described in terms of "key frames". For each #GObject property
|
||||
* there can be multiple key frames, each one defined by the end
|
||||
* value for the property to be computed starting from the current
|
||||
* value to a specific point in time, using a given easing
|
||||
* mode.</para>
|
||||
* <para>The point in time is defined using a value representing
|
||||
* the progress in the normalized interval of [ 0, 1 ]. This maps
|
||||
* the value returned by clutter_timeline_get_duration().</para>
|
||||
* <figure id="easing-modes">
|
||||
* <title>Key Frames</title>
|
||||
* <graphic fileref="animator-key-frames.png" format="PNG"/>
|
||||
* </figure>
|
||||
* <para>In the image above the duration of the animation is
|
||||
* represented by the blue line. Each key frame is the white dot,
|
||||
* along with its progress. The red line represents the computed
|
||||
* function of time given the easing mode.</para>
|
||||
* </refsect2>
|
||||
* #ClutterAnimator is available since Clutter 1.2
|
||||
*
|
||||
* <refsect2 id="ClutterAnimator-script">
|
||||
* <title>ClutterAnimator description for #ClutterScript</title>
|
||||
* <para>#ClutterAnimator defines a custom "properties" property
|
||||
* which allows describing the key frames for objects.</para>
|
||||
* <para>The "properties" property has the following syntax:</para>
|
||||
* <informalexample>
|
||||
* <programlisting><![CDATA[
|
||||
* #ClutterAnimator has been deprecated in Clutter 1.12
|
||||
*
|
||||
* ## Key Frames
|
||||
*
|
||||
* Every animation handled by a #ClutterAnimator can be
|
||||
* described in terms of "key frames". For each #GObject property
|
||||
* there can be multiple key frames, each one defined by the end
|
||||
* value for the property to be computed starting from the current
|
||||
* value to a specific point in time, using a given easing
|
||||
* mode.
|
||||
*
|
||||
* The point in time is defined using a value representing
|
||||
* the progress in the normalized interval of [ 0, 1 ]. This maps
|
||||
* the value returned by clutter_timeline_get_duration().
|
||||
*
|
||||
* ## ClutterAnimator description for ClutterScript
|
||||
*
|
||||
* #ClutterAnimator defines a custom "properties" key
|
||||
* which allows describing the key frames for objects as
|
||||
* an array of key frames.
|
||||
*
|
||||
* The `properties` array has the following syntax:
|
||||
*
|
||||
* |[
|
||||
* {
|
||||
* "properties" : [
|
||||
* {
|
||||
* "object" : <id of an object>,
|
||||
* "name" : <name of the property>,
|
||||
* "ease-in" : <boolean>,
|
||||
* "interpolation" : <#ClutterInterpolation value>,
|
||||
* "object" : object_id
|
||||
* "name" : property_name
|
||||
* "ease-in" : true_or_false
|
||||
* "interpolation" : interpolation_value
|
||||
* "keys" : [
|
||||
* [ <progress>, <easing mode>, <final value> ]
|
||||
* [ progress, easing_mode, final_value ]
|
||||
* ]
|
||||
* ]
|
||||
* }
|
||||
* ]]></programlisting>
|
||||
* </informalexample>
|
||||
* <example id="ClutterAnimator-script-example">
|
||||
* <title>ClutterAnimator definition</title>
|
||||
* <para>The following JSON fragment defines a #ClutterAnimator
|
||||
* with the duration of 1 second and operating on the x and y
|
||||
* properties of a #ClutterActor named "rect-01", with two frames
|
||||
* for each property. The first frame will linearly move the actor
|
||||
* from its current position to the 100, 100 position in 20 percent
|
||||
* of the duration of the animation; the second will using a cubic
|
||||
* easing to move the actor to the 200, 200 coordinates.</para>
|
||||
* <programlisting><![CDATA[
|
||||
* ]|
|
||||
*
|
||||
* The following JSON fragment defines a #ClutterAnimator
|
||||
* with the duration of 1 second and operating on the x and y
|
||||
* properties of a #ClutterActor named "rect-01", with two frames
|
||||
* for each property. The first frame will linearly move the actor
|
||||
* from its current position to the 100, 100 position in 20 percent
|
||||
* of the duration of the animation; the second will using a cubic
|
||||
* easing to move the actor to the 200, 200 coordinates.
|
||||
*
|
||||
* |[
|
||||
* {
|
||||
* "type" : "ClutterAnimator",
|
||||
* "duration" : 1000,
|
||||
@ -113,13 +110,7 @@
|
||||
* }
|
||||
* ]
|
||||
* }
|
||||
* ]]></programlisting>
|
||||
* </example>
|
||||
* </refsect2>
|
||||
*
|
||||
* #ClutterAnimator is available since Clutter 1.2
|
||||
*
|
||||
* #ClutterAnimator has been deprecated in Clutter 1.12
|
||||
* ]|
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
@ -33,9 +33,9 @@
|
||||
* #ClutterBehaviourEllipse interpolates actors along a path defined by
|
||||
* an ellipse.
|
||||
*
|
||||
* <note><para>When applying an ellipse behaviour to an actor, the
|
||||
* When applying an ellipse behaviour to an actor, the
|
||||
* behaviour will update the actor's position and depth and set them
|
||||
* to what is dictated by the ellipses initial position.</para></note>
|
||||
* to what is dictated by the ellipses initial position.
|
||||
*
|
||||
* Deprecated: 1.6: Use clutter_actor_animate(), #ClutterPath and a
|
||||
* #ClutterPathConstraint instead.
|
||||
|
@ -53,9 +53,9 @@
|
||||
* }
|
||||
* ]|
|
||||
*
|
||||
* <note>If the alpha function is a periodic function, i.e. it returns to
|
||||
* If the alpha function is a periodic function, i.e. it returns to
|
||||
* 0.0 after reaching 1.0, then the actors will walk the path back to the
|
||||
* starting #ClutterKnot.</note>
|
||||
* starting #ClutterKnot.
|
||||
*
|
||||
* #ClutterBehaviourPath is available since Clutter 0.2
|
||||
*
|
||||
|
@ -30,44 +30,42 @@
|
||||
* interface. A Box delegates the whole size requisition and size allocation to
|
||||
* a #ClutterLayoutManager instance.
|
||||
*
|
||||
* <example id="example-clutter-box">
|
||||
* <title>Using ClutterBox</title>
|
||||
* <para>The following code shows how to create a #ClutterBox with
|
||||
* a #ClutterLayoutManager sub-class, and how to add children to
|
||||
* it via clutter_box_pack().</para>
|
||||
* <programlisting>
|
||||
* #ClutterBox is available since Clutter 1.2
|
||||
*
|
||||
* Deprecated: 1.10: Use #ClutterActor instead.
|
||||
*
|
||||
* ## Using ClutterBox
|
||||
*
|
||||
* The following code shows how to create a #ClutterBox with
|
||||
* a #ClutterLayoutManager sub-class, and how to add children to
|
||||
* it via clutter_box_pack().
|
||||
*
|
||||
* |[<!-- language="C" -->
|
||||
* ClutterActor *box;
|
||||
* ClutterLayoutManager *layout;
|
||||
*
|
||||
* /* Create the layout manager first */
|
||||
* // Create the layout manager first
|
||||
* layout = clutter_box_layout_new ();
|
||||
* clutter_box_layout_set_homogeneous (CLUTTER_BOX_LAYOUT (layout), TRUE);
|
||||
* clutter_box_layout_set_spacing (CLUTTER_BOX_LAYOUT (layout), 12);
|
||||
*
|
||||
* /* Then create the ClutterBox actor. The Box will take
|
||||
* * ownership of the ClutterLayoutManager instance by sinking
|
||||
* * its floating reference
|
||||
* */
|
||||
* // Then create the ClutterBox actor. The Box will take
|
||||
* // ownership of the ClutterLayoutManager instance by sinking
|
||||
* // its floating reference
|
||||
* box = clutter_box_new (layout);
|
||||
*
|
||||
* /* Now add children to the Box using the variadic arguments
|
||||
* * function clutter_box_pack() to set layout properties
|
||||
* */
|
||||
* // Now add children to the Box using the variadic arguments
|
||||
* // function clutter_box_pack() to set layout properties
|
||||
* clutter_box_pack (CLUTTER_BOX (box), actor,
|
||||
* "x-align", CLUTTER_BOX_ALIGNMENT_CENTER,
|
||||
* "y-align", CLUTTER_BOX_ALIGNMENT_END,
|
||||
* "expand", TRUE,
|
||||
* NULL);
|
||||
* </programlisting>
|
||||
* </example>
|
||||
* ]|
|
||||
*
|
||||
* #ClutterBox<!-- -->'s clutter_box_pack() wraps the generic
|
||||
* #ClutterBox's clutter_box_pack() wraps the generic
|
||||
* clutter_container_add_actor() function, but it also allows setting
|
||||
* layout properties while adding the new child to the box.
|
||||
*
|
||||
* #ClutterBox is available since Clutter 1.2
|
||||
*
|
||||
* Deprecated: 1.10: Use #ClutterActor instead.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
@ -34,11 +34,11 @@
|
||||
* Cairo image surface which will then be uploaded to a GL texture when
|
||||
* needed.
|
||||
*
|
||||
* <note><para>Since #ClutterCairoTexture uses a Cairo image surface
|
||||
* Since #ClutterCairoTexture uses a Cairo image surface
|
||||
* internally all the drawing operations will be performed in
|
||||
* software and not using hardware acceleration. This can lead to
|
||||
* performance degradation if the contents of the texture change
|
||||
* frequently.</para></note>
|
||||
* frequently.
|
||||
*
|
||||
* In order to use a #ClutterCairoTexture you should connect to the
|
||||
* #ClutterCairoTexture::draw signal; the signal is emitted each time
|
||||
@ -51,18 +51,10 @@
|
||||
* is owned by the #ClutterCairoTexture and should not be destroyed
|
||||
* explicitly.
|
||||
*
|
||||
* <example id="cairo-texture-example">
|
||||
* <title>A simple ClutterCairoTexture canvas</title>
|
||||
* <programlisting>
|
||||
* <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../../../tests/interactive/test-cairo-clock.c">
|
||||
* <xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback>
|
||||
* </xi:include>
|
||||
* </programlisting>
|
||||
* </example>
|
||||
*
|
||||
* #ClutterCairoTexture is available since Clutter 1.0.
|
||||
*
|
||||
* #ClutterCairoTexture is deprecated since Clutter 1.12.
|
||||
* #ClutterCairoTexture is deprecated since Clutter 1.12. You should
|
||||
* use #ClutterCanvas instead.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@ -845,9 +837,9 @@ clutter_cairo_texture_create_region_internal (ClutterCairoTexture *self,
|
||||
* Creates a new Cairo context that will updat the region defined
|
||||
* by @x_offset, @y_offset, @width and @height.
|
||||
*
|
||||
* <warning><para>Do not call this function within the paint virtual
|
||||
* Do not call this function within the paint virtual
|
||||
* function or from a callback to the #ClutterActor::paint
|
||||
* signal.</para></warning>
|
||||
* signal.
|
||||
*
|
||||
* Return value: a newly created Cairo context. Use cairo_destroy()
|
||||
* to upload the contents of the context when done drawing
|
||||
@ -967,9 +959,9 @@ clutter_cairo_texture_invalidate (ClutterCairoTexture *self)
|
||||
* and @y_offset of 0, @width equal to the @cairo texture surface width
|
||||
* and @height equal to the @cairo texture surface height.
|
||||
*
|
||||
* <warning><para>Do not call this function within the paint virtual
|
||||
* Do not call this function within the paint virtual
|
||||
* function or from a callback to the #ClutterActor::paint
|
||||
* signal.</para></warning>
|
||||
* signal.
|
||||
*
|
||||
* Return value: a newly created Cairo context. Use cairo_destroy()
|
||||
* to upload the contents of the context when done drawing
|
||||
|
@ -31,15 +31,20 @@
|
||||
* is NULL it is used for transition to the target state unless a specific key
|
||||
* exists for transitioning from the current state to the requested state.
|
||||
*
|
||||
* <example id="ClutterState-example">
|
||||
* <title>A ClutterState example</title>
|
||||
* <para>The following example defines a "base" and a "hover" state in a
|
||||
* #ClutterState instance.</para>
|
||||
* <programlisting>
|
||||
* #ClutterState is available since Clutter 1.4.
|
||||
*
|
||||
* #ClutterState has been deprecated in Clutter 1.12.
|
||||
*
|
||||
* ## Using ClutterState
|
||||
*
|
||||
* The following example defines a "base" and a "hover" state in a
|
||||
* #ClutterState instance.
|
||||
*
|
||||
* |[<!-- language="C" -->
|
||||
* ClutterState *state = clutter_state_new ();
|
||||
* ClutterColor color = { 0, };
|
||||
*
|
||||
* /* transition from any state to the "base" state */
|
||||
* // transition from any state to the "base" state
|
||||
* clutter_color_from_string (&color, "rgb(255, 0, 0)");
|
||||
* clutter_state_set (state, NULL, "base",
|
||||
* actor, "color", CLUTTER_LINEAR, &color,
|
||||
@ -47,7 +52,7 @@
|
||||
* actor, "scale-y", CLUTTER_EASE_IN_BOUNCE, 1.0,
|
||||
* NULL);
|
||||
*
|
||||
* /* transition from the "base" state to the "hover" state */
|
||||
* // transition from the "base" state to the "hover" state
|
||||
* clutter_color_from_string (&color, "rgb(0, 0, 255)");
|
||||
* clutter_state_set (state, "base", "hover",
|
||||
* actor, "color", CLUTTER_LINEAR, &color,
|
||||
@ -55,16 +60,18 @@
|
||||
* actor, "scale-y", CLUTTER_EASE_OUT_BOUNCE, 1.7,
|
||||
* NULL);
|
||||
*
|
||||
* /* the default duration of any transition */
|
||||
* // the default duration of any transition
|
||||
* clutter_state_set_duration (state, NULL, NULL, 500);
|
||||
*
|
||||
* /* set "base" as the initial state */
|
||||
* // set "base" as the initial state
|
||||
* clutter_state_warp_to_state (state, "base");
|
||||
* </programlisting>
|
||||
* <para>The actor then uses the #ClutterState to animate through the
|
||||
* two states using callbacks for the #ClutterActor::enter-event and
|
||||
* #ClutterActor::leave-event signals.</para>
|
||||
* <programlisting>
|
||||
* ]|
|
||||
*
|
||||
* The actor then uses the #ClutterState to animate through the
|
||||
* two states using callbacks for the #ClutterActor::enter-event and
|
||||
* #ClutterActor::leave-event signals.
|
||||
*
|
||||
* |[<!-- language="C" -->
|
||||
* static gboolean
|
||||
* on_enter (ClutterActor *actor,
|
||||
* ClutterEvent *event,
|
||||
@ -72,7 +79,7 @@
|
||||
* {
|
||||
* clutter_state_set_state (state, "hover");
|
||||
*
|
||||
* return TRUE;
|
||||
* return CLUTTER_EVENT_STOP;
|
||||
* }
|
||||
*
|
||||
* static gboolean
|
||||
@ -82,67 +89,64 @@
|
||||
* {
|
||||
* clutter_state_set_state (state, "base");
|
||||
*
|
||||
* return TRUE;
|
||||
* return CLUTTER_EVENT_STOP;
|
||||
* }
|
||||
* </programlisting>
|
||||
* </example>
|
||||
*
|
||||
* <refsect2 id="ClutterState-script">
|
||||
* <title>ClutterState description for #ClutterScript</title>
|
||||
* <para>#ClutterState defines a custom <emphasis>transitions</emphasis>
|
||||
* property which allows describing the states.</para>
|
||||
* <para>The <emphasis>transitions</emphasis> property has the following
|
||||
* syntax:</para>
|
||||
* <informalexample>
|
||||
* <programlisting>
|
||||
* ## ClutterState description for ClutterScript
|
||||
*
|
||||
* #ClutterState defines a custom `transitions` JSON object member which
|
||||
* allows describing the states.
|
||||
*
|
||||
* The `transitions` property has the following syntax:
|
||||
*
|
||||
* |[
|
||||
* {
|
||||
* "transitions" : [
|
||||
* {
|
||||
* "source" : "<source-state>",
|
||||
* "target" : "<target-state>",
|
||||
* "duration" : <milliseconds>,
|
||||
* "source" : "source-state",
|
||||
* "target" : "target-state",
|
||||
* "duration" : milliseconds,
|
||||
* "keys" : [
|
||||
* [
|
||||
* "<object-id>",
|
||||
* "<property-name>",
|
||||
* "<easing-mode>",
|
||||
* "<final-value>",
|
||||
* "object-id",
|
||||
* "property-name",
|
||||
* "easing-mode",
|
||||
* "final-value",
|
||||
* ],
|
||||
* [
|
||||
* "<object-id>",
|
||||
* "<property-name>",
|
||||
* "<easing-mode>",
|
||||
* "<final-value>",
|
||||
* <pre-delay>,
|
||||
* <post-delay>
|
||||
* "object-id",
|
||||
* "property-name",
|
||||
* "easing-mode",
|
||||
* "final-value",
|
||||
* pre-delay,
|
||||
* post-delay;
|
||||
* ],
|
||||
* ...
|
||||
* ]
|
||||
* },
|
||||
* {
|
||||
* "source" : "<source-state>",
|
||||
* "target" : "<target-state>",
|
||||
* "duration" : <milliseconds>,
|
||||
* "animator" : "<animator-definition>"
|
||||
* "source" : "source-state",
|
||||
* "target" : "target-state",
|
||||
* "duration" : milliseconds,
|
||||
* "animator" : "animator-definition"
|
||||
* },
|
||||
* ...
|
||||
* ]
|
||||
* }
|
||||
* </programlisting>
|
||||
* </informalexample>
|
||||
* <para>Each element of the <emphasis>transitions</emphasis> array follows
|
||||
* the same rules as clutter_state_set_key().</para>
|
||||
* <para>The <emphasis>source</emphasis> and <emphasis>target</emphasis>
|
||||
* values control the source and target state of the transition. The
|
||||
* <emphasis>key</emphasis> and <emphasis>animator</emphasis> are mutually
|
||||
* exclusive. The <emphasis>pre-delay</emphasis> and
|
||||
* <emphasis>post-delay</emphasis> values are optional.</para>
|
||||
* <example id="ClutterState-script-example">
|
||||
* <title>ClutterState definition</title>
|
||||
* <para>The example below is a translation into a #ClutterScript
|
||||
* definition of the code in the <ulink linkend="ClutterState-example">example
|
||||
* above</ulink>.</para>
|
||||
* <programlisting>
|
||||
* ]|
|
||||
*
|
||||
* Each element of the transitions array follows the same rules and order
|
||||
* as clutter_state_set_key() function arguments.
|
||||
*
|
||||
* The source and target values control the source and target state of the
|
||||
* transition. The key and animator properties are mutually exclusive.
|
||||
*
|
||||
* The pre-delay and post-delay values are optional.
|
||||
*
|
||||
* The example below is a translation into a #ClutterScript definition of
|
||||
* the code in the #ClutterState example above.
|
||||
*
|
||||
* |[
|
||||
* {
|
||||
* "id" : "button-state",
|
||||
* "type" : "ClutterState",
|
||||
@ -168,13 +172,7 @@
|
||||
* }
|
||||
* ]
|
||||
* }
|
||||
* </programlisting>
|
||||
* </example>
|
||||
* </refsect2>
|
||||
*
|
||||
* #ClutterState is available since Clutter 1.4.
|
||||
*
|
||||
* #ClutterState has been deprecated in Clutter 1.12.
|
||||
* ]|
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@ -933,7 +931,7 @@ get_property_from_object (GObject *gobject,
|
||||
*
|
||||
* will create a transition from any state (a @source_state_name or NULL is
|
||||
* treated as a wildcard) and a state named "hover"; the
|
||||
* <emphasis>button</emphasis> object will have the #ClutterActor:opacity
|
||||
* 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
|
||||
|
@ -36,22 +36,20 @@
|
||||
* The #ClutterTableLayout is a #ClutterLayoutManager implementing the
|
||||
* following layout policy:
|
||||
*
|
||||
* <itemizedlist>
|
||||
* <listitem><para>children are arranged in a table</para></listitem>
|
||||
* <listitem><para>each child specifies the specific row and column
|
||||
* cell to appear;</para></listitem>
|
||||
* <listitem><para>a child can also set a span, and this way, take
|
||||
* more than one cell both horizontally and vertically;</para></listitem>
|
||||
* <listitem><para>each child will be allocated to its natural
|
||||
* size or, if set to expand, the available size;</para></listitem>
|
||||
* <listitem><para>if a child is set to fill on either (or both)
|
||||
* - children are arranged in a table
|
||||
* - each child specifies the specific row and column
|
||||
* cell to appear;
|
||||
* - a child can also set a span, and this way, take
|
||||
* more than one cell both horizontally and vertically;
|
||||
* - each child will be allocated to its natural
|
||||
* size or, if set to expand, the available size;
|
||||
* - if a child is set to fill on either (or both)
|
||||
* axis, its allocation will match all the available size; the
|
||||
* fill layout property only makes sense if the expand property is
|
||||
* also set;</para></listitem>
|
||||
* <listitem><para>if a child is set to expand but not to fill then
|
||||
* also set;
|
||||
* - if a child is set to expand but not to fill then
|
||||
* it is possible to control the alignment using the horizontal and
|
||||
* vertical alignment layout properties.</para></listitem>
|
||||
* </itemizedlist>
|
||||
* vertical alignment layout properties.
|
||||
*
|
||||
* It is possible to control the spacing between children of a
|
||||
* #ClutterTableLayout by using clutter_table_layout_set_row_spacing()
|
||||
@ -67,12 +65,6 @@
|
||||
* #ClutterTableLayout:easing-mode and #ClutterTableLayout:easing-duration
|
||||
* properties and their accessor functions.
|
||||
*
|
||||
* <figure id="table-layout-image">
|
||||
* <title>Table layout</title>
|
||||
* <para>The image shows a #ClutterTableLayout.</para>
|
||||
* <graphic fileref="table-layout.png" format="PNG"/>
|
||||
* </figure>
|
||||
*
|
||||
* #ClutterTableLayout is available since Clutter 1.4
|
||||
*
|
||||
* Since Clutter 1.18 it's recommended to use #ClutterGridLayout instead
|
||||
|
@ -2514,13 +2514,8 @@ fbo_source_queue_relayout_cb (ClutterActor *source,
|
||||
*
|
||||
* Some tips on usage:
|
||||
*
|
||||
* <itemizedlist>
|
||||
* <listitem>
|
||||
* <para>The source actor must be made visible (i.e by calling
|
||||
* #clutter_actor_show).</para>
|
||||
* </listitem>
|
||||
* <listitem>
|
||||
* <para>The source actor must have a parent in order for it to be
|
||||
* - 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
|
||||
@ -2529,10 +2524,8 @@ fbo_source_queue_relayout_cb (ClutterActor *source,
|
||||
* intend to display the source actor then you must make sure that
|
||||
* the actor is parented before calling
|
||||
* clutter_texture_new_from_actor() or that you unparent it before
|
||||
* adding it to a container.</para>
|
||||
* </listitem>
|
||||
* <listitem>
|
||||
* <para>When getting the image for the clone texture, Clutter
|
||||
* 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
|
||||
@ -2544,33 +2537,21 @@ fbo_source_queue_relayout_cb (ClutterActor *source,
|
||||
* actor will be projected as if a small section of the screen was
|
||||
* being viewed. Before version 0.8.2, an orthogonal identity
|
||||
* projection was used which meant that the source actor would be
|
||||
* clipped if any part of it was not on the zero Z-plane.</para>
|
||||
* </listitem>
|
||||
* <listitem>
|
||||
* <para>Avoid reparenting the source with the created texture.</para>
|
||||
* </listitem>
|
||||
* <listitem>
|
||||
* <para>A group can be padded with a transparent rectangle as to
|
||||
* 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).</para>
|
||||
* </listitem>
|
||||
* <listitem>
|
||||
* <para>The texture will automatically resize to contain a further
|
||||
* 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.</para>
|
||||
* </listitem>
|
||||
* <listitem>
|
||||
* <para>Uploading pixel data to the texture (e.g by using
|
||||
* 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.</para>
|
||||
* </listitem>
|
||||
* <listitem>
|
||||
* <para>cogl_texture_get_data() with the handle returned by
|
||||
* 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.</para>
|
||||
* </listitem>
|
||||
* </itemizedlist>
|
||||
*
|
||||
* Return value: A newly created #ClutterTexture object, or %NULL on failure.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user