[gtk/wip/matthiasc/popup5: 80/151] Add gdk_surface_get_parent back
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/matthiasc/popup5: 80/151] Add gdk_surface_get_parent back
- Date: Tue, 28 May 2019 20:35:23 +0000 (UTC)
commit 18e396ef6ccbb0ace90a47c8f1abe992352e184b
Author: Matthias Clasen <mclasen redhat com>
Date: Thu May 2 17:43:38 2019 -0400
Add gdk_surface_get_parent back
The api is the same, the parent is different.
This now returns the parent of popup surfaces.
docs/reference/gdk/gdk4-sections.txt | 1 +
gdk/gdksurface.c | 20 ++++++++++++++++++++
gdk/gdksurface.h | 3 +++
3 files changed, 24 insertions(+)
---
diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt
index e7ff165ecc..2faede76a7 100644
--- a/docs/reference/gdk/gdk4-sections.txt
+++ b/docs/reference/gdk/gdk4-sections.txt
@@ -181,6 +181,7 @@ GdkSurfaceState
gdk_surface_new_toplevel
gdk_surface_new_temp
gdk_surface_new_popup
+gdk_surface_get_parent
gdk_surface_destroy
gdk_surface_get_surface_type
gdk_surface_get_display
diff --git a/gdk/gdksurface.c b/gdk/gdksurface.c
index 849bea1a67..651896b34b 100644
--- a/gdk/gdksurface.c
+++ b/gdk/gdksurface.c
@@ -800,6 +800,26 @@ gdk_surface_new_popup (GdkDisplay *display,
return surface;
}
+/**
+ * gdk_surface_get_parent:
+ * @surface: a #GtkSurface
+ *
+ * Returns the parent surface of a surface, or
+ * %NULL if the surface does not have a parent.
+ *
+ * Only popup surfaces have parents.
+ *
+ * Returns: (transfer none) (nullable): the parent of
+ * @surface, or %NULL
+ */
+GdkSurface *
+gdk_surface_get_parent (GdkSurface *surface)
+{
+ g_return_val_if_fail (GDK_IS_SURFACE (surface), NULL);
+
+ return surface->parent;
+}
+
static void
update_pointer_info_foreach (GdkDisplay *display,
GdkDevice *device,
diff --git a/gdk/gdksurface.h b/gdk/gdksurface.h
index 45705fb51a..4bc98b6193 100644
--- a/gdk/gdksurface.h
+++ b/gdk/gdksurface.h
@@ -436,6 +436,9 @@ GdkSurfaceType gdk_surface_get_surface_type (GdkSurface *surface);
GDK_AVAILABLE_IN_ALL
gboolean gdk_surface_is_destroyed (GdkSurface *surface);
+GDK_AVAILABLE_IN_ALL
+GdkSurface * gdk_surface_get_parent (GdkSurface *surface);
+
GDK_AVAILABLE_IN_ALL
GdkDisplay * gdk_surface_get_display (GdkSurface *surface);
GDK_AVAILABLE_IN_ALL
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]