Commit Graph

636 Commits

Author SHA1 Message Date
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
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
2662788bbc build: Add -Werror=logical-op
Caught a couple of checks that evaluated to always true.

https://bugzilla.gnome.org/show_bug.cgi?id=711540
2014-02-10 17:43:16 +00:00
Emmanuele Bassi
762e9a05e4 Bump the Cogl dependency
In order to build the cookbook examples, we need a version of Cogl-Path
that correctly exports all its symbols; this has been fixed in Cogl only
after the 1.17.2 snapshot was made.
2014-01-23 12:45:48 +00:00
Emmanuele Bassi
f1ffbd50b7 Post-release version bump to 1.17.3 2014-01-23 12:45:20 +00:00
Emmanuele Bassi
a5b04f58a0 Release Clutter 1.17.2 2014-01-23 12:28:19 +00:00
Emmanuele Bassi
b7b09bd0ce Check for cairo_surface_set_device_scale()
Like gtk+, we don't want to bump the dependency of Clutter for that
function alone.

https://bugzilla.gnome.org/show_bug.cgi?id=705915
2014-01-20 12:26:46 +00:00
Emmanuele Bassi
2a660fa298 Fully rework the conformance test suite
The current conformance test suite is suboptimal in many ways.

All tests are built into the same binary, which makes adding new tests,
builting tests, and running groups of tests much more awkward than it
needs to be. The first issue, especially, raises the bar of contribution
in a significant way, while the other two take their toll on the
maintainer. All of these changes were introduced back when we had both
Clutter and Cogl tests in tree, and because we were building the test
suite for every single change; since then, Cogl moved out of tree with
all its tests, and we build the conformance test suite only when running
the `check` make target.

This admittedly large-ish commit changes the way the conformance test
suite works, taking advantage of the changes in the GTest API and test
harness.

First of all, all tests are now built separately, using their own test
suite as defined by each separate file. All tests run under the TAP
harness provided by GTest and Automake, to gather a proper report using
the Test Anything Protocol without using the `gtester` harness and the
`gtester-report` script. We also use the Makefile rules provided by GLib
to vastly simplify the build environment for the conformance test suite.

On top of the changes for the build and harness, we also provide new API
for creating and running test suites for Clutter. The API is public,
because the test suite has to use it, but it's minimal and mostly
provides convenience wrappers around GTest that make writing test units
for Clutter easier.

This commit disables all tests in the conformance test suite, as well as
moving the data files outside of the tests/data directory; the next few
commits will re-establish the conformance test suite separately so we
can check that everything works in a reliable way.
2013-12-12 18:51:11 +00:00
Robert Bragg
d4aed66821 Check for cogl-path as a separate package
In Cogl 1.17 libcogl-path has been split out from libcogl and now has
its own corresponding cogl-path-1.0 pkg-config file which we check for
during build configuration.

Note: this bumps the required cogl version up to 1.17.1
2013-12-11 18:53:44 +00:00
Rui Matos
3cd9a70fea device-manager-evdev: Stop using deprecated libevdev API
Fixes compiler warnings with libevdev >= 0.4 and makes use of a new
function to set the clock id instead of doing the ioctl directly.

https://bugzilla.gnome.org/show_bug.cgi?id=712816
2013-11-21 19:34:15 +01:00
Emmanuele Bassi
45f30d221f New release cycle, new interface age 2013-11-21 13:23:00 +00:00
Emmanuele Bassi
492291d629 Bump up the dependency on Cogl 2013-11-21 13:22:59 +00:00
Emmanuele Bassi
09c06d08ca docs: Remove mentions of XFixes dependency
Clutter does not use nor depend on XFixes any more.
2013-11-21 13:22:59 +00:00
Jasper St. Pierre
0fda81feab Remove use of XFixes for showing/hiding the cursor
XFixesShowCursor / XFixesHideCursor does not actually take the suppled
window argument into account -- the effect is actually global. Use
XDefineCursor instead.

