Commit Graph

60972 Commits

Author SHA1 Message Date
Matthias Clasen
d4920b9bb5 events: Drop x_root/y_root
We are not using these fields anymore.
2020-02-14 18:23:45 -05:00
Matthias Clasen
e7fe73558b broadway: Stop setting x_root/y_root in events
These fields are not used in GTK anymore, and are
going away soon.
2020-02-14 18:19:13 -05:00
Matthias Clasen
159b7e847f x11: Stop setting x_root/y_root in events
These fields are not used by GTK anymore and
will be going away soon.
2020-02-14 18:18:10 -05:00
Matthias Clasen
ebd9d7b577 x11: Stop relying on root coordinates in events
The X11 dnd code was still using x_root/y_root in
GdkEventMotion in a couple of places. Stop doing so,
these field are going away soon.
2020-02-14 18:17:13 -05:00
Matthias Clasen
bfc51444b7 Remove root coords from the GdkDrop api 2020-02-14 18:16:23 -05:00
Matthias Clasen
9029260d31 wayland: Clean up coordinate handling
Get rid of the get_coordinates function and just
use the structs directly.
2020-02-14 17:46:56 -05:00
Matthias Clasen
8f78a3c417 wayland: Use event constructors
Convert all of Waylands event handling to use the new
constructors.
2020-02-14 17:23:47 -05:00
Matthias Clasen
0167bb7348 gdk: Add event constructors
Add private API to construct events. This is a step towards
making events readonly, and not objects anymore.

The constructors here are sufficient to convert the Wayland
backend over. More may be added for other backends as needed.

Open issues:
 - axes
 - history
2020-02-14 17:23:47 -05:00
Matthias Clasen
b2c317e33a events: Make proximity and scroll events have tools
The Wayland backend tries to set device tools on these
events, and it was just an oversight that they don't
carry them.
2020-02-14 17:00:40 -05:00
Matthias Clasen
e2a6d045e4 wip: pointer crossing events 2020-02-14 17:00:40 -05:00
Matthias Clasen
d9c43f67f2 Add coordinates to handle_crossing
This will be needed for pointer crossing events.
2020-02-14 17:00:40 -05:00
Matthias Clasen
c6d122ccb7 New focus change handling
Instead of relying on gdk's antiquated crossing events,
create a new GtkCrossingData struct that contains the
actual widgets, and a new event controller vfunc that
expects this struct. This also saves us from making sense
of X's crossing modes and details, and makes for a
generally simpler api.

The ::focus-in and ::focus-out signals of GtkEventControllerKey
have been replaced by a single ::focus-change signal that
takes GtkCrossingData as an argument. All callers have
been updated.
2020-02-14 17:00:40 -05:00
Matthias Clasen
1375f35a6b Pass translated coordinates outside the event
We want to make events readonly, so stop translating
their coordinates and instead pass the translated
coordinates separately, when propagating events.
2020-02-14 17:00:40 -05:00
Matthias Clasen
13e8d6f744 Drop gdk_event_set_keyval
It is no longer used.
2020-02-14 17:00:40 -05:00
Matthias Clasen
fad20bcb29 imcontextsimple: Stop creating events
Reshuffle the code slightly to pass around keycodes directly,
instead of recreating key events for that purpose.
2020-02-14 17:00:40 -05:00
Matthias Clasen
04b4b5f6ca wip focus spew 2020-02-14 17:00:40 -05:00
Benjamin Otte
5f7054862b Merge branch 'wip/otte/for-master' into 'master'
Drop GTK_WINDOW_POPUP

See merge request GNOME/gtk!1437
2020-02-14 20:42:11 +00:00
Matthias Clasen
8ef7013165 Drop gdk_surface_new_temp
GTK is not using this API anymore, and we want
to consolidate our surface types to just toplevels
and popups.
2020-02-14 21:20:12 +01:00
Matthias Clasen
723b894c19 testsuite: Stop using gdk_surface_new_temp
We can just use regular toplevels here.
2020-02-14 21:19:29 +01:00
Benjamin Otte
c1f71ee3e8 window: Remove GtkWindowType and window->type
And remove code that was making decisions on the type and just use
the part for toplevels.
2020-02-14 21:18:49 +01:00
Benjamin Otte
222e6e5d6e testsuite: Use GtkTextDirection instead of GtkWindowType
GtkWindowType is aout to be dropped, so use another enum for the enum
tests - one that is likely to survive for a long time.
2020-02-14 21:18:49 +01:00
Benjamin Otte
de49e47690 textview: Fix docs typo 2020-02-14 21:18:49 +01:00
Benjamin Otte
a278edab22 window: Remove type argument from gtk_window_new() 2020-02-14 21:18:49 +01:00
Benjamin Otte
c2bd4bc3cb testsuite: Replace popups with toplevels
The tests do not depend on the window being a popup.
2020-02-14 21:18:49 +01:00
Benjamin Otte
fb856d96cd builder: Use different construct-only property
The window type is going away, so use the css name instead.
2020-02-14 21:18:49 +01:00
Benjamin Otte
264967b764 widget: Add gtk_widget_get_css_name() API 2020-02-14 21:18:49 +01:00
Benjamin Otte
ad23ce23ad testsuite: Remove popup property from simplify tools
I'm not even sure a popup GtkAssistant should be a thing...
2020-02-14 21:18:49 +01:00
Benjamin Otte
41bdf16b23 testsuite: Turn all CSS test ui files into regular windows
Use undecorated windows instead of popups.
2020-02-14 21:18:49 +01:00
Benjamin Otte
2c843362a0 testsuite: Make a11y tests use regular windows 2020-02-14 21:18:49 +01:00
Benjamin Otte
922f9df86f Merge branch 'wip/otte/for-master' into 'master'
reftests: Change popup windows to non-decorated windows

