Commit Graph

8794 Commits

Author SHA1 Message Date
Adel Gadllah e4497baaf0 eglnative: Add clutter-stage-window implementation
Add a ClutterStageEglNative implemennation that implements
can_clip_redraws so that clipped redraws can work
on eglnative.

https://bugzilla.gnome.org/show_bug.cgi?id=726341
2014-03-14 17:55:19 +01:00
Jasper St. Pierre dcaf5686a2 evdev: Always create the main seat
There could be times when we may not necessarily see a device appear
at initialization time, like when we're VT switched away when we
initialize, and thus we can't ever rely on a main seat appearing.

Always create a main seat with logical pointer/keyboard devices, and
tie the first physical seat that comes in to the main seat.

https://bugzilla.gnome.org/show_bug.cgi?id=726199
2014-03-13 12:46:28 -04:00
Jasper St. Pierre defe55ff09 evdev: Extract code for setting the libinput seat out
We're going to create the main seat at an earlier time, when
we don't have the physical libinput_seat yet, so we need to
do the association later.

https://bugzilla.gnome.org/show_bug.cgi?id=726199
2014-03-13 12:46:28 -04:00
Jasper St. Pierre 5facd710c8 evdev: Set the initial pointer position for all pointer devices
Rather than just those on the main seat.

https://bugzilla.gnome.org/show_bug.cgi?id=726199
2014-03-13 12:46:27 -04:00
Jasper St. Pierre e23f77f1e6 evdev: Extend the device open callback with a close callback as well
We need to return the device to logind with ReleaseDevice().

https://bugzilla.gnome.org/show_bug.cgi?id=726199
2014-03-13 12:46:27 -04:00
Emmanuele Bassi aa5a4e9e3c stage: Use the correct types for debug note 2014-03-12 19:30:04 +00:00
Duarte Loreto 3b22c28da4 Updated Portuguese translation 2014-03-12 01:48:11 +00:00
Changwoo Ryu 967d4c5b85 Added Korean translation 2014-03-12 09:38:12 +09:00
Bastian Winkler 70835c904a grid-layout: Use correct orientation when requesting preferred child size
Otherwise width and height are swapped.

https://bugzilla.gnome.org/show_bug.cgi?id=725722
2014-03-12 00:30:40 +01:00
Yuri Myasoedov 65c7c4bcb6 Updated Russian translation 2014-03-11 16:20:07 +04:00
Chao-Hsiung Liao 146c0610b7 Updated Traditional Chinese translation(Hong Kong and Taiwan) 2014-03-09 11:29:52 +08:00
Rūdolfs Mazurs e95f7e34c0 Updated Latvian translation 2014-03-08 19:46:12 +02:00
Wylmer Wang 986077cbda Updated Chinese (China) translation 2014-03-08 12:45:29 +00:00
Chun-wei Fan c1fd29df7a Fix The Win32 Backend for Newer Visual Studio Versions
The GetSystemMetrics() function returns wrong values for SM_CXSIZEFRAME,
SM_CYSIZEFRAME, SM_CXFIXEDFRAME and SM_CYFIXEDFRAME when built with Visual
Studio 2012 and 2013 (unless the XP compatibility setting for the
PlatformToolset entry is turned on), causing the window of Clutter programs
to automatically shrink to a point where they become unusable.

This patch uses AdjustWindowRectEx() for builds using Visual Studio 2012
and later, which deduces the required height and width of the Window
properly.  Unfortunately we can't use this for the VS 2008/2010 builds as
they cause the Window to continually expand as the program is run.

https://bugzilla.gnome.org/show_bug.cgi?id=725873
2014-03-08 18:35:50 +08:00
Chun-wei Fan acd7d9555c Fix Build of clutter-test-utils.c on Windows
The use of "environ" clashes with a #define in Window's stdlib.h, at least
on Visual Studio, so fix the build by prefixing environ with test_.

https://bugzilla.gnome.org/show_bug.cgi?id=725716
2014-03-08 18:35:49 +08:00
Chun-wei Fan da22baa99d Visual Studio 2010 Projects: Add PlatformToolset Tag
This adds a PlatformToolset tag for each configuration so that it is easier
to upgrade the projects to Visual Studio 2012/2013 formats, which are
largely the same as the Visual Studio 2010 projects.  We can, for example,
use a script to change the values of the PlatformToolset to make these
projects usable out-of-the-box for Visual Studio 2012/2013.
2014-03-06 19:51:50 +08:00
Chun-wei Fan b52397d374 Overhaul the Visual Studio 2010 Build Files
Like the Visual Studio 2008 projects, give the Visual Studio 2010 projects
an overhaul, where:

-The property sheets are split up, so that they are easier to maintain and
 each project only needs to include the necessary parts.  The various
 projects are updated accordingly, too.  The copying of config.h.win32 and
 clutter-config.h.win32(_GDK) are now done with custom build rules, so that
 these files can be cleaned and/or recopied during a clean, rebuild or
 update.

-Clean up the property sheets, to get rid of parts that are actually
 repeated.  Also update the build macros, so that we won't get warnings
 for repeated #defines of macros and fix the build of the various tests/
 demo programs.

