Carlos Garnacho
f6e471fca4
backends: Add function to lookup the mapping for a given tablet
...
At least for wayland, this needs implementing within mutter. So add
a function to look this setting up.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
1dd121002f
backends: Store mappable devices' info in the hashtable
...
Instead of as closure data. We will need to store (and query) more
per-device info, so access to this struct is necessary.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
526fdca3fb
backends: Map tablets/pads, and wire to configuration vfuncs
...
With this, the left-handed setting works. The other configuration
vfuncs remain empty stubs, but will be correctly applied when those
are handled.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
220ac7c8f2
backends: Add empty stubs for tablet configuration
...
Those will be called when configuring tablets.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
5ea39e0e77
wayland: Implement wp_tablet_tool.hardware_id_wacom
...
We can now fetch this info from the ClutterInputDeviceTool, so
use it to implement this event.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
1c23d4bc51
clutter/evdev: Set tool IDs
2016-07-22 13:31:09 +02:00
Carlos Garnacho
2e6bfa8bae
clutter: Add ClutterInputDeviceTool:id property
2016-07-22 13:31:09 +02:00
Carlos Garnacho
a59170c09f
clutter: Fix ClutterInputDeviceTool:serial setter/getter
...
The argument is internally handled as a uint64, but only exposed in
API as guint.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
aa9b2c5494
configure: Check for libwacom
...
It will be used for some advanced tablet features, which we can't
get solely from libinput.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
c1d157e136
wayland: Add focus management to pads
...
All pads will share the same focus than the keyboard, so this means that:
- The focus changes in-sync for keyboard and all pad devices, and
- Newly plugged pads will be immediately focused on that same surface
2016-07-22 13:31:09 +02:00
Carlos Garnacho
2cd21f1b20
wayland: Add MetaWaylandTabletSeat API to correlate pads/tablets
...
All pads have one tablet, but a tablet may have multiple pads. Add
API to look things up from a MetaWaylandTablet(Pad).
2016-07-22 13:31:09 +02:00
Carlos Garnacho
5ccde659c1
wayland: Add pointer from MetaWaylandTabletSeat to MetaWaylandSeat
...
It will be useful to backreference to the MetaWaylandSeat from tablet
code.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
fd62a1f6ce
wayland: Wire up pad device event management
...
The tablet manager will now lookup the correct MetaWaylandTabletSeat,
and forward the events through it.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
b8808ca24d
wayland: Implement pad management in MetaWaylandTabletSeat
...
Now pads are looked up and notified upon, both on startup and
when plugging a tablet.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
41ff0aaf60
wayland: Implement wp_tablet_pad
...
This object represents the collection of buttons, strips and rings
in a tablet pad. All the objects created (pad, strips and rings)
share a common focus surface and have the same lifetime.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
c5d0791710
wayland: Implement wp_tablet_pad_group
2016-07-22 13:31:09 +02:00
Carlos Garnacho
828277f5e0
wayland: Implement wp_tablet_pad_strip
...
This represents pad sliders.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
e56d6b06cf
wayland: Implement wp_tablet_pad_ring
...
This object represents pad "wheels"
2016-07-22 13:31:09 +02:00
Carlos Garnacho
96aed5fd2e
clutter: Handle pad button events in clutter_event_get_button()
2016-07-22 13:31:09 +02:00
Carlos Garnacho
88c510c38a
clutter/evdev: Translate/emit libinput pad events
2016-07-22 13:31:09 +02:00
Carlos Garnacho
6bcff556b5
clutter/evdev: Handle management of pad devices
2016-07-22 13:31:09 +02:00
Carlos Garnacho
81736b1dea
clutter: Add ::n-rings and ::n-strips property to ClutterInputDevice
...
This will only be practical for pads (and maybe generic buttonsets in
the future?), we just need to know the number as the events will also
contain a number as the identificator.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
cc09ca8892
clutter: Add pad event types
...
And their management along the pipeline.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
d76aa89be9
clutter: Add clutter_event_get_mode_group()
...
This event can be used on pad events to find out the group they
pertain to.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
8cd4b0e11f
clutter: Add pad event structs
...
Those map closely what we get from libinput. Button events have
been made its own separate struct, its semantics fall somewhere
in between of ClutterButtonEvent and ClutterKeyEvent, so is better
emitted as its own set.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
6b08990dcc
clutter: Add "pad" device type
2016-07-22 13:31:09 +02:00
Carlos Garnacho
8b769a3412
wayland: Set an specific role on surfaces passed in wp_tablet_tool.set_cursor
...
This is now separated from the generic cursor one. This means that wl_surfaces
can't be shared across wl_pointer and wp_tablet_tool. This is a change in
tablet protocol v2.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
8d3ac8c3e9
wayland: Add MetaWaylandSurfaceRoleTabletCursor
...
This is a simple subclass of MetaWaylandSurfaceRoleCursor, mostly
so we can distinguish by GType, the methods in the parent class
still apply and are useful.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
074b0d6b2a
wayland: Make MetaWaylandSurfaceRoleCursor derivable
2016-07-22 13:31:09 +02:00
Carlos Garnacho
8e8cdf1873
wayland: Make additional data in MetaWaylandSurfaceRoleCursor private
...
This will help subclassing it.
2016-07-22 13:31:09 +02:00
Carlos Garnacho
72ee6b8b65
wayland: Use wl_fixed_t for angle arguments in wp_tablet_tool
...
This is a change in tablet protocol v2
2016-07-22 13:31:09 +02:00
Carlos Garnacho
3d9bb1cc09
wayland: Use tablet protocol v2
...
This commit merely updates the code generation from the v2 protocol
description.
2016-07-22 13:31:09 +02:00
Jouke Witteveen
4ed59a020d
Throw an error in case of unsupported session type
...
When launching a GNOME session from a text-mode VT, the logind session
type is unlikely to be set to either "wayland" or "x11". We search for a
supported session type first with logind and then with
$XDG_SESSION_TYPE. As a fallback, we also test $DISPLAY in case of a
"tty" logind session to support starting through xinit. Ideally, such
setups should set XDG_SESSION_TYPE=x11.
If no supported session type is found, we throw an error.
https://bugzilla.gnome.org/show_bug.cgi?id=759388
2016-07-22 10:52:04 +08:00
Thomas Hindoe Paaboel Andersen
b5e797f453
MetaSurfaceActorWayland: clean up var assigned to self
...
https://bugzilla.gnome.org/show_bug.cgi?id=769054
2016-07-22 10:44:19 +08:00
Thomas Hindoe Paaboel Andersen
125cba7100
backend: simplify assert
...
We already checked that constraint is non-null.
https://bugzilla.gnome.org/show_bug.cgi?id=769054
2016-07-22 10:44:19 +08:00
Thomas Hindoe Paaboel Andersen
720cbc5e5f
cogl: fix indentation
...
https://bugzilla.gnome.org/show_bug.cgi?id=769054
2016-07-22 10:44:19 +08:00
Jonas Ådahl
ad7ec6b979
main: Fix compilation with wayland disabled
...
https://bugzilla.gnome.org/show_bug.cgi?id=769024
2016-07-21 20:34:28 +08:00
Florian Müllner
991f2d696a
cogl-gles2: Don't leak gles2 types into mutter
...
On i686, the GLsizeiptr typedef in cogl-gles2.h conflicts with the
system GL headers, so make sure we don't include both.
https://bugzilla.gnome.org/show_bug.cgi?id=769014
2016-07-21 00:02:53 +02:00
Florian Müllner
76175a48d5
Bump version to 3.21.4
...
Update NEWS.
2016-07-20 21:14:43 +02:00
Florian Müllner
c8392e025f
tests: Adjust to config.h removal
...
Commit bf71cb2e3c
changed this to use different file names for the
cogl and clutter parts to avoid any confusion.
2016-07-20 21:14:43 +02:00
Florian Müllner
820ffa2781
tests: Drop test that uses removed CoglTexture API
...
Commit 21f2f52269
removed the API to get/set texture format and
rowstride, so drop the corresponding test.
2016-07-20 20:58:21 +02:00
Florian Müllner
51f7892600
tests: Drop tests that use cogl-1.0 path API
...
Commit d62d780a95
dropped the 1.0 version of that API as well
as the 2.0 compatibility layer.
2016-07-20 20:58:20 +02:00
Florian Müllner
de1464f88f
renderer-native: Adjust to StageView memory handling changes
...
ClutterStageView now takes ownership of the :framebuffer property,
so we need to release our own reference.
2016-07-20 20:58:20 +02:00
Florian Müllner
aebd5ba6e0
stage-view: Fix memory handling of :framebuffer property
...
Currently the setter doesn't take ownership of the value, but dispose()
will unref it (and thus release someone else's reference). Fix this by
taking ownership of the property value in the setter.
2016-07-20 20:04:27 +02:00
Florian Müllner
a310ba7649
build: Dist cogl-mutter/cogl-clutter headers
2016-07-20 14:30:57 +02:00
Rui Matos
daf5a112fb
meta/boxes: typedef cairo_rectangle_int_t MetaRectangle
...
They are already effectively interchangeable so this should reduce
pointless casts.
Just like in GDK though, we need to keep the old definition for
instrospection to be able to include the struct's fields.
2016-07-20 14:11:25 +02:00
Florian Müllner
0745734ba5
clutter: Fix a compiler warning
...
There's no need for a cast for printing an object's type or address,
so we can remove variables that are unused when not building with
CLUTTER_ENABLE_DEBUG.
2016-07-20 13:03:48 +02:00
Jonas Ådahl
a75e2ace82
Revert "main: Add --x11 command line argument"
...
This reverts commit feb4c36659
.
2016-07-20 17:45:18 +08:00
Jonas Ådahl
f18e2a8c31
Fix out-of-tree building
...
We included generated cogl headers and non-generated clutter headers
from mutter, while only having added include paths for the opposite.
2016-07-20 16:17:22 +08:00
Jonas Ådahl
ff6186f1ec
clutter: Add capture API for reading stage pixels
...
clutter_stage_capture should be used instead of directly utilizing
cogl's read_pixels API's.
https://bugzilla.gnome.org/show_bug.cgi?id=768978
2016-07-20 14:23:48 +08:00