https://bugzilla.gnome.org/show_bug.cgi?id=707071
2013-11-14 18:34:40 +00:00
Emmanuele Bassi
ef7ad913da Bump up version to 1.17.1 2013-11-14 18:34:39 +00:00
Emmanuele Bassi
18f71891ce Post-release version bump to 1.16.1 2013-09-24 00:56:40 +01:00
Emmanuele Bassi
eae876c44e Release Clutter 1.16.0 2013-09-24 00:45:33 +01:00
Emmanuele Bassi
c3711d302f Post-release version bump to 1.15.97 2013-09-20 11:15:09 +01:00
Emmanuele Bassi
aad96558ae Release Clutter 1.15.96 (snapshot) 2013-09-20 11:06:03 +01:00
Emmanuele Bassi
c03f7727f7 Post-release version bump to 1.15.95 2013-09-19 23:10:50 +01:00
Emmanuele Bassi
fbf8d9c66a Release Clutter 1.15.94 (snapshot) 2013-09-19 22:58:43 +01:00
Giovanni Campagna
cd1749a2a5 evdev: switch to libevdev for fetching the events
libevdev is a library that wraps the evdev subsystem, with
the ability to synchronize the state after a SYN_DROPPED event
from the kernel.

https://bugzilla.gnome.org/show_bug.cgi?id=706494
2013-09-09 13:24:19 +02:00
Emmanuele Bassi
c141bda460 Post-release version bump to 1.15.93 2013-09-02 23:59:14 +01:00
Emmanuele Bassi
d38e7127fe Release Clutter 1.15.92 (snapshot) 2013-09-02 23:40:41 +01:00
Emmanuele Bassi
8f88ada0c6 build: Depend on Cogl 1.15.9
The laxy texture allocation has been removed from Cogl 1.15, so we need
to depend on the new developers snapshot.
2013-09-02 17:06:03 +01:00
Emmanuele Bassi
f3f0dff16a Revert "Depend on the cogl-path-1.0 pkg-config file"
This reverts commit b6fc4a810f.

It seems that the Cogl/Cogl-Path split was not meant to break API/ABI,
so we should not check for a new dependency. Let's revert the commit,
and wait for Cogl to get fixed instead.
2013-08-20 11:26:11 +01:00
Emmanuele Bassi
b6fc4a810f Depend on the cogl-path-1.0 pkg-config file
The CoglPath API has been split from the main Cogl SO, and we need to
add it as a dependency.

https://bugzilla.gnome.org/show_bug.cgi?id=706367
2013-08-20 10:54:52 +01:00
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
97bf60f6ec Show if we are installing the tests in the configure summary 2013-08-19 23:22:38 +01:00
Jasper St. Pierre
e38ea7a20f x11: Remove support for XInput 1
Now we either use core X11 or XInput 2.

https://bugzilla.gnome.org/show_bug.cgi?id=703969
2013-07-11 14:03:43 -04:00
Neil Roberts
2db5ae56cf Bump the required Cogl version to 1.15.1
The unstable Wayland API which Clutter is using has changed so it will
soon no longer build with Cogl 1.14 when Wayland support is enabled.

https://bugzilla.gnome.org/show_bug.cgi?id=703877
2013-07-10 13:28:11 +01:00
Emmanuele Bassi
dfe6198563 Post-release version bump to 1.15.3 2013-07-10 13:24:12 +01:00
Emmanuele Bassi
88f6bcdf73 Release Clutter 1.15.2 (snapshot) 2013-07-10 12:32:25 +01:00
Emmanuele Bassi
13e3fc286d build: Bump up the GLib dependency
We need the new macros for declaring private instance data.
2013-07-03 14:01:36 +01:00
Emmanuele Bassi
1fb0295ba1 build: Enable Cogl support with Wayland
The Wayland backend is based on Cogl, so we need to turn on the
SUPPORT_COGL flag to avoid breaking the build; this always went
unnoticed because we usually build the Wayland client backend
with the X11 backend.

Reported-by: Ross Burton <ross.burton@intel.com>
2013-06-27 16:42:40 +01:00
Matthias Clasen
e98f32b7c8 Install conformance tests
Install the conformance tests, and metadata to run them
with gnome-desktop-testing-runner.

