summaryrefslogtreecommitdiff
path: root/gdk
Commit message (Collapse)AuthorAgeFilesLines
* macos: fix various compiler warningsChristian Hergert2020-11-183-16/+7
|
* Merge branch 'wayland-minimize' into 'master'Matthias Clasen2020-11-181-8/+10
|\ | | | | | | | | | | | | wayland: Implement minimization Closes #2688 See merge request GNOME/gtk!2861
| * wayland: Implement minimizationwayland-minimizeMatthias Clasen2020-11-171-8/+10
| | | | | | | | | | | | | | | | | | | | Use the set_minimized method of the xdg_toplevel interface to implement minimization as well as possible. It is not possible, since there is no corresponding state that we could use to update our surface state, but in practice, it works well enough. Fixes: #2688
* | Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'Matthias Clasen2020-11-181-2/+6
|\ \ | | | | | | | | | | | | macos: fix rendering artifacts with hover transitions See merge request GNOME/gtk!2862
| * | macos: fix rendering artifacts with hover transitionsChristian Hergert2020-11-171-2/+6
| |/ | | | | | | | | Using an image surface seems to fix some rendering artifacts when performing cross-fade CSS transitions.
* | gdk/wayland: Update to gtk_shell1 version 3Carlos Garnacho2020-11-184-10/+39
|/ | | | | Bring in line with gtk3, in terms of startup notification and activation support.
* Annotate GdkTimeCoord's array fieldEmmanuele Bassi2020-11-171-1/+1
| | | | | We need to resolve the array length manually, because g-ir-scanner cannot turn an enumeration member into a constant size.
* Annotate out argument for gdk_popup_layout_get_offset()Emmanuele Bassi2020-11-171-3/+3
|
* Fix a warning caused by difference between prototype and definitionQiu Wenbo2020-11-171-1/+1
| | | | | | This commit fix the warning: ../gdk/wayland/gdkdisplay-wayland.c:1079: Warning: GdkWayland: gdk_wayland_display_set_cursor_theme: unknown parameter 'name' in documentation comment, should be 'theme'
* gdk: Docs cosmeticsMatthias Clasen2020-11-161-0/+2
| | | | Add a few missing parameters in doc comments.
* Always parse GTK/GDK/GSK_DEBUG env vars and make some entries available in ↵Christoph Reiter2020-11-152-15/+29
| | | | | | | | | | | | | | non-debug mode Currently GTK can be built with G_ENABLE_DEBUG which enables various debug code and parsing of those env vars, or without, which instead of parsing them prints a warning if they are set. While building with G_ENABLE_DEBUG isn't strictly needed it's the only way to make GTK_DEBUG=interactive work, which is a nice thing to have always. This enables parsing of those env vars in any case and allows specific values being marked as also available when not built with G_ENABLE_DEBUG (interactive for example). If not built with G_ENABLE_DEBUG then all unavailable values will be marked as such in the help output and a note is added that GTK needs to be built with G_ENABLE_DEBUG to use them, which should help discoverability.
* x11: Plug listmodel memory leaksMatthias Clasen2020-11-101-6/+1
| | | | | We were leaking references returned from g_list_model_get_item in some places.
* win32: Plug listmodel memory leaksMatthias Clasen2020-11-101-0/+1
| | | | | We were leaking references returned from g_list_model_get_item in some places.
* wayland: Plug listmodel memory leaksMatthias Clasen2020-11-101-0/+1
| | | | | We were leaking references returned from g_list_model_get_item in some places.
* Merge branch 'wip/carlosg/for-master' into 'master'Matthias Clasen2020-11-061-0/+1
|\ | | | | | | | | | | | | Text handle fixes Closes #3176 See merge request GNOME/gtk!2785
| * gdk/wayland: Ensure to update input area on mapCarlos Garnacho2020-11-051-0/+1
| | | | | | | | | | If a surface is hidden, then shown again, it should preserve the input area specified. Make sure that happens.
* | macos: use NSOpenGLContext directly for current trackingChristian Hergert2020-11-051-3/+3
| | | | | | | | | | We don't need to interact with GdkGLContext here to keep the current context active.
* | macos: explicitly request color and alpha sizesChristian Hergert2020-11-051-0/+2
| |
* | macos: use opaque GL context when possibleChristian Hergert2020-11-053-16/+28
|/ | | | | This is better for situations where the window is decorated and therefore we can rely on window system clipping of rounded corners.
* CosmeticsMatthias Clasen2020-11-041-4/+4
| | | | Fix argument ordering of gdk_cursor_new_from_name.
* Merge branch 'wip/chergert/gdk-macos-gl-renderer' into 'master'Matthias Clasen2020-11-055-66/+62
|\ | | | | | | | | macos: gl context improvements and event cleanup See merge request GNOME/gtk!2780
| * macos: resize extra GL window/view when surface changesChristian Hergert2020-11-041-2/+3
| | | | | | | | | | Once we figure out what is going on with textures, changes are we'll be able to let this stay a zero rect. But that is still a bit up in the air right now.
| * macos: clip damage when swapping buffersChristian Hergert2020-11-042-6/+38
| | | | | | | | This ensures that we only copy the changed area.
| * macos: remove synthesize_motion helperChristian Hergert2020-11-043-38/+1
| | | | | | | | | | We can use gdk_surface_request_motion() now instead of our extra helper to do essentially the same thing.
| * macos: always create dummy window/view for GL contextChristian Hergert2020-11-041-20/+20
| | | | | | | | | | This simplifies the creation by always creating the dummy views, and then removes it if necessary by detecting the begin_frame/end_frame pair.
* | macos: fix calculation of mouse positionChristian Hergert2020-11-041-1/+1
| | | | | | | | | | This fixes the calculation of the position of the pointer over the surface which was incorrectly providing negative values.
* | Merge branch 'fix-issue-2019-for-master' into 'master'Matthias Clasen2020-11-051-26/+9
|\ \ | |/ |/| | | | | | | | | [master] GdkW32: remove klassTEMPSHADOW Closes #2019 See merge request GNOME/gtk!2750
| * GdkW32: remove klassTEMPSHADOWLuca Bacci2020-10-271-26/+9
| | | | | | | | Fixes issue #2019
* | Revert "Simplify gdk_surface_queue_render"Christian Hergert2020-11-041-1/+5
| | | | | | | | This reverts commit 2120e9df880cabfe21d5a4e8c2d0e6804a4e09d8.
* | CosmeticsMatthias Clasen2020-11-041-2/+0
| | | | | | | | Extraneous pair of parens snuck in with 2120e9df88.
* | surface: Be smarter about autohideMatthias Clasen2020-11-041-14/+12
| | | | | | | | | | | | | | | | | | When we close grabbing popups due to an outside click, check at each level if the click is still outside. This makes closing the nested popover menu in the popover on page 3 of widget-factory work as expected, when you click the menubutton again.
* | surface: Be more lenient for autohideMatthias Clasen2020-11-041-1/+4
| | | | | | | | | | | | When an event happens on a non-grabbing popup that hangs off a grabbing popup, don't trigger the autohide. This makes touch text handles work inside the popover on page 3 of widget-factory.
* | broadway: Set modifier state of scroll eventskai-berlin2020-11-031-1/+1
| | | | | | | | | | | | | | Set modifier state of scroll events, so Ctrl-scroll works. Fixes: #2733
* | Simplify gdk_surface_queue_renderMatthias Clasen2020-11-031-5/+3
| | | | | | | | | | | | | | We can just call gdk_surface_invalidate_rect here like we do elsewhere in gdk, and I'm a bit uncertain about the current code that adds an empty update region.
* | macos: add more aggressive clip to transparent subviewChristian Hergert2020-10-293-0/+45
| | | | | | | | | | | | | | | | | | | | | | The Cairo implementation for the Macos backend uses a toplevel window with full transparency and a series of NSView to create opaque regions. This improves compositor performance because it allows the display server to avoid costly blends. However, we want to ensure we clip better when exposing the transparent region so that we only expose the shadows/corners as necessary.
* | gdk: remove remaining GDK_WINDOWING_QUARTZ usagewip/chergert/remove-GDK_WINDOWING_QUARTZChristian Hergert2020-10-291-17/+4
| |
* | Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2020-10-2916-84/+114
|\ \ | | | | | | | | | | | | Matthiasc/for master See merge request GNOME/gtk!2760
| * | docs: Tweak GdkToplevel docsMatthias Clasen2020-10-291-0/+6
| | |
| * | docs: Tweak GdkPopup docsMatthias Clasen2020-10-291-1/+5
| | |
| * | docs: Tweak GdkSurface docsMatthias Clasen2020-10-291-2/+9
| | | | | | | | | | | | | | | Add more details, and refer to the GdkToplevel / GdkPopup docs.
| * | docs: Tweak frame clock docsMatthias Clasen2020-10-291-4/+4
| | |
| * | docs: Small additions for GdkCursor docsMatthias Clasen2020-10-291-22/+32
| | |
| * | docs: CosmeticsMatthias Clasen2020-10-291-2/+2
| | | | | | | | | | | | Make the GdkRGBA heading less repetitive.
| * | docs: Tweak GdkPaintable docsMatthias Clasen2020-10-291-12/+12
| | | | | | | | | | | | Minor additions here and there.
| * | docs: Add some detail to GdkTexture docsMatthias Clasen2020-10-291-9/+14
| | | | | | | | | | | | Minor additions here and there.
| * | gdk: Drop GdkPoint from the apiMatthias Clasen2020-10-295-22/+20
| | | | | | | | | | | | | | | | | | This typedef was not used in any public APIs, and is only used in the MacOS backend. It is not worth preserving as public API, move it to the only user.
| * | docs: Include GDK_WINDOWING_MACOSMatthias Clasen2020-10-291-3/+3
| | | | | | | | | | | | | | | We no longer have a Quartz backend, it is called MacOS now.
| * | docs: Stop referring to the Quartz backendMatthias Clasen2020-10-291-3/+3
| | | | | | | | | | | | Its MacOS now.
| * | CosmeticsMatthias Clasen2020-10-291-4/+4
| | | | | | | | | | | | Whitespace fix.
* | | macos: implement GL contextChristian Hergert2020-10-295-58/+501
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements the basics for a GdkGLContext on macOS. Currently, rendering only is fully working for the GskCairoRenderer case where we read back pixels into a cairo surface for rendering. More work on synchronization is required for the GL on GskGLRenderer case. When we attempt to render a surface itself with GL, the context will ensure that the new GdkMacosGLView is placed within the NSWindow. In other cases, we use a dummy NSView and NSWindow for backing the NSOpenGLContext to ensure that we can get accelerated drawing. This gets GtkGLArea working when running with GSK_RENDERER=cairo.