Commit Graph

9051 Commits

Author SHA1 Message Date
Emmanuele Bassi
6a4a8b584b Post-release version bump to 1.15.91 2013-08-20 00:21:40 +01:00
Emmanuele Bassi
ee6be96a3b Release Clutter 1.15.90 2013-08-20 00:09:28 +01:00
Emmanuele Bassi
4698e791bf Update exported symbols 2013-08-20 00:09:28 +01:00
Emmanuele Bassi
bf1997c4ef paint-nodes: Have a fallback buffer for the root node
If we don't get passed a CoglFramebuffer when creating the root paint
node then we ask Cogl to give us the current draw buffer.

This allows the text-cache conformance test to pass, but it'll require
further investigation.
2013-08-20 00:01:45 +01:00
Florian Müllner
c14bd84eef table-layout: Fix default values for expand/fill child properties
Currently the default values according to their param spec don't
match the actually used defaults, so update the former to reflect
the actual behavior.

https://bugzilla.gnome.org/show_bug.cgi?id=703809
2013-08-19 23:37:53 +01:00
Florian Müllner
8e850ff3e4 box-layout: Fix (legacy) expand/fill properties
Whether a child should receive extra space should be determined
by the expand property, not [xy]_fill (which just determine how
additional space should be used). The behavior is already correct
when using the ClutterActor:[xy]_expand properties, but needs
fixing for the corresponding ClutterBoxLayoutChild property.

https://bugzilla.gnome.org/show_bug.cgi?id=703809
2013-08-19 23:37:46 +01:00
Florian Müllner
40a1903db6 bin-layout: Fix offsets
Just as BoxLayout, BinLayout uses an odd interpretation of the box
passed into allocate(): to define a child area of (w x h) starting at
(x, y), callers need to pass a box of (x, 2 * x + w, y, 2 * y + h).
This behavior is just confusing, change it to use the full box for
child allocations.

https://bugzilla.gnome.org/show_bug.cgi?id=703809
2013-08-19 23:37:43 +01:00
Florian Müllner
5dd2dcf14f box-layout: Fix child offsets
Currently, BoxLayout interprets the box passed into allocate() in
a fairly peculiar way:
 - in the direction of the box, all space between [xy]1 and [xy]2
   is distributed among children (e.g. children occupy the entire
   width/height of the box, offset by [xy]1)
 - in the opposite direction, expanded children receive space
   between [xy]1 and the height/width of the box (e.g. children
   occupy the width/height of the box minus [xy]1, offset by [xy]1)
The second behavior doesn't make much sense, so adjust it to interpret
the box parameter in the same way as the first one.

https://bugzilla.gnome.org/show_bug.cgi?id=703809
2013-08-19 23:37:41 +01:00
Florian Müllner
5bab9a8655 actor: Minor cleanup
In clutter_allocate_align_fill(), x2/y2 may be set twice for no
particular reason; save a couple of lines by not doing this.

https://bugzilla.gnome.org/show_bug.cgi?id=703809
2013-08-19 23:37:38 +01:00
Emmanuele Bassi
a3b093d9c8 cookbook/examples: Disable Cogl deprecation warnings
We'll have to port the cookbook to a decent version of Clutter and Cogl
anyway.
2013-08-19 23:31:54 +01:00
Emmanuele Bassi
0d7bbc747f docs: Fix gtk-doc warnings 2013-08-19 23:30:09 +01:00
Emmanuele Bassi
0b6498d655 Use paint nodes to set up the stage
This allows to set a Content on a stage, and consolidates the paint
code where it belongs.

https://bugzilla.gnome.org/show_bug.cgi?id=704625
2013-08-19 23:23:45 +01:00
Emmanuele Bassi
1d9e264051 paint-nodes: Remove modelview from ClutterRootNode
It's pointless, since RootNode sits at the top and there's no modelview
to be set.

