Commit Graph

8724 Commits

Author SHA1 Message Date
Emmanuele Bassi
28a5104e11 Remove gtk-doc tags from clutter_test_* API
The API is public because we use it in the test suite, but it's not
documented.
2014-09-17 14:58:17 +01:00
Emmanuele Bassi
14da1c5027 actor: Unallocated children do not contribute to the paint volume
Just like unmapped children.

Apparently, layers above Clutter allow mapped children without an
allocation, instead of unmapping them. This means we need to ignore
them when computing the paint volume.

Patch originally by: Adel Gadllah <adel.gadllah@gmail.com>
Signed-off by: Emmanuele Bassi <ebassi@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=736682
2014-09-15 16:53:31 +01:00
Emmanuele Bassi
acd8f86570 actor: Default paint volume does not work without allocation
We already check for needs_allocation before getting the default paint
volume, but explicit is better than implicit.
2014-09-15 16:43:30 +01:00
Emmanuele Bassi
e31d7d7400 build: Ignore private header while building docs 2014-09-15 16:42:54 +01:00
Jonas Ådahl
a182d4befa ClutterInputDevice: Store the cursor coordinate state as floating point
To support sub-pixel motion events coming from relative events, the
fraction part needs to be stored in the input device state as well. To
do this, simply change the current type from gint to gfloat.

https://bugzilla.gnome.org/show_bug.cgi?id=736413
2014-09-14 16:58:27 +02:00
Alejandro Piñeiro
281a57a6a3 a11y: provide a way to ensure clutter accessibility
If gtk_init is called after clutter_init, it can override clutter
AtkUtil implementation. In that situation, we can't say that
the accessibility is enabled, as the root object would be wrong.

In order to provide a way to prevent this:

* clutter_get_accessibility_enabled returns true of false
  depending on the current AtkUtil implemented
* cally_accessibility_init always override AtkUtil implementation.
2014-09-03 16:03:16 +02:00
Bastien Nocera
fe208bff29 doc: Document CLUTTER_SCALE envvar
https://bugzilla.gnome.org/show_bug.cgi?id=734480
2014-09-03 14:21:09 +01:00
Bastien Nocera
908aedbacc gdk: Add window-scaling-factor support
So that we follow GDK's idea of a scaling factor for Clutter.

https://bugzilla.gnome.org/show_bug.cgi?id=734480
2014-09-03 14:21:08 +01:00
Emmanuele Bassi
b3b2af7677 Re-introduce removed GestureAction method
The get_threshold_tigger_egde() method was renamed to fix the typo, but
it obviously broke the ABI. To be fair, nobody in the whole of Debian
was using the symbol, apparently, so it's not like we broke existing
code. Still, it's not nice to break ABI without bumping soname, so let's
put the old symbol back in — obviously, deprecated — as a wrapper to the
newly added one.
2014-09-03 14:16:31 +01:00
Emmanuele Bassi
98b64fec33 Add TestEnvironment key to the installed tests launchers
The TestEnvironment key allows us to control the environment used by the
gnome-desktop-testing-runner harness.

We use it to disable the diagnostic messages without having to tweak the
Exec line.

https://bugzilla.gnome.org/show_bug.cgi?id=734115
2014-08-29 19:37:47 +01:00
Yosef Or Boczko
4bcf739d04 Updated Hebrew translation 2014-08-28 18:09:28 +03:00
Carlos Garnacho
591d31c970 xi2: XSync before getting the client pointer on construction
If the device manager is created and queried for the client pointer at
a very early stage in application lifetime, the device_id returned would
be 0 as the server hasn't apparently decided yet about the client pointer.

For these situations, doing XSync prior to fetching the client pointer
gets the server to device about the client pointer before we query it.

https://bugzilla.gnome.org/show_bug.cgi?id=735388
2014-08-25 16:51:31 +02:00
Adel Gadllah
cfcba18684 clutter-settings: Mark window-scaling-factor as fixed when set by the app
When an application sets the scaling factor manually we should mark it as fixed
and not override it when the xsettings change. This matches GDKs behaviour.

In order for this to work we cannot use the same path when setting the value
internally so introduce a _clutter_settings_set_property_internal and use it
for that.

