[gtk/surface-size: 2/2] surface: Add width and height properties




commit fd1033f974b87ffbdafc40ae8615408d73eb02d1
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Aug 7 23:38:28 2020 -0400

    surface: Add width and height properties

 gdk/gdksurface.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
---
diff --git a/gdk/gdksurface.c b/gdk/gdksurface.c
index 09bf78e20c..db48e34f5a 100644
--- a/gdk/gdksurface.c
+++ b/gdk/gdksurface.c
@@ -84,6 +84,8 @@ enum {
   PROP_DISPLAY,
   PROP_FRAME_CLOCK,
   PROP_MAPPED,
+  PROP_WIDTH,
+  PROP_HEIGHT,
   LAST_PROP
 };
 
@@ -522,6 +524,20 @@ gdk_surface_class_init (GdkSurfaceClass *klass)
                             FALSE,
                             G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
+  properties[PROP_WIDTH] =
+      g_param_spec_int ("width",
+                        P_("Width"),
+                        P_("Width"),
+                        0, G_MAXINT, 0,
+                        G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+  properties[PROP_HEIGHT] =
+      g_param_spec_int ("height",
+                        P_("Height"),
+                        P_("Height"),
+                        0, G_MAXINT, 0,
+                        G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
   g_object_class_install_properties (object_class, LAST_PROP, properties);
 
   /**
@@ -742,6 +758,14 @@ gdk_surface_get_property (GObject    *object,
       g_value_set_boolean (value, GDK_SURFACE_IS_MAPPED (surface));
       break;
 
+    case PROP_WIDTH:
+      g_value_set_int (value, surface->width);
+      break;
+
+    case PROP_HEIGHT:
+      g_value_set_int (value, surface->height);
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -755,6 +779,9 @@ _gdk_surface_update_size (GdkSurface *surface)
 
   for (l = surface->draw_contexts; l; l = l->next)
     gdk_draw_context_surface_resized (l->data);
+
+  g_object_notify (G_OBJECT (surface), "width");
+  g_object_notify (G_OBJECT (surface), "height");
 }
 
 static GdkSurface *


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