[gtk/present-toplevel: 46/54] surface: Implement new toplevel api



commit ab103da680ce23355d1066d7192035010e9ca0d3
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun Mar 1 11:03:50 2020 -0800

    surface: Implement new toplevel api

 gdk/gdksurface.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
---
diff --git a/gdk/gdksurface.c b/gdk/gdksurface.c
index 56caecbd28..f32b2e7749 100644
--- a/gdk/gdksurface.c
+++ b/gdk/gdksurface.c
@@ -2110,6 +2110,20 @@ gdk_toplevel_surface_set_icon_list (GdkToplevel *toplevel,
   GDK_SURFACE_GET_CLASS (surface)->set_icon_list (surface, surfaces);
 }
 
+static gboolean
+gdk_toplevel_surface_show_window_menu (GdkToplevel *toplevel,
+                                       GdkEvent    *event)
+{
+  GdkSurface *surface = GDK_SURFACE (toplevel);
+
+  g_return_val_if_fail (surface->surface_type == GDK_SURFACE_TOPLEVEL, FALSE);
+
+  if (GDK_SURFACE_GET_CLASS (surface)->show_window_menu)
+    return GDK_SURFACE_GET_CLASS (surface)->show_window_menu (surface, event);
+
+  return FALSE;
+}
+
 static void
 gdk_surface_toplevel_init (GdkToplevelInterface *iface)
 {
@@ -2119,6 +2133,7 @@ gdk_surface_toplevel_init (GdkToplevelInterface *iface)
   iface->set_startup_id = gdk_toplevel_surface_set_startup_id;
   iface->set_transient_for = gdk_toplevel_surface_set_transient_for;
   iface->set_icon_list = gdk_toplevel_surface_set_icon_list;
+  iface->show_window_menu = gdk_toplevel_surface_show_window_menu;
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]