summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-05-08 04:36:59 +0000
committerMatthias Clasen <mclasen@redhat.com>2019-05-28 20:25:15 +0000
commitdb855e092d0fcbb49b9b44b2c4497cc89a596215 (patch)
tree3d71559a9be36951983c715bde0b2deaf8678280 /gdk
parentfd0a290d77d5aff6b39706375de2fdca811e04e1 (diff)
downloadgtk+-db855e092d0fcbb49b9b44b2c4497cc89a596215.tar.gz
Add a GdkSurface::parent property
Diffstat (limited to 'gdk')
-rw-r--r--gdk/gdksurface.c16
-rw-r--r--gdk/wayland/gdksurface-wayland.c2
2 files changed, 17 insertions, 1 deletions
diff --git a/gdk/gdksurface.c b/gdk/gdksurface.c
index 651896b34b..ee337c8a2e 100644
--- a/gdk/gdksurface.c
+++ b/gdk/gdksurface.c
@@ -79,6 +79,7 @@ enum {
PROP_0,
PROP_CURSOR,
PROP_DISPLAY,
+ PROP_PARENT,
PROP_FRAME_CLOCK,
PROP_STATE,
PROP_MAPPED,
@@ -437,6 +438,13 @@ gdk_surface_class_init (GdkSurfaceClass *klass)
GDK_TYPE_DISPLAY,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+ properties[PROP_PARENT] =
+ g_param_spec_object ("parent",
+ P_("Parent"),
+ P_("Parent surface"),
+ GDK_TYPE_SURFACE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
properties[PROP_FRAME_CLOCK] =
g_param_spec_object ("frame-clock",
P_("Frame Clock"),
@@ -639,6 +647,10 @@ gdk_surface_set_property (GObject *object,
g_assert (surface->display != NULL);
break;
+ case PROP_PARENT:
+ surface->parent = g_value_dup_object (value);
+ break;
+
case PROP_FRAME_CLOCK:
gdk_surface_set_frame_clock (surface, GDK_FRAME_CLOCK (g_value_get_object (value)));
break;
@@ -671,6 +683,10 @@ gdk_surface_get_property (GObject *object,
g_value_set_object (value, surface->display);
break;
+ case PROP_PARENT:
+ g_value_set_object (value, surface->parent);
+ break;
+
case PROP_FRAME_CLOCK:
g_value_set_object (value, surface->frame_clock);
break;
diff --git a/gdk/wayland/gdksurface-wayland.c b/gdk/wayland/gdksurface-wayland.c
index beea0dcdcd..b3dafbaf4f 100644
--- a/gdk/wayland/gdksurface-wayland.c
+++ b/gdk/wayland/gdksurface-wayland.c
@@ -517,6 +517,7 @@ _gdk_wayland_display_create_surface (GdkDisplay *display,
surface = g_object_new (GDK_TYPE_WAYLAND_SURFACE,
"display", display,
+ "parent", parent,
"frame-clock", frame_clock,
NULL);
@@ -534,7 +535,6 @@ _gdk_wayland_display_create_surface (GdkDisplay *display,
}
surface->surface_type = surface_type;
- surface->parent = parent;
surface->x = x;
surface->y = y;
surface->width = width;