https://bugzilla.gnome.org/show_bug.cgi?id=735244
2014-08-23 14:02:56 +02:00
Emmanuele Bassi
ee59a458d2 Forgot to commit the NEWS file prior to release 2014-08-21 15:43:35 +01:00
Emmanuele Bassi
5d012cba7b Post-release version bump to 1.19.9 2014-08-21 15:43:06 +01:00
Emmanuele Bassi
0ed53b6290 Release Clutter 1.19.8 2014-08-21 15:35:37 +01:00
Emmanuele Bassi
9c7433dbe9 docs: Add missing symbols to the section file 2014-08-21 15:30:47 +01:00
Emmanuele Bassi
bd3e4f1709 evdev: Fix compiler warning 2014-08-21 15:26:14 +01:00
Emmanuele Bassi
fd59df9710 build: Remove experimental notice for wayland/evdev
Both backends are built via CI and used by GNOME, so they should not be
considered experimental any more.
2014-08-21 15:24:54 +01:00
Sunjin Yang
158af1ff59 actor: Plug a leak in the implicit transition removal
We need to release the temporary reference we acquired in order for the
signal emission to work.

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

Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
2014-08-21 15:19:18 +01:00
ngoswami
018c1665ee Updated Assamese translation 2014-08-18 15:38:09 +00:00
Christian Kirbach
22827e6043 Updated German translation 2014-08-18 08:31:44 +00:00
Lionel Landwerlin
ad18f2a996 backend: gdk: add support for foreign windows on wayland
https://bugzilla.gnome.org/show_bug.cgi?id=734935
2014-08-17 16:55:10 +01:00
Lionel Landwerlin
ccd2054fda backend: gdk: add translation code for touch events
https://bugzilla.gnome.org/show_bug.cgi?id=734934
2014-08-17 16:55:10 +01:00
Emmanuele Bassi
be8602fbb4 Revert "backend: try gdk backend before x11/wayland/egl"
This reverts commit 398a7ac713.

We cannot really use the GDK backend without massive regressions inside
the input layer, like touch events and gestures. The GDK backend is not
entirely up to scratch, and it's late in the cycle.

