Commit Graph

8220 Commits

Author SHA1 Message Date
Bastian Winkler
03ec016faa bin-layout: Implement layout animations
Allow to animate the child allocation using the ClutterLayoutManager
animation API

https://bugzilla.gnome.org/show_bug.cgi?id=676827
2012-05-28 19:37:10 +02:00
Bastian Winkler
7f6b17bc50 layout-manager: Add a new animation API
It's similar to to the implicit animation API of ClutterActor and
compatible to deprecated API of ClutterBoxLayout and
ClutterTableLayout.

It adds :use-animations, :easing-mode, :easing-duration and
:easing-delay properties to control animations when allocation of a
child has changed. Layout manager implementers should call

use_animations = clutter_layout_manager_get_easing_state (manager,
                                                          &mode,
                                                          &duration,
                                                          &delay);

from the allocate() virtual function to access these values.

https://bugzilla.gnome.org/show_bug.cgi?id=676827
2012-05-28 19:37:10 +02:00
Bastian Winkler
734720ef0f layout-manager: Add a private struct to hold future properties
In order to allow the abstract ClutterLayoutManager class to have own
GObject properties we'll need a private structure.

https://bugzilla.gnome.org/show_bug.cgi?id=676827
2012-05-28 19:37:10 +02:00
Emmanuele Bassi
f9c29d5067 build: Move test-unit-names.h out of the dist
Let it be generated at build time, as it should.

https://bugzilla.gnome.org/show_bug.cgi?id=674365
2012-05-28 15:36:48 +01:00
Emmanuele Bassi
8e9992de7c paint-volume: Use the correct coordinate for axis alignment
The z coordinate of the origin should be checked against the same
coordinate of the vertex behind it. Given that most actors are flat
surfaces, this check should always succeed.

https://bugzilla.gnome.org/show_bug.cgi?id=675396
2012-05-28 15:22:54 +01:00
Bastian Winkler
58b13aa412 text: Enable implicit color animations
Implement the ClutterAnimatable interface to enable implicit animations
for :color, :cursor-color, :selected-text-color and :selection-color.

https://bugzilla.gnome.org/show_bug.cgi?id=676963
2012-05-28 15:22:47 +01:00
Emmanuele Bassi
129752e560 event: Add convenience functions for Shift and Ctrl modifiers
Instead of going through clutter_event_get_state() and checking if the
modifier mask is set, we can provide simple convenience functions to do
it for us.
2012-05-25 11:33:57 +01:00
Chun-wei Fan
0230f97f60 Visual C++ support: Copy clutter-gdk.h as well
... when the GDK backend is also built
2012-05-24 23:34:36 +08:00
Chun-wei Fan
26285416b2 Visual C++ 2010: Fix x64 Release_GDK configs 2012-05-24 22:27:57 +08:00
Emmanuele Bassi
2878258fc0 examples: Update drag and drop action code
Use modern API and show idiomatic behaviour.
2012-05-24 13:58:31 +01:00
Alexandre Franke
a45d6455f7 Update French translation 2012-05-24 11:50:34 +02:00
Mike Ruprecht
ee708d1cf8 flow-layout: Check for all positive values
When creating a FlowLayout container, setting a specific size on it, and
adding a child to it, as per the attached testcase, it crashes. The line
on the backtrace doesn't really make sense, but from looking over it, it
appears that it's probably because priv->line_natural is NULL. The
attached patch makes it so in this case, priv->line_natural is
allocated.

https://bugzilla.gnome.org/show_bug.cgi?id=676068

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2012-05-22 14:25:19 +01:00
Emmanuele Bassi
403e1c7e70 modules: Use 0.10 branch for GStreamer packages 2012-05-22 13:58:40 +01:00
Chun-wei Fan
be5eb2f163 vs9/clutter.sln: Fix missing build item 2012-05-22 01:50:12 +08:00
Chun-wei Fan
ef1860d71d Bug 676150 GDK: Fix build on Windows
-Don't include unistd.h and stdint.h unconditionally as not all Windows
 compilers have them around.
-Only include cogl/cogl-xlib.h when it is really supported by Cogl and GDK.
-sys/ioctl.h is not available on Windows (MinGW/MSVC).
-Correct the call to cogl_renderer_set_winsys_id:
 (backend_cogl->cogl_renderer, COGL_WINSYS_ID_WGL) ->
 (renderer, COGL_WINSYS_ID_WGL)
2012-05-21 23:01:23 +08:00
Bastian Winkler
aeea9ee778 actor: Add a custom scriptable "margin" property
The property uses an array with the following CSS style syntax

 [ top, right, bottom, left ] or
 [ top, left/right, bottom ] or
 [ top/bottom, left/right ] or
 [ top/right/bottom/left ]

