Commit Graph

8982 Commits

Author SHA1 Message Date
Jasper St. Pierre
46877cc2bd actor: Create a PangoContext per actor
For a variety of complicated reasons, ClutterText currently sets fields
on the PangoContext when creating a layout. This causes ClutterText to
behave somewhat erratically in certain cases, since the PangoContext is
currently shared between all actors.

GTK+ creates a PangoContext for every single GtkWidget, so it seems like
we should do the same here.

Move the private code that was previously in clutter-main.c into
clutter-actor.c and clean it up a bit. This gives every actor its own
PangoContext it can mutilate whenever it wants, at its heart's content.

https://bugzilla.gnome.org/show_bug.cgi?id=739050
2014-10-23 12:30:54 -07:00
Jasper St. Pierre
14d28e7908 main: Don't update the PangoContext in clutter_set_font_flags
clutter_set_font_flags already calls clutter_backend_set_font_options,
which emits a signal which our PangoContext listens to, so this is just
duplicate and unneeded code.

https://bugzilla.gnome.org/show_bug.cgi?id=739050
2014-10-23 12:30:53 -07:00
Carlos Garnacho
7764fd2079 evdev: Flush event queue before removing an input device
libinput_suspend() will trigger the removal of input devices, but also
the emission of button/key releases pairing everything that is pressed
at that moment. These events are queued, but the ClutterInputDevice
pointers in these will point to invalid memory at the time these are
processed.

Fix this by flushing the event queue, in order to ensure there are no
unprocessed input events after libinput_suspend().

https://bugzilla.gnome.org/show_bug.cgi?id=738520
2014-10-14 13:43:17 +02:00
Rico Tzschichholz
084dc49a0c x11: Add missing closure annotation to ClutterX11FilterFunc 2014-10-02 09:27:36 +02:00
Emmanuele Bassi
317a54f9fb build: Update the release rules
Change the URLs for mailing lists and documentation, and re-align the
output.
2014-09-22 12:01:30 +01:00
Emmanuele Bassi
28cd2c56d1 Post-release version bump to 1.20.1 2014-09-22 11:48:37 +01:00
Emmanuele Bassi
e0834bfece Release Clutter 1.20.0 2014-09-22 11:31:23 +01:00
Emmanuele Bassi
c55922dac1 docs: Fix the examples for ClutterText.set_font_name()
We shouldn't be using "pt": PangoFontDescription.from_string() assumes
points, and only accepts "px" for absolute font sizes.

https://bugzilla.gnome.org/show_bug.cgi?id=736826
2014-09-22 11:30:52 +01:00
Emmanuele Bassi
35d4baa913 docs: Update the markdown README file 2014-09-22 11:30:52 +01:00
Maria Mavridou
e1a3a38061 Updated Greek translation 2014-09-21 13:42:14 +00:00
Olav Vitters
ca09f58d93 doap category core 2014-09-19 12:38:54 +01:00
Emmanuele Bassi
3f4d5c3e47 Post-release version bump to 1.19.11 2014-09-17 15:07:33 +01:00
Emmanuele Bassi
db69380773 Release Clutter 1.19.10 2014-09-17 15:02:30 +01:00
Emmanuele Bassi
f409671d91 docs: Fix annotation for has_mapped_clones() method
The Returns: stanza is missing.
2014-09-17 14:59:22 +01:00
Emmanuele Bassi
c75a200c37 docs: Remove missing symbol 2014-09-17 14:59:03 +01:00
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
Olav Vitters
ddda4aec18 doap category core 2014-07-30 19:38:35 +02: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