Carlos Garnacho
50eb11a2a0
gdk/wayland: Listen to wl_surface events on tablet cursors
...
And update the surface accordingly (eg. scale on hidpi). The mechanism
that did that for wl_pointer has been made generic so it can be shared
with tablets too.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1675
2019-04-18 19:27:29 +02:00
Matthias Clasen
e8f898508a
Merge branch 'handle-tool-scale-fix' into 'master'
...
gdkdevice-wayland: Update pointer scale on tablet tool proximity events
See merge request GNOME/gtk!582
2019-04-18 16:55:28 +00:00
Matthias Clasen
ecdad20827
wayland: Avoid using uninitialized memory
...
_gdk_wayland_cursor_get_buffer was not initializing
its out variables in the 'not found' case. This
was showing up in protocol traces as garbage hotspots
being sent to the compositor.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1328
2019-04-18 14:27:00 +00:00
Benjamin Otte
0791924bf7
Convert fallthrough comments to G_GNUC_FALLTHROUGH
...
This way it's very obvious that fallthrough is indeed what we want.
Also bump the glib requirement to 2.59 which introduced
G_GNUC_FALLTHROUGH.
2019-04-15 14:40:25 +02:00
Benjamin Otte
98e076b51e
rgba: Add gdk_rgba_parser_parse()
...
This function is a (private) function to parse a GdkRGBA accoridng to
the CSS specs. We should probably use it for gdk_rgba_parse(), but that
would change the syntax we accept there...
This also introduces a dependency of libgdk on libgtkcss.
So far, no users for this function exist.
2019-04-12 19:34:28 +02:00
Benjamin Otte
a938c14d11
build: Add gtk-css static library
...
This library is meant to be the new CSS library that gets used from GDK,
GSK and GTK for string printing and parsing.
As a first step, move GtkCssProviderError into it.
While doing so, split it into GtkCssParserError (for critical problems)
and GtkCssParserWarning (for non-critical problems).
2019-04-12 19:34:28 +02:00
Emmanuele Bassi
f25832455f
vulkan: Add missing enumeration value
...
Vulkan 1.1.97 added VK_ERROR_INVALID_DEVICE_ADDRESS_EXT, and we now must
handle it.
2019-04-12 18:03:22 +01:00
Chris Williams
0bf4c2420d
gdkframeclockidle: Don't permanently skew frame time
...
Since commit 3b2f9395
, the frame time may be set into the future, so
only ensure monotonicity, and don't store the offset. This prevents the
frame time from becoming out of sync with g_get_monotonic_time().
Fixes #1612
2019-04-09 16:26:25 -04:00
Chris Williams
f813bc1823
gdkframeclockidle: Remove unused struct member
...
compute_frame_time() has been using g_get_monotonic_time() instead of
GTimer since commit 7dfa4121
.
2019-04-08 20:37:00 -04:00
Matthias Clasen
d3c0899000
gdk: Fix an indentation mishap
...
Commit f1d61d5515
inadvertedly
destroyed indentation in most of gdksurface.c. Fix this.
2019-04-06 16:48:52 +00:00
Matthias Clasen
624c30ecd2
Drop gdk_wayland_surface_set_use_custom_surface
...
This is unused in GTK, and it does not seem useful
enough to keep around.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1806
2019-04-03 23:23:24 +00:00
Matthias Clasen
64fd5158bf
gdk: Change some async dnd api
...
The pattern we generally follow is to put the
async result right after the source object, in
finish functions. Do this for gdk_drop_read_finish.
2019-04-02 15:11:06 +00:00
Matthias Clasen
8e4e4401c5
gdk: Change some async clipboard api
...
The pattern we generally follow is to put the
async result right after the source object, in
finish functions. Do this for gdk_clipboard_read_finish.
2019-04-02 15:10:53 +00:00
Matthias Clasen
1e372f57f9
Don't mark GDK_SURFACE_STATE_TILED as deprecated
...
I've come to the conclusion that we should keep
this state, since not all backends support per-edge
information. Updated the docs to explain how the
tiled state relates to the per-edge states.
2019-03-29 11:55:58 -04:00
Matthias Clasen
1ea1decfd6
Add a missing include
2019-03-29 11:55:42 -04:00
Matthias Clasen
04dfbf7513
Remove gdk_device_grab/ungrab from public api
...
They are still used internally in gdk, but we no
longer offer them as public api.
2019-03-29 11:31:13 -04:00
Alexander Larsson
5bc8f8826f
broadway: Optionally support data: uris instead of blobs
...
This is nice when you want to make a "screenshot" by using save-as.
Its not going to perform as well though, so you have to enable it
by adding ?datauri to the url
2019-03-29 14:30:13 +01:00
Alexander Larsson
4e7eccbb49
broadway: Report some level of frame timings
...
This is not ideal because we report the time of a full roundtrip, rather
than the presentation time, but its better than nothing, and i'm not sure
how the browser time should be reconciled.
2019-03-29 14:30:13 +01:00
Alexander Larsson
27e47d5df6
broadway: Change events and ops enums to straight ints
2019-03-29 14:30:13 +01:00
Alexander Larsson
7002688398
broadway: More multi-display fixes
...
When doing idle flushing, do so per display rather than a global
and some find_display hack.
2019-03-29 14:30:13 +01:00
Alexander Larsson
54167ec3fa
broadway: Add warning for unexpected roundtrip delays
2019-03-29 14:30:13 +01:00
Alexander Larsson
a966fe1ed5
broadway: Keep track of surface owner and only send input to that client
2019-03-29 14:30:13 +01:00
Alexander Larsson
ab801fe782
broadway: Fix handling of input with multiple in-process GdkDisplays
...
We need each instance to only forward input to the right display.
This make the inspector work better.
2019-03-29 14:30:13 +01:00
Alexander Larsson
b58a366dc6
broadway: Support patching nodes for textures and transforms
2019-03-29 14:30:13 +01:00
Alexander Larsson
f30ba56323
broadway: Reintroduce smarter diffing
...
We now send very minimal diff operations.
2019-03-29 14:30:13 +01:00
Alexander Larsson
4dfe2e6e2f
broadway: Initial restructuring of node tree diffing
...
This goes back to a very naive diff, but that reuses nodes from
previous frames using the node id. This will be a bettter base
to start from.
2019-03-29 14:30:13 +01:00
Alexander Larsson
90c5a5ff6b
broadway: Update broadway_node_type_names
2019-03-29 14:30:13 +01:00
Alexander Larsson
6040a7370c
Broadway: Send configure notify on move/resize too
2019-03-29 14:30:13 +01:00
Alexander Larsson
c8d7b4a79a
broadway: Fix coordinates when drag move/resizeing
...
The x/y passed in are in the surface, not root coords.
2019-03-29 14:30:13 +01:00
Chun-wei Fan
4784c5a980
gdk/win32/gdkdrag-win32.c: Include math.h
...
We need that for round().
2019-03-29 16:50:53 +08:00
Matthias Clasen
f89c93ea8e
Merge branch 'window-api-cleanup' into 'master'
...
GtkWindow api cleanup
See merge request GNOME/gtk!674
2019-03-28 00:14:51 +00:00
Matthias Clasen
bbb6772934
win32: Drop set_role
...
One overlooked (non-)implementation of set_role.
2019-03-27 18:48:59 -04:00
Matthias Clasen
3600d129bf
win32: Add a missing include
...
We are using round() now, so include math.h.
2019-03-27 18:47:56 -04:00
Matthias Clasen
0d43d11387
gdk: Drop gdk_surface_set_role
...
This is a very old X session management thing, and you
will be hard-pressed to find a session manager that can
make use of it, and even harder-pressed to find apps
using it to their advantage.
2019-03-27 17:29:17 -04:00
Matthias Clasen
8ef4e231ec
gdk: Stop implementing set_role
...
All but the X implementation of these were
empty anyway. And the X one is just setting
a property.
2019-03-27 17:29:17 -04:00
Alexander Larsson
9212727f53
broadway: Use css transforms
...
This allows generic transforms nodes to work.
2019-03-27 19:27:16 +01:00
Alexander Larsson
411dc7e138
broadway: Fix leftover dom modification not using display_commands
2019-03-27 14:21:28 +01:00
Matthias Clasen
c0aaa43122
Rename gdk_device_get_surface_at_position_double
...
We can drop the double suffix now.
2019-03-26 18:12:55 -04:00
Matthias Clasen
5935f26a1d
Drop gdk_device_get_surface_at_position
...
It is no longer used.
2019-03-26 18:12:55 -04:00
Matthias Clasen
9021e7d3cd
gdk: Stop using gdk_device_get_surface_at_position
...
We should always use the double variant.
2019-03-26 18:12:55 -04:00
Matthias Clasen
03eb455c93
Rename gdk_device_get_position_double
...
We can drop the double suffix now.
2019-03-26 18:12:55 -04:00
Matthias Clasen
6288043ec2
Drop gdk_device_get_position
...
It is no longer used.
2019-03-26 18:12:55 -04:00
Matthias Clasen
8dece0e940
gdk: Stop using gdk_device_get_position
...
We should always use the double variant of this api.
2019-03-26 18:12:55 -04:00
Matthias Clasen
21580309d3
Rename gdk_surface_get_device_position_double
...
Drop the _double suffix, now that the int version is gone.
2019-03-26 18:12:54 -04:00
Matthias Clasen
f1d61d5515
Drop gdk_surface_get_device_position
...
Not used anymore.
2019-03-26 18:08:39 -04:00
Matthias Clasen
54a969e0ad
gdk: Stop using gdk_surface_get_device_position
...
Use the double variant instead.
2019-03-26 17:55:29 -04:00
Matthias Clasen
d45996c728
Avoid root coordinates in begin_drag/move apis
...
Change the all the begin_drag and begin_move apis in
GdkSurface and GtkWindow to expect surface coordinates.
Update the x11 implementation to translate to root
coordinates where it matters. Wayland is ignoring the
coordinates anyway.
2019-03-26 15:57:11 -04:00
Alexander Larsson
6fce18e1a1
broadway: Remove some spew
2019-03-26 17:09:41 +01:00
Alexander Larsson
cf4226586a
broadway: Load all textures before applying display ops, fixing flickers
2019-03-26 17:07:47 +01:00
Alexander Larsson
0481aa10e7
broadway: Use const use for constants in the js code
2019-03-26 17:07:47 +01:00