https://bugzilla.gnome.org/show_bug.cgi?id=702941
2013-06-23 23:28:19 -04:00
Emmanuele Bassi
75702fde4d Bump the requirement for Cogl to its stable release 2013-04-04 11:53:38 +01:00
Emmanuele Bassi
197eae2e00 build: Disable debugging code in stable releases
Pretty much what GLib and GTK+ do, and the 1.x cycle has gone on for a
while, now.
2013-03-13 15:05:27 -03:00
Emmanuele Bassi
e72d27815b build Bump to 1.15.1
In theory, master should become 1.99 at some point, but if we do that
all Hell breaks loose, so let's use 1.15 for the time being.
2013-03-04 12:24:23 +00:00
Adel Gadllah
3f9ae47029 build: Bump cogl requirement
This is needed for the buffer_age changes.
2013-02-06 21:31:01 +01:00
Emmanuele Bassi
f7f2635fbf Post-release version bump to 1.13.3 2012-12-18 01:57:23 +00:00
Emmanuele Bassi
790ecbaf94 Release Clutter 1.13.2 2012-12-18 01:40:39 +00:00
Rob Bradford
4316592c2f wayland: Add wayland-client to pkg-config flags 2012-10-12 18:42:55 +01:00
Emmanuele Bassi
834c18c3fd Post-branch version bump to 1.13.1 2012-10-05 17:37:48 +01:00
Emmanuele Bassi
ab011c44ac Post-release version bump to 1.12.1 2012-09-24 17:46:10 +01:00
Emmanuele Bassi
075aa21b3a Release Clutter 1.12.0 2012-09-24 17:27:05 +01:00
Emmanuele Bassi
26eb599997 Post-release version bump to 1.11.17 2012-09-17 22:59:11 +01:00
Emmanuele Bassi
ec96435f2f Release Clutter 1.11.16 (snapshot) 2012-09-17 22:48:44 +01:00
Emmanuele Bassi
2ed703cf06 Post-release version bump to 1.11.15 2012-09-03 22:48:52 +01:00
Emmanuele Bassi
9019a3754f Release Clutter 1.11.14 (snapshot) 2012-09-03 22:34:52 +01:00
Emmanuele Bassi
7b89b5de8c Post-release version bump to 1.11.13 2012-08-20 20:31:07 +01:00
Emmanuele Bassi
062491cf11 Release Clutter 1.11.12 (snapshot) 2012-08-20 19:41:36 +01:00
Emmanuele Bassi
b58f00cb9a Post-release version bump to 1.11.11 2012-08-07 09:58:23 +01:00
Emmanuele Bassi
8b2d70e6e4 Release Clutter 1.11.10 (snapshot) 2012-08-07 09:45:58 +01:00
Emmanuele Bassi
81cbb33cc5 build: Some warnings should always stop compilation
Not every single one, but things that we care about to avoid breaking
build on other platforms, or for security issues, should not be allowed.

We should not force everyone to use -Werror, though; and we should still
allow building Clutter without any special flag.
2012-07-30 10:54:18 +01:00
Emmanuele Bassi
9f83b64182 build: Move config.h under clutter/
We should not have header files in the project root.
2012-07-30 10:54:18 +01:00
Emmanuele Bassi
d3870c64ea Post-release version bump to 1.11.9 2012-07-16 19:11:53 -04:00
Emmanuele Bassi
46694f6c61 Release Clutter 1.11.8 2012-07-16 19:00:26 -04:00
Alejandro Piñeiro
a8c829019f a11y: remove implementation for [add/remove]_global_event_listener
Since release 2.5.3, ATK provides an implementation for those
methods, so toolkits doesn't need to implement them.
2012-06-27 14:40:56 +02:00
Emmanuele Bassi
5e5295ab13 Post-release version bump to 1.11.7 2012-06-25 23:59:39 +01:00
Emmanuele Bassi
0ab74e52da Release Clutter 1.11.6 2012-06-25 23:52:07 +01:00
Emmanuele Bassi
5eb3fbf3cf build: Add coverage support using lcov
Unlike gcov, lcov provides a nice HTML output that allows immediate
visualization of the current coverage.