Let's land this early in 3.15, and get it up to par with X11.
2014-08-15 12:11:20 +01:00
Emmanuele Bassi
f12c174d72 Remove unused internal 'in-resize' flag
A remnant of days gone by.
2014-08-15 12:07:48 +01:00
Lionel Landwerlin
398a7ac713 backend: try gdk backend before x11/wayland/egl
Quite a few people at Guadec complained of pinpoint being broken in
speaker+fullscreen mode, with slides being half displayed. It turns
out that the X11 backend of clutter was being used and this backend
assumes the size of the current monitor is the size of the X screen
(that's not the case with multiple monitors).

To work around the shortcomings of the X11 backend we should probably
position the GDK one before. GDK implements most of the logic the
ClutterStage needs and is probably more tested.

https://bugzilla.gnome.org/show_bug.cgi?id=734587
2014-08-10 20:26:02 +01:00
Rui Matos
f95493e7bf evdev: Add API to set the xkb layout index
https://bugzilla.gnome.org/show_bug.cgi?id=733202
2014-08-07 11:43:00 +01:00
Tom Beckmann
72aaeed3f5 canvas: assign white to paint color for texture node
To get correct premultiplied opacity on a canvas content, white needs
to be assigned to the color that is passed to the texture node. The
content will be very dark for lower opacity values otherwise.

https://bugzilla.gnome.org/show_bug.cgi?id=733385
2014-07-25 09:31:57 +01:00
Emmanuele Bassi
8e56cef40b Post-release version bump to 1.19.7 2014-07-24 00:20:26 +01:00
Emmanuele Bassi
1e07fd7d7f Release Clutter 1.19.6 (snapshot) 2014-07-24 00:12:47 +01:00
Emmanuele Bassi
d33d2d1f47 conform: Fix actor-shader-effect
The porting to the ::after-paint signal was missing the boolean flag
passed as a user data.
2014-07-24 00:11:30 +01:00
Carlos Garnacho
0c0c069b3f input-device: Ensure crossing events are paired for touch sequences
When the sequence is lifted the actor wouldn't be unset, so the corresponding
CLUTTER_LEAVE event would never be sent for the touch sequence.

https://bugzilla.gnome.org/show_bug.cgi?id=733560
2014-07-23 14:32:24 +02:00
Carlos Garnacho
9e8c92d66a evdev: Update xkb state after input is resumed
xkb_state creation has been refactored out of clutter_evdev_set_keyboard_map(),
and used too in clutter_evdev_reclaim_devices(), so the xkb_state is fresh
clean after input is paused/resumed (and keyboard state possibly changed in
between)

https://bugzilla.gnome.org/show_bug.cgi?id=733562
2014-07-23 14:27:38 +02:00
Carlos Garnacho
958ffd4d40 event: define a boxed type for ClutterEventSequence
This allows for some minimal interaction from bindings.

https://bugzilla.gnome.org/show_bug.cgi?id=733561
2014-07-23 14:23:20 +02:00
Giovanni Campagna
c167d3a4d3 ClutterAnimation: fix memory leak
We need to unref the timeline

https://bugzilla.gnome.org/show_bug.cgi?id=733300
2014-07-17 16:41:08 +02:00
Carlos Garnacho
f6fd02970c evdev: Set button modifier state to input devices.
Input devices must get the proper button state, in addition to keyboard
modifiers.

https://bugzilla.gnome.org/show_bug.cgi?id=733062
2014-07-11 15:39:05 +02:00
Carlos Garnacho
8d669ab8ce gesture-action: Prepare for clutter_gesture_action_cancel() within ::gesture-end
There may be odd situations where full gesture cancellation may be wanted at once
when the first touch is lifted and ::gesture-end is emitted on a gesture action.
Although calling clutter_gesture_action_cancel() within the ::gesture-end handler
causes 2 critical warnings that are otherwise harmless.

https://bugzilla.gnome.org/show_bug.cgi?id=732907
2014-07-08 18:48:20 +02:00
Owen W. Taylor
ec911dc8b9 ClutterStage: Replace clutter_stage_set_paint_callback() with ::after-paint signal
clutter_stage_set_paint_callback() has the disadvantage that it only
works for a single caller, and subsequent callers will overwrite and
break previous callers. Replace it with an ::after-paint signal that is
emitted at the same point - after all painting for the stage is
completed but before the drawing is presented to the screen.

https://bugzilla.gnome.org/show_bug.cgi?id=732342
2014-06-27 14:39:02 -04:00
Emmanuele Bassi
9c74b98310 Post-release version bump to 1.19.5 2014-06-25 17:09:23 +01:00
Emmanuele Bassi
d541efca2f Release Clutter 1.19.4 (snapshot) 2014-06-25 17:02:00 +01:00
Emmanuele Bassi
036c2b3764 gesture-action: Use event type getter
Don't use direct struct access.
2014-06-25 16:58:18 +01:00
Carlos Garnacho
02590f08ac gesture-action: Ignore any other event than press/update/release ones
CLUTTER_ENTER/LEAVE might be processed too, leading to accounting of the
NULL sequence (ie. pointer) in the gesture, and fooling the gesture with
a static extra point that wouldn't go away.

https://bugzilla.gnome.org/show_bug.cgi?id=732235
2014-06-25 16:55:41 +01:00
Carlos Garnacho
4c4e72a9dc x11: Set the input device stage on XI_TouchBegin, if not already set
Until now, touch events sort of rely on XI_Enter/XI_Leave events accompanying
the pointer emulating touch in order to have a stage set on the device, These
events won't happen though if it's not a pointer emulating touch which happens
on the stage, causing touch events to be ignored.

Fix this by ensuring that the input device has a stage on XI_TouchBegin itself,
but only if it's not already set, so we don't possibly steal touch events to
an already interacting stage.

https://bugzilla.gnome.org/show_bug.cgi?id=732234
2014-06-25 16:55:16 +01:00
Carlos Garnacho
42f6828c9c input-device: Do not unset the device stage after the last touch is lifted
On X11 the pointer will follow a "pointer emulating" touch sequence, so the
pointer will be effectively left inside the stage after that touch is lifted,
even though the master device stage is unset. This makes pointer events get
ignored until the pointer leaves and enters again the stage.

https://bugzilla.gnome.org/show_bug.cgi?id=732234
2014-06-25 16:55:16 +01:00
Emmanuele Bassi
8d89294ef6 drop-action: Use the right state for events
The 'state' field should be used for pointer events without button
information. Pointer events that have button information should use
the 'button' field.

https://bugzilla.gnome.org/show_bug.cgi?id=732143
2014-06-25 15:16:30 +01:00
Emmanuele Bassi
acde9b1dff docs: Add missing symbols 2014-06-25 12:42:58 +01:00
Emmanuele Bassi
2a3498d6c9 build: Warn for experimental input backend 2014-06-25 12:21:39 +01:00
Emmanuele Bassi
ac26dbbbe9 evdev: Update after libinput API changes 2014-06-25 12:21:39 +01:00
Emmanuele Bassi
3b77e5565c Bump up the requirement for libinput
There have been API breakages in libinput since 0.3.0.
2014-06-25 12:21:39 +01:00