From 33c6dff8815df05fe0caedb1607f4863c6fe3425 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 22 Apr 2019 13:16:26 +0000 Subject: [PATCH] gdk: Introduce a popup surface type This surface type is meant to have semantics similar to xdg-popup, with a mandatory parent, and relative placement using gdk_surface_move_to_rect. --- gdk/gdksurface.c | 4 ++-- gdk/gdksurface.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gdk/gdksurface.c b/gdk/gdksurface.c index 1d858cbc67..d9169de7e6 100644 --- a/gdk/gdksurface.c +++ b/gdk/gdksurface.c @@ -812,8 +812,8 @@ gdk_surface_new_popup (GdkDisplay *display, g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); g_return_val_if_fail (GDK_IS_SURFACE (parent), NULL); - surface = gdk_surface_new (display, GDK_SURFACE_TEMP, - NULL, 0, 0, 100, 100); + surface = gdk_surface_new (display, GDK_SURFACE_POPUP, + parent, 0, 0, 100, 100); gdk_surface_set_transient_for (surface, parent); gdk_surface_set_type_hint (surface, GDK_SURFACE_TYPE_HINT_MENU); diff --git a/gdk/gdksurface.h b/gdk/gdksurface.h index f3ab38f851..938c59ba17 100644 --- a/gdk/gdksurface.h +++ b/gdk/gdksurface.h @@ -43,6 +43,7 @@ typedef struct _GdkGeometry GdkGeometry; * GdkSurfaceType: * @GDK_SURFACE_TOPLEVEL: toplevel window (used to implement #GtkWindow) * @GDK_SURFACE_TEMP: override redirect temporary surface (used to implement #GtkMenu) + * @GDK_SURFACE_POPUP: popup window with semantics like xdg-popover * * Describes the kind of surface. */ @@ -50,6 +51,7 @@ typedef enum { GDK_SURFACE_TOPLEVEL, GDK_SURFACE_TEMP, + GDK_SURFACE_POPUP } GdkSurfaceType; /* Size restriction enumeration.