The updates of the build system have been taken from GLib, which has
been using lcov for a while with good results.
2012-06-19 14:55:10 +01:00
Emmanuele Bassi
c4acae7752 build: Remove gcov from the build
We want to switch to lcov, so let's start with a clean slate.
2012-06-19 14:55:10 +01:00
Tomeu Vizoso
b339b845cb tests: Add unit test for touch event handling
For now, it just generates a simple horizontal slide (by writing
to /dev/uinput) and checks that the stage gets the events at the
expected coordinates.

The test won't run if it doesn't have read/write permissions to
/dev/uinput.

It also adds OS_LINUX to config.h.
2012-06-07 12:12:56 +02:00
Emmanuele Bassi
784730db98 Post-release version bump to 1.11.5 2012-06-05 19:52:13 +01:00
Emmanuele Bassi
1d1cac02c0 Release Clutter 1.11.4 (snapshot) 2012-06-05 19:40:14 +01:00
Emmanuele Bassi
97563b640e build: Fix BUILD_TESTS condition check 2012-05-02 11:59:50 +01:00
Emmanuele Bassi
704928a807 build: Allow disabling all tests and examples
This should allow nicer build automation and cross-compilation support.

The former --disable-conformance configure switch has been deprecated by
the --disable-tests one, which is more encompassing as it disables the
whole test suite.
2012-05-01 19:09:47 +01:00
Emmanuele Bassi
07c95ebf0c Move examples from tests/interactive to a new top-level
The example code that is meant to be XIncluded into the API reference
should not be part of the interactive test suite: it's code that it is
meant to be used as a reference implementation - whereas the interactive
test suite should be allowed to be lean and test behaviour even in nasty
ways. In short: the test suite should not be the place where we show off
idiomatic code for educational purposes.
2012-05-01 19:00:35 +01:00
Emmanuele Bassi
64841d6498 Post-release version bump to 1.11.3 2012-05-01 14:04:37 +01:00
Emmanuele Bassi
c1d2298e30 Release Clutter 1.11.2 2012-05-01 13:58:34 +01:00
Peter Hutterer
a66fbd258e Rename XINPUT_2_2 define to HAVE_XINPUT_2_2
configure.ac defines XINPUT_2_2 if XI 2.2 support was found. The code
expects XINPUT_2_2 in the device manager, but HAVE_XINPUT_2_2 in the x11
backend.

On newer X servers, the latter causes a BadValue when XIQueryDevice sends a
different major/minor than gdk's device manager (gnome-control-center).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

https://bugzilla.gnome.org/show_bug.cgi?id=673961
2012-04-12 11:31:29 +01:00
Rob Bradford
2d48e6e3e4 build: Bump pango dependency to 1.30
Clutter now uses pango_layout_get_character_count() which was added in 1.30.
2012-04-11 11:56:11 +01:00
Emmanuele Bassi
ea68ccf703 build: Remove -Waggregate-returns 2012-04-04 15:33:05 +01:00
Neil Roberts
04f2be34b2 configure: Fix the -o operator in a call to test
The disjunction operator was misspelt as -O which tests whether the
following file is owned by the calling user. This doesn't take enough
arguments so bash was showing an error and the test was always
failing. This meant that NEED_XKB_UTILS was always false which should
have broken the build but the Makefile was mistakenly including
clutter-xkb-utils.c again if SUPPORT_WAYLAND is defined.

