Matthias Clasen
6655177a0b
Cosmetics
2023-02-01 18:38:22 +01:00
Matthias Clasen
1cb621633c
gltexture: Use the right context
...
When checking characteristics of the context
for downloading, we were using self->context,
even though we are using a possibly different
context for downloading.
Pass the right context along and use it.
2023-02-01 11:32:07 +01:00
Carlos Garnacho
7f8acf960b
gdk/broadway: Add deprecation guards around gdk_display_put_event()
...
This went missing.
2023-01-27 19:59:36 +01:00
Matthias Clasen
c24ba58acb
Merge branch 'broadway-modal-hint' into 'main'
...
[GTK4] gdk/broadway: Implements modal hint for Broadway surface
See merge request GNOME/gtk!4428
2023-01-26 02:44:54 +00:00
Arjan Molenaar
6757a1b409
macos: Propagate events for child surfaces
...
Before, popup windows did not respond to mouse clicks.
This change fixes that.
Fixes #5528 .
2023-01-24 09:07:33 +01:00
Maxim Zakharov
115738dd2f
remove unused variable
2023-01-24 11:41:27 +11:00
Matthias Clasen
5caa66ffb7
Merge branch 'macos-native-dnd' into 'main'
...
macos: DnD Drag support
Closes #3423
See merge request GNOME/gtk!5416
2023-01-23 22:01:30 +00:00
Arjan Molenaar
d6ef39b9a2
macos: remove dead code
2023-01-21 15:22:13 +01:00
Arjan Molenaar
52f6acd398
macos: Send dragging events directly to the display
...
Instead of adding events to the application event queue, dispatch
them directly to the right display. We know this when the event is
to be dispatched.
This is the same as used for the `sendEvent` method in `GdkMacosWindow`.
To achieve this I factored out the generic NSEvent to GdkEvent translation.
We can send an event directly, when we receive it in the GdkMacosWindow
directly from the OS.
2023-01-21 14:54:12 +01:00
Arjan Molenaar
136c1ccd2c
macos: Update event source doc
...
Update the documentation with the interaction pattern we
need to support DnD.
2023-01-17 16:37:21 +01:00
Arjan Molenaar
16e23b3f9e
macos: align functions in gdkmacosdrag-private.h
2023-01-17 16:12:57 +01:00
Arjan Molenaar
628aeda7ee
macos: Provide the right drag action
...
We should use the drag action/operation provided by the
drag handlers, not rely on our internal bookkeeping.
2023-01-16 23:21:35 +01:00
Arjan Molenaar
2669dc269b
macos: Default kCFRunLoopAllActivities
...
It's actually a mask, but we'll keep it in to
avoid compiler warnings.
2023-01-16 20:28:38 +01:00
Arjan Molenaar
1bc63eeadb
macos: Queue events during drag
...
By passing the events during a (midal-ish) drag operation to the main loop,
we're able to keep up with what's happening. This allows the internal
drag state (GtkDragSource) to be updated and be done when the drag is
done.
2023-01-16 14:47:49 +01:00
Arjan Molenaar
1d8a23e97b
macos: Provide fallback pasteboard for gtype Dnd
...
The Drag data should pass through the macos pasteboard system.
We need to provide some pasteboard type. Let's make it a "URL",
which is a pretty generic type anyway.
2023-01-15 10:03:47 +01:00
Arjan Molenaar
422b4b6561
macos: No need to drag handle events
...
This is handled by the DraggingSource object.
2023-01-15 10:03:47 +01:00
Arjan Molenaar
27ee8b23fd
macos: No need to grab a seat
...
The macOS DnD logic will take over anyway.
2023-01-15 10:03:47 +01:00
Arjan Molenaar
b9847795a7
macos: Support dragging from GdkMacosWindow
...
The handling is done similar to drag targets.
Note that dragging is a modal action on macos: no events
are sent to the main window. This could cause trouble when
we finish the drag, and not finish the gesture in GTK.
2023-01-15 10:01:56 +01:00
Matthias Clasen
3c31f72219
texture: Update docs
...
Document that we support TIFF as well.
2023-01-14 22:48:57 -05:00
Matthias Clasen
fecc80b59c
Fix a compiler warning
...
Clang things that timings can be NULL here,
and I think it might be right.
2023-01-14 00:14:41 -05:00
Arjan Molenaar
420be8fb0f
macos: run glib idle functions when in nested run loop
...
It looks like DnD starts a nested run loop. We still have to run our
GLib handlers, so animations work.
2023-01-13 20:03:55 +01:00
Christian Hergert
9c3629653f
macos: abstract pasteboard for use in clipboard and drag
...
This will allow us to share a single NSPasteboardItem and data provider
implementation for both GdkClipboard and GdkDrag.
2023-01-13 20:03:55 +01:00
Christian Hergert
eb5cf831b1
macos: refactor pasteboard components into separate module
...
This will make it easier to reuse from drag integration so that we don't
require clipboards for everything.
We will need to subclass the pasteboard provider twice, however, both
for clipboard and dragging.
2023-01-13 20:03:55 +01:00
Matthias Clasen
99f07c7c0a
Fix a compiler warning
...
Clang things that timings can be NULL here,
and I think it might be right.
2023-01-13 12:07:40 -05:00
Matthias Clasen
746d12fc43
Silence a compiler warning
...
Clang was complaining that we never use the
value stored in mime_type. Just don't store it,
we are only interested in the side-effect
(interning the string).
2023-01-13 12:07:40 -05:00
Christian Hergert
958ecf2855
gdk/macos: fix warning about _coreCursorType
2023-01-12 13:22:47 -08:00
Christian Hergert
965c52d369
gdk: fix warning when !HAVE_EGL
2023-01-12 13:22:02 -08:00
Matthias Clasen
46e0fde606
css: Avoid more allocations for tokens
...
Make short string tokens static.
2023-01-12 00:12:09 -05:00
Matthias Clasen
0073bb79a7
Deprecate gdk_display_put_event
...
The documentation already tells you not to
use this function.
Ifdef the remaining users in the X11 backend.
2023-01-09 15:46:25 -05:00
Matthias Clasen
f59b506674
Merge branch 'macos-stable-dnd' into 'main'
...
macos: Drag and drop should not freeze applications
See merge request GNOME/gtk!5291
2023-01-09 11:52:50 +00:00
Matthias Clasen
dd3cdc52f5
Fix code style
2023-01-08 14:41:11 +00:00
Matthias Clasen
5a3156a8b7
gdk: Update docs
...
Update the docs for gdk_display_get_monitor_at_surface.
2023-01-07 21:35:29 -05:00
Matthias Clasen
a4c2f19155
Merge branch 'gdk-display-get-monitor-is-nullable' into 'main'
...
gdkdisplay: Document get_monitor_at_surface can return NULL
Closes #5075
See merge request GNOME/gtk!4917
2023-01-07 20:39:04 +00:00
Benjamin Otte
bf3cf8bb29
glcontext: Avoid gcc warning on non-egl build
2023-01-06 19:46:58 -05:00
Matthias Clasen
44aa6a891a
Drop gdkpopup-wayland-private.h
...
It is empty now.
2023-01-06 17:02:03 -05:00
Matthias Clasen
7a30a21405
waylandsurface: Introduce a few vfuncs
2023-01-06 17:00:45 -05:00
Matthias Clasen
2b3eadcfa4
waylandpopup: Drop unused exports
2023-01-06 16:50:20 -05:00
Matthias Clasen
352443d5a5
waylandtoplevel: Drop unused exports
2023-01-06 16:50:20 -05:00
Matthias Clasen
3574fde770
More cleanups
2023-01-06 16:50:20 -05:00
Matthias Clasen
793689789c
Misc cleanups
...
Detangle compute_size, among other things.
2023-01-06 16:50:19 -05:00
Matthias Clasen
120396fa40
wip: Split off GdkWaylandPopup
...
Like the GdkWaylandToplevel split-off, this needs some
more cleanup.
2023-01-06 16:50:19 -05:00
Matthias Clasen
d61ec38974
wip: Split off GdkWaylandToplevel
...
This still needs some more cleanup.
2023-01-06 16:50:19 -05:00
Matthias Clasen
2a463baed0
wayland: Rearrange the surface code
2023-01-06 16:50:19 -05:00
Matthias Clasen
348acde6bd
wayland: Split public headers
...
Split gdkwaylandsurface.h into itself,
gdkwaylandtoplevel.h and gdkwaylandpopup.h.
This is in preparation for splitting the
types for real.
2023-01-06 13:47:34 -05:00
Matthias Clasen
5ba793842b
wayland: Split display_server sub-structs
...
Move these to GdkWaylandToplevel and GdkWaylandPopup
as appropriate.
2023-01-06 13:47:34 -05:00
Matthias Clasen
149b608bfc
wayland: Move next_layout into popup and toplevel
...
This is where it belongs.
2023-01-06 13:47:34 -05:00
Matthias Clasen
3348ea81f2
wayland: Move pending toplevel state to GdkWaylandToplevel
...
Another toplevel-only thing.
2023-01-06 13:47:34 -05:00
Matthias Clasen
63e69131bd
wayland: Move input_grab_seat to GdkWaylandPopup
...
This is popup-only functionality.
2023-01-06 13:47:34 -05:00
Matthias Clasen
d42a34b0b3
wayland: Move reposition_token to GdkWaylandPopup
...
This is only used for popups, so move it there.
2023-01-06 13:47:34 -05:00
Matthias Clasen
5ee10fc669
wayland: Move shortcuts_inhibitors to GdkWaylandToplevel
...
Another toplevel-only feature.
2023-01-06 13:47:22 -05:00