https://bugzilla.gnome.org/show_bug.cgi?id=676367
2012-05-21 15:31:34 +02:00
Dominique Bureau
a2d40fcf8c ClutterText: Cannot pass NULL string to clutter_text_set_text()
Passing a NULL buffer to clutter_text_set_text() does not behave the same
way as passing an empty string "" (as specified in the documentation).
This was working as expected previously, but somehow the behaviour changed
at some point and created 2 new issues:
- Passing a NULL pointer will not reset the string
- If the ClutterText is editable, it will segfault in strcmp

Validations have been added to prevent this.

https://bugzilla.gnome.org/show_bug.cgi?id=675890
2012-05-21 11:30:22 +01:00
Tristan Van Berkom
dd61be7c2e ClutterDropAction: Avoid accessing priv->stage is not yet resolved.
This fixes drop_action_unregister() to not call g_object_get_data()
on priv->stage if not yet resolved. This can happen if the action's
actor was destroyed before ever being mapped.
2012-05-21 08:43:17 +01:00
Emmanuele Bassi
2c5af0c868 scroll-actor: Check for point equality in the internal setter
The public API should just accept any valid value; it's up to the
internal setter to check if we're getting the same value as the one
currently set.
2012-05-18 18:00:30 +01:00
Bastien Nocera
26c1d89d19 scroll-actor: Fix ->transition not being reset
When the transition was removed from the scroll-actor manually,
to cancel a not-finished animation, the transition struct member
wasn't reset to NULL.

This fixes this problem, and removes the need for the struct member
to be reset manually when animation has completed.

https://bugzilla.gnome.org/show_bug.cgi?id=676334
2012-05-18 17:36:44 +01:00
Emmanuele Bassi
c9028cee48 Move scroll actor test to the examples
Nothing specific to test, and the code is idiomatic enough to be used as
an example.
2012-05-17 10:57:15 +01:00
Bastian Winkler
06d1398592 table-layout: Remove unused animation helpers
They aren't used since ClutterTableLayout switched to the implicit
animations API.

https://bugzilla.gnome.org/show_bug.cgi?id=676158
2012-05-16 14:55:10 +02:00
Chun-wei Fan
ac05ad47bf VS property sheets: Correct "install" process
Fix the location where clutter-win32.h is "installed".
2012-05-16 18:58:53 +08:00
Chun-wei Fan
1153e04766 Visual C++ support: Fix clutter.def generation
I forgot about the Visual C++ 2010 files... :|
2012-05-16 18:36:51 +08:00
Chun-wei Fan
d5851c8bf9 Visual C++ support: Fix clutter.def generation
Some Windows-specific functions were not exported due to this problem.
2012-05-16 18:35:27 +08:00
Chun-wei Fan
37e9215521 Visual C++ support: Avoid redefinition warnings
CLUTTER_WINDOWING_GDK is defined in the (pre-configured) clutter-config.h,
so don't define that in the Projects again.
2012-05-16 17:21:10 +08:00
Bastian Winkler
1f7ff75a5c text: Add missing introspection annotations
Add allow-none annotations where appropriate
2012-05-15 17:41:24 +02:00
Bastian Winkler
0ef4cc3aed keyframe-transition: Create a new interval if necessary
When setting up the transition manually by calling

  clutter_keyframe_transition_set_key_frame (transition, n, keys);
  clutter_keyframe_transition_set_values (transition, n, values);
  clutter_keyframe_transition_set_modes (transition, n, modes);

the frame doesn't have a valid interval when calling set_keys(), so we
need to check its existence and create it if necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=676031
2012-05-15 17:41:24 +02:00
Bastian Winkler
8a4489c48e keyframe-transition: Documentation fixes
Update the documentation to use the right symbols

https://bugzilla.gnome.org/show_bug.cgi?id=676032
2012-05-15 17:41:24 +02:00
Emmanuele Bassi
c54c3047f8 scroll-actor: Paint children in pick mode
Chaining up to the parent's implementation of pick() is not enough: we
need to paint our children explicitly because of the compatibility mode
checks we use to avoid breaking custom containers.

https://bugzilla.gnome.org/show_bug.cgi?id=676088
2012-05-15 15:14:04 +01:00
Emmanuele Bassi
39a4929d75 scroll-actor: Implement pick()
We need to clip the children during picking as well as we do when
painting, to avoid reactive children outside of the visible area
receiving events.

This also allows us to refactor some common code into proper functions.
2012-05-14 10:36:30 +01:00
Chun-wei Fan
ee72d9b4af Visual C++ support: Add support to build GDK backend
-Add configuration in Clutter projects to add option to build Clutter with
 the GDK3 backend in addition to the Win32 backend