See 1b77565e for reference.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2012-03-23 16:42:35 +00:00
Emmanuele Bassi
4316a85c16 build: Remove disabling Clutter's deprecation warnings while building it
Now that we have deprecation warnings and not full on symbol removal
from the headers, we can just skip Clutter's own, and use only GLib's.
2012-03-23 11:03:23 +00:00
Rico Tzschichholz
27022c6b06 build: Remove superfluous ',' 2012-03-21 14:01:33 +01:00
Emmanuele Bassi
f339d8a4f3 Post-branching version bump to 1.11.1 2012-03-20 10:22:26 +00:00
Emmanuele Bassi
03c504efc9 Post-release version bump to 1.9.17 2012-03-19 15:23:08 +00:00
Emmanuele Bassi
aa6ba2c706 Release Clutter 1.9.16 (1.10 release candidate 1) 2012-03-19 15:10:04 +00:00
Emmanuele Bassi
4fcd320255 Check for XInput 2.2 extension 2012-03-19 12:13:01 +00:00
Emmanuele Bassi
6cb94b2de2 build: Check for gdk-pixbuf
Some tests may need to load image data without going through
ClutterTexture or Cogl, so let's add a configure switch and a
conditional for gdk-pibxuf.
2012-03-16 12:33:38 +00:00
Emmanuele Bassi
945caff989 Bump up the GDK dependency
Commit ac6ce79aa3 introduced a dependency
on the latest GDK symbols, so we need to bump up the required version of
GDK.
2012-03-12 14:28:22 +00:00
Emmanuele Bassi
90e5088a51 build: Increase the anal-retentiveness of the maintainer flags
The new rules have already caught a couple of issues.
2012-03-07 12:36:43 +00:00
Emmanuele Bassi
afda0c955e Post-release version bump to 1.9.15 2012-03-05 23:57:01 +00:00
Emmanuele Bassi
59affd8088 Release Clutter 1.9.14 (snapshot) 2012-03-05 23:45:40 +00:00
Robert Bragg
1b77565e63 configure: Adds xkb-utils automake conditional
This adds a NEEDS_XKB_UTILS automake conditional that's set to true if
either the wayland backend is enabled or the evdev input backend is
enabled since they both depend on clutter-xkb-utils.c and we need
to avoid listing the file twice since that leads to duplicate symbols
and the build fails.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2012-03-01 11:41:51 +00:00
Robert Bragg
3839cf13a2 configure: fix --enable-evdev-input documentation
The --help documentation for ./configure was listing a spurious
--with-evdev option when it should list --enable-evdev-input.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2012-03-01 11:41:50 +00:00
Emmanuele Bassi
fde094dce2 build: Remove clutter-version.h.win32.in
The clutter-version.h header file is now completely generic, and does
not need to be masked by a Windows-specific header when building under
MSVC.
2012-02-29 15:20:58 +00:00
Emmanuele Bassi
eb42127cf0 Require GLib ≥ 2.31.19
For the new deprecation and versioning macros.
2012-02-27 14:35:53 +00:00
Emmanuele Bassi
8f0003f6f0 Post-release version bump to 1.9.13 2012-02-23 12:15:41 +00:00
Emmanuele Bassi
12d74cebb9 Release Clutter 1.9.12 (snapshot) 2012-02-23 12:04:29 +00:00
Emmanuele Bassi
115f6ee008 build: Bump up Cogl dependency
We use the latest stable snapshot.
2012-02-23 11:44:21 +00:00
Emmanuele Bassi
f770cce7a5 build: Fix platform_linux check
Missing * at the end.

As a side effect, this commit enables the ABI check when running make
check inside the clutter/ directory.
2012-02-10 12:26:43 +00:00
Emmanuele Bassi
92f6b520cb build: Identify the Linux hosts
This gives us a nice conditional, like the one we have on Windows and
OSX.
2012-02-09 18:41:19 +00:00
Robert Bragg
bace07c0a0 Updates use of Cogl in line with api changes
Some of Cogl's experimental apis have changed so that the buffer apis
now need to be passed a context argument and some drawing apis have been
replaced with cogl_framebuffer_ drawing apis that take explicit
framebuffer and pipeline arguments.

These changes were made as part of Cogl moving towards a more stateless
api that doesn't rely on a global context.

This patch updates Clutter to work with the latest Cogl api and bumps
the required Cogl version to 1.9.5.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
Reviewed-by: Neil Roberts <neil@linux.intel.com>
2012-02-09 16:34:25 +00:00
Emmanuele Bassi
de64ccb451 Post-release version bump to 1.9.11 2012-02-06 16:45:15 +00:00
Emmanuele Bassi
0d7ec670f1 Release 1.9.10 (snapshot) 2012-02-06 16:40:00 +00:00