https://bugzilla.gnome.org/show_bug.cgi?id=704625
2013-08-19 23:23:43 +01:00
Lionel Landwerlin
371b12c4af tests: add an interactive test for rotate and zoom actions
https://bugzilla.gnome.org/show_bug.cgi?id=698836
2013-08-19 23:23:08 +01:00
Emmanuele Bassi
700baccc7c build: Generate gitignore on BUILT_SOURCES
The test-unit-names.h header file is generated unconditionally, so we
need to generate the gitignore file that references it along with the
header.
2013-08-19 23:22:38 +01:00
Emmanuele Bassi
97bf60f6ec Show if we are installing the tests in the configure summary 2013-08-19 23:22:38 +01:00
Emmanuele Bassi
fa72540246 build: Ensure tests are built only on make check
Tests should only be enabled when we want to run them, or when we are
generating a tarball.
2013-08-19 23:22:38 +01:00
Emmanuele Bassi
b50e1c3b62 actor: Do not set remove-on-complete on implicit transitions
The implicitly created transitions are removed when complete by the
implicit transition machinery. The remove-on-complete hint is for
user-provided transitions.

https://bugzilla.gnome.org/show_bug.cgi?id=705739
2013-08-19 23:22:38 +01:00
Emmanuele Bassi
edf00747ef docs: Use the correct signal name
ClutterTransition:remove-on-complete uses the ClutterTimeline::stopped
signal, as it's the signal that tells us that the timeline's duration
has fully elapsed.
2013-08-19 23:22:38 +01:00
Matej Urbančič
8abd2baeaa Updated Slovenian translation 2013-08-19 23:16:58 +02:00
Matej Urbančič
4d03d95e41 Updated Slovenian translation 2013-08-19 23:14:29 +02:00
Giovanni Campagna
0e519e2b3b evdev: implement wheel events
Mouse wheel events come as EV_REL/REL_WHEEL, and we can convert
them to clutter events on the assumption that scrolling with
the wheel is always vertical.

https://bugzilla.gnome.org/show_bug.cgi?id=705710
2013-08-14 16:50:45 +02:00
Giovanni Campagna
7b780b0c38 evdev: don't update xkb state for autorepeated keys
xkb_state_update_key() needs to be called only on state transitions,
otherwise the state tracking gets confused and locks certain modifiers
forever.

https://bugzilla.gnome.org/show_bug.cgi?id=705710
2013-08-13 18:11:12 +02:00
Giovanni Campagna
8c358f18b1 evdev: allow hooking directly into libxkbcommon
A wayland compositor needs to have more keyboard state than
ClutterModifierState exposes, so it makes sense for it to use
xkb_state directly. Also, it makes sense for it to provide
it's own keymap, to ensure a consistent view between the compositor
and the wayland clients.

https://bugzilla.gnome.org/show_bug.cgi?id=705710
2013-08-13 17:51:33 +02:00
Giovanni Campagna
786532213b evdev: add master / slave device handling
All evdev devices are slave devices, which means that xkb state
and pointer position must be shared by emulating a core keyboard
and a core pointer. Also, we must make sure to add all modifier
state (keyboard and button) to our events.

https://bugzilla.gnome.org/show_bug.cgi?id=705710
2013-08-13 17:42:43 +02:00
Giovanni Campagna
f749858df3 evdev: remove dead code
ClutterDeviceManager uses g_object_new directly, to pass the
necessary properties down.

https://bugzilla.gnome.org/show_bug.cgi?id=705710
2013-08-13 09:41:45 +02:00
Giovanni Campagna
d844cf5462 evdev: fix xkb_state handling
We must pass X11 keycodes, not evdev ones, to libxkbcommon,
otherwise the modifier state is wrong.

https://bugzilla.gnome.org/show_bug.cgi?id=705710
2013-08-13 09:41:44 +02:00
Giovanni Campagna
a3557f7a2f evdev: fix X11 to evdev keycode translation
Hardware keycodes in Clutter events are x11 keycodes, which are
the same as evdev + 8, but we need to reverse the translation when
explicitly asked for an evdev keycode.

