Matthias Clasen
52578945bd
Wayland: Fix various compiler warnings
...
Mostly missing declarations, missing statics and unused functions.
2014-09-05 20:41:06 -04:00
Carlos Garnacho
a0abdbbdd6
wayland: Reference pixmap-based cursors' surface before handing the wl_buffer
...
cairo_surface_destroy() is called after the buffer is released, for every
wl_buffer. Windows usually reference their cairo surface before rendering,
so that extra reference is consumed after the buffer is released, so do
the same with cursor surfaces and add an extra reference whenever a cursor
surface change is about to be scheduled.
Otherwise, the GdkWaylandCursor is left with an invalid cairo_surface_t,
which causes crashes the next time it is used.
https://bugzilla.gnome.org/show_bug.cgi?id=735830
2014-09-01 20:46:29 +02:00
Jasper St. Pierre
a07fc2f85d
wayland: Remove overly complex cursor cache
2014-08-10 12:34:56 -04:00
Jasper St. Pierre
72e9937e00
wayland: Remove unused stuff
2014-05-16 15:24:37 -04:00
Jasper St. Pierre
8201e2bfab
wayland: Merge buffer implementations
2014-04-12 08:20:33 -07:00
Matthias Clasen
87257342de
Fix a crash with scaled cursors on Wayland
...
We need to initialize cursor->surface.scale to 1, since we
are dividing by it in _gdk_wayland_cursor_get_buffer.
2013-08-11 15:38:25 -04:00
Alexander Larsson
b2113b7384
gdk: Add gdk_cursor_new_from_surface
...
We need this to be able to handle scaled cursor images.
We implement the new _from_pixbuf by converting to a surface and
assuming the scale was 1.
2013-08-07 13:34:10 +02:00
Alexander Larsson
71fe43543c
gdk: Add gdk_cursor_get_surface()
...
We want a surface so we can properly represent the scale factor for it.
All backends are converted to use surfaces and we reimplement the
backwards compat code in the generic code.
2013-08-07 13:34:10 +02:00
Chris Cummins
6deff39f74
wayland: Use more explicit out parameter names
...
Prevent confusion between positional values and hotspot values.
Signed-off-by: Rob Bradford <rob@linux.intel.com>
2013-04-09 12:52:56 +01:00
Chris Cummins
b8ed3e9ef5
wayland: Implement animatable cursors
...
Cursor animations are handled on a per-device basis, with
GdkWaylandDevice updating the pointer surface for each frame.
https://bugzilla.gnome.org/show_bug.cgi?id=696429
2013-03-28 10:33:57 -04:00
Chris Cummins
4801977d80
wayland: Do not free wayland cursor buffers
...
The cursor buffer is only non-null when a cursor is created from pixbuf,
so it is not necessary to keep track of whether to free this buffer on
finalize.
2013-03-28 10:33:57 -04:00
Chris Cummins
c022cbae0d
wayland: Differentiate wayland and pixbuf cursors
...
By keeping a pointer to the wl_cursor struct in GdkWaylandCursor, it is
no longer necessary to duplicate cursor data (width, height, hotspots,
etc.) between wl_cursor and GdkWaylandCursor.
2013-03-28 10:33:57 -04:00
Matthias Clasen
c6d95a7bdc
wayland: remove an unused variable
2013-03-23 17:29:28 -04:00
Matthias Clasen
c61956c592
wayland: Implement cursor theme changing
...
Add gdk_wayland_display_set_cursor_theme and implement it.
2013-03-22 20:30:51 -04:00
Matthias Clasen
37843faea9
wayland: Avoid segfault when cursors are freed
...
The check for GDK_CURSOR_IS_PIXMAP was ineffective, since _all_
cursors have this type, from the looks of it. Instead, store
buffer ownership information separately.
2013-03-22 19:09:20 -04:00
Thomas Hindoe Paaboel Andersen
c5145421af
wayland: complete cursor_for_pixbuf
...
Finishes the implementation for loading cursors from pixbufs.
Gnome bug #696223
2013-03-21 18:00:23 -04:00
Kristian Høgsberg
62eb5d0358
wayland: Add a cursor cache
...
We avoid creating a new GdkCursor object every time
_gdk_wayland_display_get_cursor_for_name/type() is called.
2013-03-20 22:56:50 -04:00
Thomas Wood
6657479c72
wayland: avoid returning NULL when getting a cursor
...
https://bugzilla.gnome.org/show_bug.cgi?id=693257
2013-02-06 16:56:44 +00:00
Thomas Wood
4f6d535626
wayland: use the GdkCursorType enum information to lookup the cursor name
...
Use the enum information to generate the cursor name rather than using a
lookup table.
https://bugzilla.gnome.org/show_bug.cgi?id=693256
2013-02-06 16:56:44 +00:00
Rob Bradford
93a338245a
wayland: Switch to new wayland cursors mechanism
2012-07-12 15:58:38 +01:00
Rob Bradford
55261f4e3f
wayland: Improve error message handling in cursor buffer code
2012-04-25 12:00:40 +01:00
Rob Bradford
fc58ff1e6a
wayland: Rename GdkDisplayWayland to GdkWaylandDisplay
...
This makes it consistent with the functions in the vtable and also consistent
with other backends.
2012-04-17 14:11:31 +01:00
Javier Jardón
9d0febc9a6
Change FSF Address
2012-02-27 17:06:11 +00:00
Rob Bradford
9e29ef5f3b
wayland: Update to new SHM buffer format type
2012-01-13 11:36:36 +00:00
Kristian Høgsberg
e2dd95aced
wayland: The shared cursors are now installed in the weston directory
...
Signed-off-by: Rob Bradford <rob@linux.intel.com>
2012-01-06 15:12:14 +00:00
Rob Bradford
83054baa16
wayland: Load cursors from wayland directory under XDG_DATA_DIRS
...
This means we don't have to have hardcoded "/usr/share/wayland" to find the
cursors.
This change also fixes up the warning messages for when loading fails.
2011-12-09 18:22:01 +00:00
Kristian Høgsberg
0dd1f7edbc
wayland: Update to recent API changes
2011-12-02 05:41:43 -05:00
Scott Moreau
24f1132671
Track wayland protocol changes.
2011-06-23 07:06:35 -04:00
Kristian Høgsberg
0e1041a8af
wayland: Add another cursor (left-ptr)
2011-03-01 11:32:05 -05:00
Kristian Høgsberg
c3955ea0c2
wayland: Add a few more cursors
2011-02-10 14:08:53 -05:00
Kristian Høgsberg
f7f1b59e05
wayland: Handle blank cursor
2011-02-10 10:49:09 -05:00
Kristian Høgsberg
3ef3433511
wayland: Support setting cursors
...
And a handful unrelated cleanups. Still doesn't really have an answer
for cursor themes.
2011-02-09 14:48:31 -05:00
Kristian Høgsberg
590f3dfa1f
Add Wayland backend
2011-02-05 16:11:54 -05:00