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
Carlos Garnacho
f79ac6d30b
gdk: Remove gdk_window_[gs]et_event_compression()
...
Motion compression is now the unmodifiable default, callers may
call gdk_event_get_motion_history() to check the uncoalesced
motion history.
2017-12-14 01:05:48 +01:00
Carlos Garnacho
2acbb7b01d
gdk: Turn GdkEvent into a GObject
...
Two warts remain. gdk_event_copy() should be unnecessary as
events should be considered static after delivery, so g_object_ref()
should be just as good. There's a few exceptional cases that the event
is copied and then modifier for later processing, those cases should be
reconsidered individually.
And gdk_event_free() could be likewise turned into g_object_unref(),
many callers remain though.
2017-12-14 01:05:48 +01:00
Carlos Garnacho
1e1f2a6e67
gdk: Remove GdkDisplay from GdkEventPrivate
...
And add it to GdkEventAny.
2017-12-14 01:05:08 +01:00
Carlos Garnacho
8595e4b1d1
gdk: Figure out the GdkSeat of an event from the GdkDevice
...
Removes the need for gdk_event_set_seat() and the GdkSeat field from
GdkEventPrivate.
2017-12-14 00:58:32 +01:00
Carlos Garnacho
59cab36035
gdk: Fold GdkEventPrivate fields into event structs
...
Now all events structs are private, it doesn't make as much sense
having GdkEventPrivate wrapping allocating events. This is a first
step towards removing it.
2017-12-14 00:58:32 +01:00
Benjamin Otte
815cd0ed68
gdk: Include gio.h in gdktypes.h
...
It's where we include all our external dependencies.
This way, we don't have to include it in all headers again and again.
2017-12-10 01:09:14 +01:00
Matthias Clasen
6ab72b2653
Remove GdkDragProtocol from the api
...
...together with apis that return it. We were not using this
information in GTK+ at all, so no need to provide it.
2017-12-03 06:41:08 +01:00
Benjamin Otte
4728dd0a9e
x11: Add an initial clipboard implementation
...
This does nothing but download the targets and debug-print them.
2017-12-03 05:43:24 +01:00
Matthias Clasen
480ea400f3
Drop support for setting event masks for floating devices
...
These are very rarely needed, and are X11-specific.
If it turns out that somebody needs this, it can come
back as X11-specific functionality.
2017-11-25 11:04:14 -05:00
Matthias Clasen
4c40accbb9
gdk: Move gdk_disable_multidevice tot he X11 backend
...
This api only ever did something for X11, so move
it there. Update the docs and adapt the only caller.
2017-11-25 11:04:14 -05:00
Matthias Clasen
2daa7d1a53
x11: Stop using GdkScreen in api
...
This type is going away, so switch to using GdkX11Screen
everywhere.
2017-11-17 10:51:55 -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
Benjamin Otte
ed1b6a9bed
gdkwindow: Remove event_mask arguments from constructors
2017-11-13 23:41:38 +01:00
Benjamin Otte
2d31a5499a
gdk: Remove gdk_get_display_arg_name()
...
Since we're no longer allowing arguments, this is always NULL now.
2017-11-01 18:26:34 +01:00
Benjamin Otte
5f4e0d33f1
gdk: Remove nonexisting function from internal header
2017-11-01 18:17:55 +01:00
Matthias Clasen
883c0d1708
Remove a no-longer existing function
2017-10-31 21:59:47 -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
c74ee7a159
Add gdk_event_get/set_display
...
The GdkScreen apis are going away, this is a replacement.
2017-10-30 22:22:00 -04:00
Carlos Garnacho
c7431f46b5
gdk: Make GdkEvent structs/union opaque
...
All users are forced to deal with events as opaque pointers, only
using API to access the info.
2017-09-19 18:39:02 +02:00
Rui Matos
e702ee8fa6
gdkwindow: Avoid re-setting the opaque region if it doesn't change
...
This avoids, at least, needless chatter with the compositor and the X
server in X11's case.
https://bugzilla.gnome.org/show_bug.cgi?id=786469
2017-08-18 19:01:00 +02:00
Matthias Clasen
124b790a77
Fix a bootstrapping problem without root windows
...
We create various windows during the initial creation of display
objects, which causes some bootstrapping issues when we try to
find the default screen to get its root window. To work around this,
pass the display object into gdk_window_new.
This is not an API change, since gdk_window_new is no longer public API.
2017-08-12 09:42:19 -04:00
Matthias Clasen
0eaf861420
Remove root window getters from public API
...
These are now just used internally in GDK.
2017-08-11 15:45:24 -04:00
Matthias Clasen
953e762843
Move GdkWindowWindowClass to private headers
...
This enum is no longer used in public api.
2017-07-19 23:11:12 -04:00
Carlos Garnacho
3a15c8241e
gdk: Remove synthetic crossing event emission due to geometry changes
...
This just applied to child windows, but now GDK should just take care of
toplevels, which shall get crossing events from the windowing when the right
conditions apply.
Removing this code fixes confused crossing state in widgets and messed up
window_under_pointer tracking (Which now is meant to be toplevels) when any
of the remaining child GdkWindows trigger these crossing events.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
65de0ebea3
gdk: Make it possible to attach user data to GdkEvents
...
As event->any.window is the toplevel, this is not useful anymore to
determine the window/widget that is the target for this event. Add
helper functions to attach user data to GdkEvents so the target
widget can be stored on the gtk/ side.
These calls should be made private with the rest of GdkEvent related
API.
2017-05-25 16:25:59 +02:00
Benjamin Otte
bc797f38f5
gdk: Remove unused debug category
2017-01-08 00:48:12 +01:00
Benjamin Otte
d58799ff7a
gdk: Export gdk_cairo_surface_paint_pixbuf() into private header
2016-12-23 08:11:01 +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
b6227aa998
gdk: Add GDK_VULKAN env variable
...
Also add 2 flags:
GDK_VULKAN="disable" will disable Vulkan usage.
GDK_VULKAN="validate" will enable VK_LAYER_LUNARG_standard_validation.
2016-12-09 18:35:51 +01:00
Benjamin Otte
cca547e5bc
vulkan: Initial support
...
Adds the gdk_display_ref_vulkan() and gdk_display_unref_vulkan()
functions which setup/tear down VUlkan support for the display.
Nothing is using those functions yet.
2016-12-09 18:35:51 +01:00
Benjamin Otte
bddfd7bb41
gdk: Remove all code that only existed because of use_gl
...
Now that we don't use GL anymore, this code is unnecessary.
2016-12-05 15:02:47 +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
9fe8b1e112
API: gdk: Remove gdk_window_new()
...
It's finally no longer public API.
2016-11-07 01:12:47 +01:00
Benjamin Otte
f420dc7456
API: gdk: Remove gdk_window_get_visual()
...
With it, remove window->visual.
2016-10-28 05:22:49 +02:00
Benjamin Otte
6cc94ff176
gdk: Remove GdkWindow.depth member variable
...
It's unused.
2016-10-28 05:22:32 +02:00
Benjamin Otte
cd67c0d7cc
window: Add a GdkWindow:display property
...
... and make it an explicit property of the window struct instead of
looking it up in the visual.
2016-10-28 04:45:35 +02:00
Benjamin Otte
dd105f3db8
gdk: Remove gdk_window_set_invalidate_handler()
...
It's not used anymore.
2016-10-27 05:03:06 +02: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
Emmanuele Bassi
07cd87eb9c
gdk: Remove mentions of gdk_cairo_create()
...
This function does not exist any more.
2016-10-17 10:44:27 +01:00
Benjamin Otte
e76ba9a3c3
gdk: Remove gdk_window_set_debug_updates()
...
The update tracking code was ugly and using deprecated drawing APIs. It
was also in the wrong place.
So instead of trying to keep it working, I'll remove it. We need to find
a better way to put it and make it work there.
2016-10-16 18:18:58 +02:00
Benjamin Otte
1a7dcb2053
gdk: Remove unused argument parsing structs
2016-10-16 18:17:21 +02:00
Benjamin Otte
59c702d88c
gdk: Remove leftover structs from ClientMessage days
2016-10-16 18:17:21 +02:00
Benjamin Otte
10a7963ebf
gdk: Remove unused structs from ColorMap days
2016-10-16 18:17:21 +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
William Hua
48108c401e
gdkwindow: store transient_for window
...
https://bugzilla.gnome.org/show_bug.cgi?id=756579
2016-07-19 09:38:54 -04:00
William Hua
0a5bee2751
gdkwindow: store shadow sizes
...
https://bugzilla.gnome.org/show_bug.cgi?id=756579
2016-07-19 09:38:54 -04:00
Emmanuele Bassi
222bcf1a71
gdk: Try harder at tracking drawing contexts
...
If gdk_cairo_create() is called within a frame draw operation, we can
still associate the Cairo context with a GdkDrawingContext.
2016-06-12 17:27:44 +01:00
Emmanuele Bassi
2d38c40f78
gdk: Explicitly create a cairo context inside GdkDrawingContext
...
Instead of using gdk_cairo_create(), which we'll soon deprecate.
https://bugzilla.gnome.org/show_bug.cgi?id=766675
2016-06-09 17:45:40 +01:00