See merge request GNOME/gtk!1435
2020-02-14 17:12:17 +00:00
Benjamin Otte
980934f82d reftests: Change popup windows to non-decorated windows
This allows getting rid of popup windows.
2020-02-14 17:54:38 +01:00
Matthias Clasen
c45ed9d76e Merge branch 'zhaoqiang/gtk-To_avoid_compiler_warning' 2020-02-14 08:47:36 -05:00
Matthias Clasen
b6cb1a6eb3 Merge branch 'master-subtract-base-size' into 'master'
gdk: Subtract base size when checking aspect ratio

See merge request GNOME/gtk!1331
2020-02-14 13:19:42 +00:00
Mohammed Sadiq
22a6aaf4c5 Merge branch 'wip/otte/for-master' into 'master'
slicelistmodel: Fix two wrong computations

See merge request GNOME/gtk!1433
2020-02-14 02:39:21 +00:00
Benjamin Otte
d303b5b0eb slicelistmodel: Fix two wrong computations
Both of those are thinkos during math.
Found by Mohammed Sadiq.

Testcases triggering both have been added.
2020-02-14 03:15:22 +01:00
Matthias Clasen
97ec29d3f5 Force-create style contexts in realize
This is necessary as long as style contexts are
required for proper css change tracking.

Fixes #2435
2020-02-13 21:14:01 -05:00
Emmanuele Bassi
eb2e0137fa Merge branch 'master' into 'master'
Fixed OpenGL extension detection for extensions promoted to OpenGL core.

Closes #2428

See merge request GNOME/gtk!1424
2020-02-13 19:53:33 +00:00
David Hogan
0969d06925 Fix detection of OpenGL 3.3 core GL_ARB_timer_query.
Some systems (notably macOS) will not allow enumeration of an extension that has been promoted to core OpenGL for context in use. This change assumes that GL_ARB_timer_query is available on OpenGL 3.3+.

I could not find definitive information on whether GL_ARB_debug_output or GL_KHR_debug have been added to core. Other extensions in use were addressed by https://gitlab.gnome.org/GNOME/gtk/merge_requests/1422 .
2020-02-14 05:41:01 +11:00
David Hogan
c4111dad31 Fixed OpenGL extension detection for extensions promoted to OpenGL core.
For a given OpenGL context, macOS in particular does not support enumeration / detection of OpenGL features that have been promoted to core OpenGL functionality. It is possible other drivers are the same. This change assumes support for GL_ARB_texture_non_power_of_two with OpenGL 2.0+, GL_ARB_texture_rectangle with OpenGL 3.1+ and GL_EXT_framebuffer_blit with OpenGL 3.0+. I failed to find definitive information on whether GL_GREMEDY_frame_terminator has been promoted to OpenGL core, or whether GL_ANGLE_framebuffer_blit or GL_EXT_unpack_subimage have been promoted to core in OpenGL ES. This change results in a significant GtkGLArea performance boost on macOS.

Closes #2428
2020-02-14 05:41:01 +11:00
Emmanuele Bassi
33c6032a10 Merge branch 'ci-flatpak' into 'master'
CI pipeline changes for Flatpak jobs

See merge request GNOME/gtk!1429
2020-02-13 18:10:29 +00:00
Emmanuele Bassi
9a631f2942 ci: Remove G_MESSAGES_DEBUG
We don't need all the debugging messages.
2020-02-13 17:10:19 +00:00
Emmanuele Bassi
9332abfd5b ci: Allow flatpak jobs to fail
We have more accurate CI jobs, now; the Flatpak jobs are nice to have.
2020-02-13 17:09:35 +00:00
Matthias Clasen
883980c48c Merge branch 'gi-fixes' into 'master'
Various fixes for documentation and introspectable API

See merge request GNOME/gtk!1427
2020-02-13 16:38:41 +00:00
Matthias Clasen
2e0af29839 Make release builds mandatory for ci
The tests are now passing in release builds, lets keep
it that way.
2020-02-13 11:21:15 -05:00
Matthias Clasen
cdee2ac173 testsuite: Handle icontheme test better
Skip just the failing tests in release builds.
2020-02-13 10:56:26 -05:00
Matthias Clasen
a66ed7c461 gsk: Fix the compiler warning differently 2020-02-13 10:42:21 -05:00
Emmanuele Bassi
09abb43628 Merge branch 'report-fixes' into 'master'
Fixes for the CI test reports

See merge request GNOME/gtk!1426
2020-02-13 15:04:04 +00:00
Emmanuele Bassi
de1543d4fa ci: Use per-suite anchors
Anchors are global, so they need to be namespaced.
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
5ed3f8d98b ci: Rearrange the results in the HTML report
Move the failures up top, so they stand out.
2020-02-13 14:55:39 +00:00
Emmanuele Bassi
affc7b58fa ci: Fix the HTML anchor in the report 2020-02-13 14:55:39 +00:00