https://bugzilla.gnome.org/show_bug.cgi?id=705710
2013-08-13 09:41:44 +02:00
Giovanni Campagna
26b2852601 evdev: add a way for applications to tweak how devices are opened
In some cases, applications (or actually, wayland compositors)
don't have the required permissions to access evdev directly, but
can do so with an external helper like weston-launch.

Allow them to do so with a custom callback that replaces the regular
open() path.

https://bugzilla.gnome.org/show_bug.cgi?id=704269
2013-08-13 09:41:44 +02:00
Rob Bradford
2b8fcfd75b wayland: When resizing only trigger a redraw if the stage has been shown
This is necessary to avoid a deadlock with the compositor. When setting
a stage size before the stage was shown this would trigger a redraw
inside clutter_stage_wayland_resize. This redraw would result
in a call into eglSwapBuffers which would attach a buffer to the surface
and commit. Unfortunately this would happen before the role for the
surface was set. This would result in the compositor not relaying to the
client that the desired frame was shown.

With this change the call to wl_shell_surface_set_toplevel is always
made before the first redraw.

https://bugzilla.gnome.org/show_bug.cgi?id=704457
2013-08-12 19:13:57 +01:00
Rob Bradford
1afe757109 wayland: When resizing only trigger a redraw if the stage has been shown
This is necessary to avoid a deadlock with the compositor. When setting
a stage size before the stage was shown this would trigger a redraw
inside clutter_stage_wayland_resize. This redraw would result
in a call into eglSwapBuffers which would attach a buffer to the surface
and commit. Unfortunately this would happen before the role for the
surface was set. This would result in the compositor not relaying to the
client that the desired frame was shown.

With this change the call to wl_shell_surface_set_toplevel is always
made before the first redraw.

https://bugzilla.gnome.org/show_bug.cgi?id=704457
2013-08-12 17:29:28 +01:00
Chao-Hsiung Liao
d63632fe2e Updated Traditional Chinese translation(Hong Kong and Taiwan) 2013-08-06 19:34:36 +08:00
Rafael Ferreira
b5c4d5a044 Updated Brazilian Portuguese translation 2013-08-06 00:07:51 -03:00
Rafael Ferreira
4d79dd2948 Updated Brazilian Portuguese translation 2013-08-05 23:57:26 -03:00
Rob Bradford
b6a931c8d9 wayland: Only process enter and leave events Clutter created surfaces
When combining with GTK we will receive enter and leave events for surfaces
from both toolkits therefore we must filter our events appropriately.
2013-08-04 15:45:01 +01:00
Rob Bradford
61dc824c91 wayland: Check there is valid pointer or keyboard focus for events 2013-08-04 15:44:42 +01:00
Rob Bradford
9808da7efe wayland: Only process enter and leave events Clutter created surfaces
When combining with GTK we will receive enter and leave events for surfaces
from both toolkits therefore we must filter our events appropriately.
2013-08-04 15:38:40 +01:00
Rob Bradford
66044b665f wayland: Check there is valid pointer or keyboard focus for events 2013-08-04 15:33:30 +01:00
Chun-wei Fan
558f142818 Update Conformance Tests MSVC Project
Use CLUTTER_ENABLE_EXPERIMENTAL_API as there are experimental APIs that
are used and tested here, which will fix the build
2013-07-26 09:32:31 +08:00
Rob Bradford
de933213b7 wayland: Only create and act on shell_surface for non-foreign surfaces
We should not create a shell surface and set the role for that shell
surface if the surface was a foreign one provided through
clutter_wayland_set_wl_surface

https://bugzilla.gnome.org/show_bug.cgi?id=699578
2013-07-23 18:27:55 +01:00
Chris Cummins
d390a44615 wayland: Add foreign surface support to stage
This adds support for optionally a providing a foreign Wayland surface
to a ClutterStage before it is first show. Setting a foreign surface
prevents Cogl from allocating a surface and shell surface for the stage
automatically.