-Make all projects use Unix line endings, except for the .sln and
 README.txt files, which need to have Windows line endings.  This makes it
 easier to apply patches to these project files.

-Update the installation of headers, as headers are introduced/deprecated.

-Cosmetics: get rid of "\ No newline at end of file".
2014-03-06 16:30:30 +08:00
Chun-wei Fan 3c344fe5ed Overhaul the Visual Studio 2008 Projects
Split up the property sheets, so that they are easier to maintain, and
clean up the projects and property sheets, especially on items that are
being repeated, and therefore silence many build warnings.  Update the
project files correspondingly, and make all project files use Unix line
endings, for easier application of patches (the .sln and README.txt files
still has to have Windows line endings in order to work properly).

Also make the copying of config.h.win32 and clutter-config.h.win32(_GDK)
custom build rules, so that they may also be cleaned during the cleaning
of the build, which makes it easier for one to do a rebuild.

Similar updates to the Visual Studio 2010 project files will follow.
2014-03-05 18:41:45 +08:00
Emmanuele Bassi 016eb45fee Post-release version bump to 1.17.7 2014-03-04 01:35:36 +00:00
Emmanuele Bassi 3c2081fce4 Release Clutter 1.17.6 2014-03-04 01:29:07 +00:00
Emmanuele Bassi c73f45ca7c text: Use the keymap direction when focused
If the ClutterText actor has key focus then we should ask for the
direction of the key map, instead of the direction of the actor.

https://bugzilla.gnome.org/show_bug.cgi?id=705779
2014-03-03 23:42:33 +00:00
Emmanuele Bassi 3209129d6b x11: Add keymap direction query
We should use the Xkb API to query the direction of the key map,
depending on the group. To get a valid result we need to go over
the Unicode equivalents of the key symbols for each group, so we
should cache the result.

The code used to query and cache the key map direction is taken
from GDK.

https://bugzilla.gnome.org/show_bug.cgi?id=705779
2014-03-03 23:42:33 +00:00
Emmanuele Bassi a000349978 backend: Add private accessor for the keymap direction
We need to ask the backend (wherever possible) for the direction of the
current keymap.

https://bugzilla.gnome.org/show_bug.cgi?id=705779
2014-03-03 23:42:33 +00:00
Emmanuele Bassi 6faf6dfe42 text: Use the resolved text direction
Now that we compute the effective text direction when creating the Pango
layout, we should also use it when painting it.

https://bugzilla.gnome.org/show_bug.cgi?id=705779
2014-03-03 23:42:33 +00:00
Emmanuele Bassi 50b6b59d02 text: Discover the direction of the contents
We should set the direction on the PangoContext when creating a
PangoLayout based on a best effort between the contents of the text
itself and the text direction of the widget, in case that fails.

https://bugzilla.gnome.org/show_bug.cgi?id=705779
2014-03-03 23:42:33 +00:00
Fran Diéguez c42aa42361 Updated Galician translations 2014-03-03 21:47:28 +01:00
Jasper St. Pierre 9b097eb4d8 device-manager-evdev: Make sure to reset released when reclaiming devices
Otherwise, Clutter will tell us that we forgot to call reclaim_devices
the next time we call release_devices... but we didn't!
2014-03-03 11:57:58 -05:00
Adel Gadllah 4a3ad9c3af DeviceManagerXi2: Cache the client pointer
Currently clutter_device_manager_xi2_get_core_device always
does a round trip to query the client.

So avoid that by caching the client pointer and only update it when the
xi devices change.

https://bugzilla.gnome.org/show_bug.cgi?id=725561
2014-03-03 15:06:11 +01:00
Piotr Drąg edc91b7640 Updated Polish translation 2014-03-02 18:49:34 +01:00
Jasper St. Pierre fdd553d2a9 evdev: Kill compile warning 2014-02-28 09:50:36 -05:00
Rui Matos 64508e48b6 evdev: Add missing CLUTTER_AVAILABLE_IN_* annotations 2014-02-27 11:31:34 +01:00
Rui Matos 2c9a4fd220 evdev: Add missing 'Since' and 'Stability' doc tags 2014-02-27 11:31:34 +01:00
Rui Matos 458de1178d evdev: Set the initial core pointer coordinates to a sane value
ClutterInputDevice's default initial coordinates is (-1, -1) and since
they're updated from events in a relative way it means that the
pointer can go outside the stage right from the first event.

We usually let this up to higher layers to fix through the pointer
constraint callback but that doesn't work if the first event doesn't
put the pointer immediately inside the stage.

https://bugzilla.gnome.org/show_bug.cgi?id=725103
2014-02-27 11:31:33 +01:00
Rui Matos d67b38f960 evdev: Make the keymap available
Make the keymap available so that consumers don't have to duplicate it
if they need it.

https://bugzilla.gnome.org/show_bug.cgi?id=725102
2014-02-27 11:31:33 +01:00
Rui Matos 2a7d5503d8 evdev: Don't update xkb state with pressed keys on keymap change
Doing so is unlikely to work reliably. Instead, switching the keymap
should be done at a time when no key is currently pressed down, but
let's leave that task to higher level code.

