Christoph Reiter
26e2af26ed
macos: export gdk_quartz_drag_source_context()
...
It's used in the gtk dnd code but not exported in gdk.
Append a "_libgtk_only" suffix as with other internal exports and
export the symbol.
See #32
2018-03-01 14:36:44 +01:00
Christoph Reiter
94d6d56913
macos: Fix gdk_quartz_drag_context_get_dragging_info_libgtk_only symbol export
...
The header got included without config.h being included first which resulted in the
wrong _GDK_EXTERN macro being used. As a result some symbols weren't exported
and starting a DnD action would crash in the linker.
This patch adds config.h includes in all places where clang complained about
_GDK_EXTERN redefinitions.
See #32 for more info.
2018-02-27 20:04:34 +01:00
Tom Schoonjans
ffa85a41d0
gdkquartz.h: export pasteboard functions
2018-02-16 12:16:02 +00:00
Matthias Clasen
4c150d8eb5
The big versioning cleanup
...
Remove all the old 2.x and 3.x version annotations.
GTK+ 4 is a new start, and from the perspective of a
GTK+ 4 developer all these APIs have been around since
the beginning.
2018-02-06 01:16:32 -05:00
Emmanuele Bassi
bfcb978079
Drop the last mentions of motion hint events
...
The GDK_POINTER_MOTION_HINT_MASK enumeration value is gone, but we're
still keeping around the "is_hint" field in GdkEventMotion, even though
every backend sets it to `false` — except for the core X11 device
manager.
2018-02-05 14:00:51 +00:00
Emmanuele Bassi
888dfe499d
Drop the Big GDK Lock
...
GDK has a lock to mark critical sections inside the backends.
Additionally, code that would re-enter into the GTK main loop was
supposed to hold the lock.
Back in the Good Old Days™ this was guaranteed to kind of work only on
the X11 backend, and would cause a neat explosion on any other GDK
backend.
During GTK+ 3.x we deprecated the API to enter and leave the critical
sections, and now we can remove all the internal uses of the lock, since
external API that uses GTK+ 4.x won't be able to hold the GDK lock.
https://bugzilla.gnome.org/show_bug.cgi?id=793124
2018-02-03 12:07:10 +01:00
Emmanuele Bassi
334acbfc39
Replace gdk_threads_add_idle* with g_idle_add()
...
The main GDK thread lock is not portable and deprecated.
The only reason why gdk_threads_add_idle() and
gdk_threads_add_idle_full() exist is to allow invoking a callback with
the GDK lock held, in case 3rd party libraries still use the deprecated
gdk_threads_enter()/gdk_threads_leave() API.
Since we're removing the GDK lock, and we're releasing a new major API,
such code cannot exist any more; this means we can use the GLib API for
installing idle callbacks.
https://bugzilla.gnome.org/show_bug.cgi?id=793124
2018-02-03 12:06:58 +01:00
Benjamin Otte
3e0fab6b93
dnd: Remove 2 vfuncs that aren't needed
...
They're only used inside the X11 backend, and the backend can just call
its own function.
2018-01-31 13:21:26 +01:00
Matthias Clasen
e92c0e85ec
Replace gdk_keymap_get_for_display by gdk_display_get_keymap
...
Replace all uses of the old function by the new one.
No functional change.
2017-12-15 07:44:58 -05:00
Benjamin Otte
5d70bbf4c4
display: Remove leftover old clipboard APIs
2017-12-14 13:35:32 +01:00
Matthias Clasen
54a6273191
Drop gdk_atom_intern
...
Atoms are just interned strings now, so we can just
use g_intern_string.
2017-12-13 23:39:03 -05:00
Matthias Clasen
4c083c1ed4
Drop gdk_atom_name
...
Since atoms are just interned strings now, we can just
cast them to const char * where needed.
2017-12-13 23:26:23 -05:00
Benjamin Otte
b49a9b9933
dnd: Remove gdk_drag_get_selection()
...
Without selections, drags can't have them either.
Also included is removing the selection from GtkSelectionData.
Includes a bunch of crude cleanups to Wayland code that no longer has to
care about selection atoms.
2017-12-14 04:39:22 +01:00
Benjamin Otte
65fcff87b2
gdk: Remove ability to request selection notifications
...
Without selections, that's kinda pointless.
2017-12-14 04:20:48 +01:00
Benjamin Otte
f2bb2024c8
gdk: Remove properties
...
They are not used anymore.
Gone with them are PropertyNotify events.
2017-12-14 03:05:34 +01:00
Benjamin Otte
a4b42f0b73
gdk: Remove selection defines
...
And with it, remove the selections section from the docs.
So selections are gone for good now.
2017-12-14 03:05:34 +01:00
Benjamin Otte
54f9aef0d4
gdk: Remove gdk_selection_convert()
...
It's not used anymore.
2017-12-14 00:44:26 +01:00
Benjamin Otte
4042d5f242
gdk: Remove ability to own a selection
...
With this, the GDK_EVENT_SELECTION_REQUEST and GDK_EVENT_SELECTION_CLEAR
and the associated GtkWidget signals are gone, too.
2017-12-13 23:39:02 +01:00
Benjamin Otte
b66052f3ce
gdk: Remove gdk_selection_add_targets()
...
It's not needed anymore, now that we can look at the content provider's
formats.
Alose remove all the API in GTK that was used to set it.
2017-12-13 19:27:51 +01:00
Benjamin Otte
218efa62ef
dnd: Pass dx/dy instead of x_root/y_root
...
This way, we don't need root coordinates when computing the dnd start
position.
2017-12-11 01:02:31 +01:00
Benjamin Otte
0d31eb8670
dnd: Add gdk_drag_context_get_display()
...
Also turn it into a readable, construct-only property.
Every GDK object should have this. (Apart from GdkDisplay, obviously.)
2017-12-10 01:09:14 +01:00
Matthias Clasen
1471c64fb2
quartz: Stop deriving from GdkDeviceManager
...
We can just derive from GObject.
2017-11-25 11:04:15 -05:00
Matthias Clasen
fd958939be
Drop the GdkDeviceManager::display property
...
Move this to the backends, and stop deriving
from GdkDeviceManager.
2017-11-25 11:04:15 -05:00
Matthias Clasen
0ec491ea9d
Drop the get_client_pointer vfunc
...
There is no api using this anymore.
2017-11-25 11:04:15 -05:00
Matthias Clasen
b6a634fe38
Drop the list_devices vfunc
...
We no longer have api that uses this.
2017-11-25 11:04:15 -05:00
Matthias Clasen
95ae688072
quartz: Stop using display->device_manager
...
We can keep the device manager in the backend.
2017-11-25 11:04:14 -05:00
Matthias Clasen
0b8c88f7d6
quartz: Remove remaining uses of GdkScreen
2017-11-17 13:47:15 -05:00
Matthias Clasen
a62e75964c
quartz: Make GdkQuartzScreen a plain object
...
No need to derive this from GdkScreen anymore.
2017-11-17 13:47:15 -05:00
Matthias Clasen
77f921f5de
quartz: Drop an unused include
...
No GdkScreen apis are used in here.
2017-11-17 13:47:15 -05:00
Matthias Clasen
c7b5cb8e8e
quartz: Avoid a screen argument
...
The screen is never used in _gdk_quartz_screen_get_setting,
so drop it.
2017-11-17 13:47:15 -05:00
Matthias Clasen
fc0f7dc217
Remove gdkprivate.h
...
This is one-too-many private headers. Move the few
declarations here to gdkinternals.h.
2017-11-17 00:34:04 -05:00
Matthias Clasen
3f0d42f74b
Stop including gdkmain.h
...
It is empty now.
2017-11-17 00:16:09 -05:00
Benjamin Otte
4c4e914806
gdk: Replace GDK_NONE with NULL
2017-11-15 19:07:17 +01:00
Benjamin Otte
fb94f79094
selection: Remove #ifdef WAYLAND
...
Instead, turn the functions into backend API:
gdk_broadway_display_add_selection_targets()
gdk_broadway_display_clear_selection_targets()
Remove the old per-backend functions, too.
2017-11-15 19:07:16 +01:00
Matthias Clasen
20fab69c38
Drop gdk_display_get_root_window
...
This is no longer used.
2017-11-05 21:45:51 -05:00
Matthias Clasen
e980f68f5b
quartz: Drop another use of gdk_display_get_toplevel_windows
...
This one was forgotten in the previous commit.
2017-11-05 18:30:03 -05:00
Matthias Clasen
4f701c71f1
quartz: Drop use of gdk_display_get_toplevel_windows
...
We can use the newly added helper function for this.
2017-11-05 18:28:27 -05:00
Matthias Clasen
c44e693b26
quartz: Add a function to get all toplevels
...
This will let us avoid frontend API for this.
2017-11-05 18:27:49 -05:00
Matthias Clasen
807cac2c79
quartz: Drop mentions of foreign windows
...
The quartz backend never creates foreign windows,
so no need to check for window type.
2017-11-05 12:09:06 -05:00
Benjamin Otte
4e7a056777
gdk: Cursors are created generically
...
There are no longer subclasses for cursors now.
2017-11-04 00:07:13 +01:00
Benjamin Otte
81c2bebaca
gdk: Remove ability to download a cursor
2017-11-04 00:07:13 +01:00
Benjamin Otte
9c98adcd15
gdk: Remove GdkWindow.set_device_cursor() vfunc
...
That one calls through to GdkDevice.set_window_cursor(), so let's just
use that one.
2017-11-02 12:42:58 +01:00
Matthias Clasen
2a60928157
t Remove gdk_cursor_new_for_display
...
The preferred api to create cursors is by name, and the
GdkCursorType enumeration can directly trace its ancestry
to the horrible X cursor font. So lets stop using it.
2017-11-01 21:49:05 -04:00
Matthias Clasen
3b7763eebc
Drop gdk_screen_get_display
...
This is not longer used.
2017-11-01 20:57:46 -04:00
Matthias Clasen
b44ef37a21
quartz: Stop using gdk_screen_get_display
...
We can just use the field directly.
2017-11-01 20:54:22 -04:00
Matthias Clasen
7f0b5297c6
Drop gdk_display_get_default_screen
...
Also remove the backend implementations.
This api is no longer used.
2017-11-01 19:44:28 -04:00
Matthias Clasen
03ae29b7c5
quartz: Stop using gdk_screen_get_default
...
This api is going away.
2017-11-01 19:44:28 -04:00
Matthias Clasen
44a173824e
quartz: Stop using gdk_display_get_default_screen
...
The GdkScreen api is going away. The quartz screen is
a singleton anyway.
2017-11-01 19:44:28 -04:00
Matthias Clasen
727aa6cb08
Drop the monitors-changed signal
...
We are not using it anymore.
2017-10-31 22:42:33 -04:00
Matthias Clasen
524fcbecfd
Drop gdk_screen_get_root_window
...
This function is no longer used.
2017-10-31 21:28:28 -04:00
Matthias Clasen
8f129ddd13
Use gdk_display_get_toplevel_windows
...
This replaces the GdkScreen api of the same name.
2017-10-31 20:47:57 -04:00
Matthias Clasen
5cb5bdf1bc
Add gdk_display_get_toplevel_windows
...
This is replacing the corresponding GdkScreen api, which
is going away. To implement this, we need to add a
get_root_window vfunc to GdkDisplay.
2017-10-31 20:29:48 -04:00
Matthias Clasen
2d6bd1ae6d
Drop gdk_window_get_screen
...
This includes removing the GdkScreen argument from the
create_window_impl display vfunc.
2017-10-31 17:25:01 -04:00
Matthias Clasen
a3cffa5072
Drop GdkScreen from GdkDevice apis
...
Returning the screen does not add anything here and
GdkScreen is going away.
2017-10-31 12:30:38 -04:00
Matthias Clasen
f8cad19829
dnd: Drop GdkScreen from apis
...
Drop the screen argument from gdk_dnd_find_window_for_screen
and rename the function to gdk_dnd_find_window. The screen
argument does not add anything here since the drag context
is already tied to the display. Update all backends, and
update all callers.
2017-10-31 10:18:10 -04:00
Matthias Clasen
dea277520f
quartz: Don't set the GdkScreen get_setting vfunc
...
We are not using it anymore.
2017-10-30 16:51:59 -04:00
Matthias Clasen
c63c672ba8
quartz: Implement the GdkDisplay get_setting vfunc
...
Just call the GdkScreen vfunc.
2017-10-30 16:42:49 -04:00
Matthias Clasen
627c0ae549
quartz: Stop emitting setting events
...
Not needed anymore.
2017-10-30 09:49:02 -04:00
Matthias Clasen
36a94b49c7
quartz: Emit GdkDisplay::setting-changed
...
We still generate the event too.
That will be removed in a future commit.
2017-10-30 09:27:59 -04:00
Alexander Larsson
d3fc937b4d
GtkWindow/GdkWindow: Finish converting icons to surfaces
...
There were some parts left, for instance gdk_window_set_icon_list.
2017-10-23 13:45:25 +02:00
Emmanuele Bassi
391d1a04ec
Drop Autotools build
...
We are officially switching to Meson as the default build system for
GTK+.
2017-08-14 22:23:09 +01:00
Matthias Clasen
9859f8f69f
Allow passing a NULL window to gdk_device_query_state
...
Interpret NULL as "root window" here - we only have one
screen nowadays, so there is no choice involved, and this
will let us avoid dealing with the root window in the
fontend code.
2017-08-11 15:45:24 -04:00
Daniel Boles
406db15066
gdk/gtk: Fix more AVAILABLE_IN annotations to 3_92
2017-05-28 14:20:19 +01:00
Tim-Philipp Müller
e1dc4f7ae1
meson: gdk: fix static library names
...
Fix double lib prefix in filenames (liblibgdk-xyz.a)
2017-05-03 15:10:56 +01:00
Tim-Philipp Müller
c7d3fe5e26
meson: gdk: add quartz backend skeleton
...
Won't even build yet, just put basic bits in place.
2017-05-03 15:10:54 +01:00
John Ralls
139b669196
Replace NSScreen:userSpaceScaleFactor, deprecated since MacOS X 10.7.
...
userSpaceScaleFactor is not compatible with high-resolution (aka HiDPI)
displays.
2017-04-11 16:10:51 -07:00
Tom Schoonjans
98d9a05a0c
quartz: code cleanup
...
removed unused static functions, unused class variables and a large
comment section that was copied over from gdkdisplay-x11.h
https://bugzilla.gnome.org/show_bug.cgi?id=779184
2017-04-01 16:45:37 -04:00
Tom Schoonjans
758d26738a
quartz: add support for Gtk+4
...
The addition of GdkMonitor broke the quartz backend. This patch restores
that support by adding a new class GdkQuartzMonitor, and by modifying
the existing classes GdkQuartzDisplay and GdkQuartzScreen where
necessary.
It should be noted that this patch is essentially a refactor as no new
functionality that will impact the user has been added or removed.
https://bugzilla.gnome.org/show_bug.cgi?id=779184
2017-04-01 16:45:37 -04:00
Christoph Reiter
b843efcb79
quartz: fix build for <10.12
...
The style mask type was changed from NSUInteger to NSWindowStyleMask.
Use NSUInteger so it also works on older macOS.
https://bugzilla.gnome.org/show_bug.cgi?id=780019
2017-03-15 07:18:48 -04:00
Matthias Clasen
e02924a77d
quartz: Fix another typo
2017-03-10 07:26:05 -05:00
Matthias Clasen
0cb0542673
quartz: Fix the build
...
A ; was left out inadvertently.
2017-03-10 07:12:12 -05:00
Matthias Clasen
8531ee4c88
Quartz: Implement gdk_window_set_functions
...
This is useful, and easy to implement.
2017-03-05 22:52:03 -05:00
Matthias Clasen
015ff46633
Convince OS X to fully fullscreen windows
...
We typically want to have the full screen given to
the content, not the aspect-ratio preserving behavior
that newer OS X has.
https://bugzilla.gnome.org/show_bug.cgi?id=779383
2017-03-02 08:10:39 -05:00
Matthias Clasen
6278d003b4
Implement backdrop for Quartz
...
We need to send window state change events to make GTK+
pick up on focus changed for backdrop.
https://bugzilla.gnome.org/show_bug.cgi?id=779392
2017-03-01 11:47:18 -05:00
Matthias Clasen
169e2d8d92
quartz: Let CSD windows be fullscreen
...
I've found that I need this patch to make it possible for
windows with headerbar to be made fullscreen on OS X.
https://bugzilla.gnome.org/show_bug.cgi?id=779383
2017-03-01 11:46:31 -05:00
Benjamin Otte
7ade6e3f46
gdk: Remove testing functions
...
They were unused and unimplemented.
2017-01-08 03:46:30 +01:00
Alexander Larsson
330c7feaa2
gdk: Drop gdk_window_reparent
...
We're not currently using this, and dropping it allows us to loose
a bunch of code which leads us towards the goal of having GdkWindow
only for toplevels (and reparenting makes not sense for toplevels).
2016-12-16 12:35:03 +01:00
Alexander Larsson
5bf28a3869
gdk: Drop support for native (and thus foreign) subwindows
...
We can't really support these on e.g. wayland anyway, and we're trying
to get rid of subwindow at totally in the long term, so lets drop this.
It allows us to drop a lot of complexity.
2016-12-16 12:28:44 +01:00
Benjamin Otte
efd04b47aa
gdk: Make GdkDrawingContext not per-backend
...
No backend is using it, and we can put the backend-specific drawing code
into GdkGLContext.
2016-11-30 15:52:22 +01:00
Benjamin Otte
2a27b7ecc6
API: Remove gdk_window_process_all_updates()
...
It's completely unused since we have a frame clock.
2016-11-23 19:10:34 +01:00
Benjamin Otte
cb18752f94
gdk: Make each backend have a custom GdkDrawingContext subclass
2016-11-20 07:19:52 +01:00
Benjamin Otte
d2c26c471c
gdk: Remove attributes_mask from gdk_window_new()
...
The only remaining values were always treated as 0, so we just hardcode
them to 0.
2016-11-07 01:33:43 +01:00
Benjamin Otte
7a6cab14eb
gdkwindow: Remove GdkWindowAttr.type_hint
...
Instead, let the callers call gdk_window_set_type_hint(). Which is
surprsingly what every backend did.
2016-11-06 16:22:21 +01:00
John Ralls
2c642dd654
Update gdk-quartz functions for the demise of GdkDeviceManager.
2016-11-05 15:08:59 -07:00
John Ralls
2b53583e80
Remove screen height and width functions from gdk-quartz.
...
Since they were previously deleted from gdk.
2016-11-05 15:08:59 -07:00
John Ralls
a45f96e9cb
Update GdkOSXVersion enum with the last 4 MacOS releases.
2016-11-05 15:08:59 -07:00
Benjamin Otte
9707f4d3b3
API: gdk: Remove title from gdk_window_new()
...
Use gdk_window_set_title() afterwards instead.
2016-11-05 03:32:27 +01:00
Benjamin Otte
33e7a7898f
API: gdk: Remove gdk_window_set_override_redirect()
...
When you want an override-redirect window, you create it that way.
Changing that behavior is not supported anywhere (but on X of course).
2016-11-05 03:32:27 +01:00
Benjamin Otte
31a0933fe9
quartz: Remove all mentions of visuals
2016-11-04 00:10:43 +01:00
Benjamin Otte
4585af5719
gdk: Remove visual APIs from GdkScreen
...
gdk_screen_list_visuals(), gdk_screen_get_system_visual() and
gdk_screen_get_rgba_visual() are gone now.
2016-11-04 00:02:37 +01:00
Benjamin Otte
d249e77bcb
API: screen: Remove gdk_screen_is_composited()
...
Switch code to use gdk_display_is_composited() instead.
The new code also doesn't use a vfunc to query the property but rather
requires the backend to call set_composited()/set_rgba() to change the
value.
2016-10-29 04:49:47 +02:00
Benjamin Otte
45c0379f87
API: gdk: Remove visual querying APIs
...
They are unused, only work on the default display anyway and visuals are
on their way out.
2016-10-28 05:22:50 +02:00
Benjamin Otte
f420dc7456
API: gdk: Remove gdk_window_get_visual()
...
With it, remove window->visual.
2016-10-28 05:22:49 +02:00
Matthias Clasen
7fa09a3e3a
quartz: Stop using gdk_device_manager_list_devices
...
The function has been deprecated.
2016-10-26 10:36:32 -04:00
Alexander Larsson
70935f0952
Drop support for offscreen GdkWindows
...
These complicate a lot of GdkWindow internals to implement features
that not a lot of apps use, and will be better achieved using gsk.
So, we just drop it all.
2016-10-25 09:54:37 +02:00
Benjamin Otte
eace2cf421
API: Remove gdk_window_set_background()
...
Backgrounds are always transparent black.
2016-10-16 18:17:21 +02:00
Benjamin Otte
89f2e17f91
API: Remove gdk_window_set_composited()
...
And the related call gdk_display_supports_composite().
2016-10-16 18:17:21 +02:00
Benjamin Otte
8d54c641f1
screen: Remove unused vfunc
...
GdkScreenClass.broadcast_client_message was unused, but a bunch of
backends still had functions (not) implementing it.
2016-10-16 18:17:21 +02:00
Benjamin Otte
fcbd480c76
API: Remove GDK_WA_CURSOR
...
The cursor was set using gdk_window_set_cursor() even in
gdk_window_new().
So instead of having yet another flag, just make the users of that flag
call gdk_window_set_cursor() directly after the window was created.
2016-10-16 18:17:21 +02:00
Benjamin Otte
9be9e00a0e
API: screen: Remove gdk_screen_make_display_name()
...
It's identical to gdk_display_get_name().
2016-10-16 18:17:21 +02:00