v2: add CLUTTER_AVAILABLE_IN_1_16 annotation and API reference docs
    (review from Emmanuele Bassi)
v3: set a boolean to indicate that this stage is using a foreign surface
(Rob Bradford)

https://bugzilla.gnome.org/show_bug.cgi?id=699578
2013-07-23 18:27:52 +01:00
Rob Bradford
a5230278b4 wayland: Add API for disabling the event dispatching
This allows the integration of Clutter with another library, like GTK+,
that is dispatching the events itself. This is implemented by calling
into the cogl_wayland_renderer_set_event_dispatch_enabled() and since
that function must be called on the newly created renderer the newly
added clutter_wayland_disable_event_retrieval must be called before
clutter_init()

https://bugzilla.gnome.org/show_bug.cgi?id=704279
2013-07-23 18:27:50 +01:00
Rob Bradford
7153863309 wayland: Only create and act on shell_surface for non-foreign surfaces
We should not create a shell surface and set the role for that shell
surface if the surface was a foreign one provided through
clutter_wayland_set_wl_surface

https://bugzilla.gnome.org/show_bug.cgi?id=699578
2013-07-23 18:24:01 +01:00
Chris Cummins
b6d2232150 wayland: Add foreign surface support to stage
This adds support for optionally a providing a foreign Wayland surface
to a ClutterStage before it is first show. Setting a foreign surface
prevents Cogl from allocating a surface and shell surface for the stage
automatically.

v2: add CLUTTER_AVAILABLE_IN_1_16 annotation and API reference docs
    (review from Emmanuele Bassi)
v3: set a boolean to indicate that this stage is using a foreign surface
(Rob Bradford)

https://bugzilla.gnome.org/show_bug.cgi?id=699578
2013-07-23 18:24:00 +01:00
Rob Bradford
a5e44d3934 wayland: Add API for disabling the event dispatching
This allows the integration of Clutter with another library, like GTK+,
that is dispatching the events itself. This is implemented by calling
into the cogl_wayland_renderer_set_event_dispatch_enabled() and since
that function must be called on the newly created renderer the newly
added clutter_wayland_disable_event_retrieval must be called before
clutter_init()

https://bugzilla.gnome.org/show_bug.cgi?id=704279
2013-07-23 18:23:40 +01:00
Adel Gadllah
697f7a3359 clutter-actor: Make clutter_actor_has_mapped_clones public
This allows some optimisations to be done that work when they are no clones.

https://bugzilla.gnome.org/show_bug.cgi?id=703336
2013-07-17 12:43:38 +02:00
Adel Gadllah
74ab8c3bda clutter-actor: Make clutter_actor_has_mapped_clones public
This allows some optimisations to be done that work when they are no clones.

https://bugzilla.gnome.org/show_bug.cgi?id=703336
2013-07-17 12:38:07 +02:00
Neil Roberts
0cef63b837 win32: Disable event retrieval in Cogl
Since commit 4543ed6ac3 in Cogl, Cogl will now try to consume
Windows message itself. This doesn't really cause any problems because
both message loops just call DispatchMessage which will cause the
message to be routed through Clutter's window procedure either way.
However, it's not great to have two sources listening for messages so
this patch disables Cogl's message retrieval.

https://bugzilla.gnome.org/show_bug.cgi?id=701356
2013-07-12 17:59:54 +01:00
Neil Roberts
3715a6687c Update the dependencies for the MinGW build script
As the binaries from Tor Lillqvist are no longer being kept up-to-date
this also builds more of the deps from source.

https://bugzilla.gnome.org/show_bug.cgi?id=701356
2013-07-12 17:59:54 +01:00
Emmanuele Bassi
c2d5dd2d11 x11: Remove unused variable 2013-07-12 09:57:23 +01:00