This allows us to remove key state tracking at yet another level in
the stack since higher level code likely already tracks this for other
purposes.

https://bugzilla.gnome.org/show_bug.cgi?id=725102
2014-02-27 10:59:16 +01:00
Rui Matos 945ee5764a evdev: Keep latched and locked modifier state when switching keymaps
https://bugzilla.gnome.org/show_bug.cgi?id=725102
2014-02-27 10:59:15 +01:00
Rui Matos a6bd53ec42 evdev: Implement keyboard repeat
The kernel keyboard repeat functionality isn't configurable and
libinput rightfully ignores it.

This implements keyboard repeat in userspace allowing for consumers to
set the initial delay and repeat intervals.

https://bugzilla.gnome.org/show_bug.cgi?id=725102
2014-02-27 10:59:15 +01:00
Rui Matos 133f95fd0d evdev: Add a conditional define guard to expose API
The evdev backend has always been excluded from Clutter's API
stability guarantee though in an informal way. This commit makes it
explicit by forcing users to define CLUTTER_ENABLE_COMPOSITOR_API.

https://bugzilla.gnome.org/show_bug.cgi?id=725102
2014-02-27 10:59:15 +01:00
Rui Matos b9abda52b6 build: Bump required libinput version to the actually released 0.1.0 2014-02-27 10:59:15 +01:00
Jonas Ådahl dacb515e27 evdev: Port evdev input backend to libinput
Instead of having its own evdev input device processing implementation,
make clutter's evdev backend use libinput to do input device processing
for it.

Two GObject parameters of ClutterInputDeviceEvdev (sysfs-path and
device-path) are removed as they are not used any more.

Before ClutterDeviceManagerEvdev had one virtual core keyboard and one
virtual core pointer device. These are now instead separated into seats,
which all have one virtual core keyboard and pointer device respectively.

The 'global' core keyboard and pointer device are the core keyboard and
pointer device of the first seat that is created.

A ClutterInputDeviceEvdev can, as before, both represent a real physical
device or a virtual device, but is now instead created either via
_clutter_input_device_evdev_new() for real devices, and
_clutter_input_device_new_virtual() for virtual devices.

XKB state and button state is moved to the seat structure and is thus
separated per seat. Seats are not a concept exposed outside of clutter's
evdev backend.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=720566
2014-02-27 09:57:29 +01:00
Carlos Garnacho 488639eb63 x11: Avoid invalid ClutterInputDevice pointers in the device list
Due to the way add_device() invariably adds to the master/slave device
lists, while keeping ClutterInputDevices 1:1 with device IDs, it may
leave invalid pointers in the list if add_device() is called multiple
times for the same device ID. There are two situations where this may
happen:

1) If devices are disabled and later enabled: devices are added invariably
   to the master/slave lists on constructed(), but then on XIDeviceEnabled
   they'd get added yet again.
2) Racy cases where the ClutterDeviceManager is created around the same time
   XIHierarchyEvents are sent. When getting the XIDeviceInfo on constructed(),
   these devices may already appear as enabled, even though XIDeviceEnabled
   is seen through XIHierarchyEvents processed in the event loop sortly after.

   This last case can be seen when starting gnome-shell on a different tty,
   and entering in the one it's been spawned on, clutter initialization
   happens around the same time devices are added back because of the tty
   switch, and multiple extra ClutterInputDevices are created.

https://bugzilla.gnome.org/show_bug.cgi?id=724971
2014-02-25 10:18:20 +01:00
Мирослав Николић c4372249e2 Updated Serbian translation 2014-02-24 22:45:32 +01:00
Balázs Úr 856342caad Updated Hungarian translation 2014-02-23 16:29:28 +01:00
Marek Černocký cee480bd1a Updated Czech translation 2014-02-22 13:14:34 +01:00
Aurimas Černius f8cfb5dd07 Updated Lithuanian translation 2014-02-21 22:13:07 +02:00
Rafael Ferreira bde9ea04e0 Updated Brazilian Portuguese translation 2014-02-21 14:52:30 +00:00
Adel Gadllah 2639395533 stage-cogl: Fix buffer_age code path
Currently we where checking whether the damage_history list contains
more or equal then buffer_age entries. This is wrong because we prepend
our current clip to the list just before the check.

Fix that to check whether we have more entries instead of more or equal.

https://bugzilla.gnome.org/show_bug.cgi?id=724788
2014-02-20 12:00:20 +01:00
Emmanuele Bassi 75f2b1c5c2 Post-release version bump to 1.17.5 2014-02-19 13:30:45 +00:00
Emmanuele Bassi 7fe74f58cb Release Clutter 1.17.4 (snapshot) 2014-02-19 13:24:22 +00:00
Emmanuele Bassi 5b3a1f75ca docs: Ignore clutter-test-utils.h
The API is public, because we need it in the conformance test suite, but
it's still a work in progress.
2014-02-19 13:20:41 +00:00