-Add another preconfigured clutter-config.h.win32_GDK which contains
 backend configs for both GDK3 and Win32 windowing and input.
2012-05-14 16:18:13 +08:00
Emmanuele Bassi
193bf6123d examples/canvas: Resize the canvas on allocation changes
This should show how to make a Canvas resize whenever the actor that
uses it as content changes size. For good measure, it also shows how to
coalesce multiple allocations into one Canvas resize through a timeout
source.
2012-05-11 17:38:53 +01:00
Emmanuele Bassi
ae32136fcc build: Drop version check on auto*
Just use autoreconf, to avoid having to deal with changes in the version
of autotools.

If somebody has more recent autotools but the symbolic links used by
autoreconf are still pointing to an old version then they can also fix
their own installation, or get a better distribution.
2012-05-11 17:37:20 +01:00
Emmanuele Bassi
c70a7b9470 modules: Point to the correct branch of Cogl
Clutter requires the cogl-1.10 branch of Cogl.
2012-05-11 13:48:41 +01:00
Emmanuele Bassi
cb4f816840 actor: Include margin in explicit sizes for all cases
When asking for the preferred width and height of an actor, in case
only one of either the minimum or the natural width is set, the margin
offsets should also be applied.
2012-05-09 15:03:51 +01:00
Emmanuele Bassi
5ad1ec7cca Put bind-constraint back into the interactive tests
The bind-constraint.c example still uses clutter_actor_animate(), and
it'd require some serious reworking to move it to
ClutterPropertyTransition or to implicit animations.
2012-05-08 16:15:33 +01:00
Emmanuele Bassi
4fef7eb689 score: Add deprecation annotations to all docs
A single deprecation to the long-desc is not enough.
2012-05-08 16:13:26 +01:00
Emmanuele Bassi
c91cabdab1 score: Fix version of the deprecation annotations
ClutterScore was deprecated in Clutter 1.8, not 1.10.
2012-05-08 16:06:59 +01:00
Emmanuele Bassi
4d087f2c0a examples: Add an example of layout manager
The MultiLayout shows how to write a layout manager with two policies,
and to use the easing state of a child to interpolate the allocation.
2012-05-04 17:54:51 +01:00
Emmanuele Bassi
b7c76a45bc Add rounded corners rectangle example using Canvas
An old request: how to create a rectangle with rounded corners with
Clutter; we use ClutterCanvas and Cairo because we want anti-aliased
edges.
2012-05-04 17:54:51 +01:00
Bastien Nocera
2bb84d9169 x11/device-manager-xi2: Fix assertions with touch
When getting touch events, the device manager would try
to pass an invalid device to translate_axes().

clutter_event_set_device() will only update event->touch.device
for touch events, not event->motion.device, as used.

Fixes Totem crashing on mouse motion/button press when using
a touchpad.

https://bugzilla.gnome.org/show_bug.cgi?id=675371
2012-05-03 19:32:07 +02:00
Bastien Nocera
217ff7c8fb event: Fix copying touch events
We were trying to copy motion axes instead of touch ones.

https://bugzilla.gnome.org/show_bug.cgi?id=675371
2012-05-03 19:32:07 +02:00
Emmanuele Bassi
3c9cea09dc docs: Update the configure switches in the README 2012-05-03 11:40:59 +01:00
Emmanuele Bassi
74afe8bbcd Annotate deprecated get_type() functions
Even if their usage is limited, it's good to consistently deprecate
functions.
2012-05-03 11:35:20 +01:00
Emmanuele Bassi
fcd341d23e cally: Disable deprecation warnings
For ClutterGroup and ClutterRectangle.
2012-05-03 11:34:57 +01:00
Emmanuele Bassi
e88e7cd414 docs: Disable deprecations when building the object scanner
We know it's going to be using deprecated symbols, since it has to
introspect all the GObject classes we expose.
2012-05-03 11:28:04 +01:00
Emmanuele Bassi
20f908e87f docs: Add annotation for ClutterEventSequence
The last remaining undocumented symbol in the API reference according to
gtk-doc.
2012-05-03 11:27:22 +01:00
Tristan Van Berkom
397f322860 ClutterDropAction: Added "drop-cancel" signal.
The drop-cancel signal allows the drop action to cleanup its
state if the can-drop signal is refused. This is especially
useful if the drop action (or its target actor) is managing
any drop target animations.

https://bugzilla.gnome.org/show_bug.cgi?id=675336
2012-05-03 11:20:32 +01:00
Emmanuele Bassi
a2f03d3add docs: Move the easing modes graphs to the AnimationMode docs 2012-05-02 18:40:38 +01:00