[gtk/wip/otte/nodeeditor: 4/12] renderer: Make gsk_renderer_is_realized() public



commit 639d284a2b3cc79594423079a7f8eb32ed2d0efc
Author: Benjamin Otte <otte redhat com>
Date:   Sat Mar 9 13:59:03 2019 +0100

    renderer: Make gsk_renderer_is_realized() public
    
    ... and add a property for it.

 docs/reference/gsk/gsk4-sections.txt |  1 +
 gsk/gskrenderer.c                    | 18 +++++++++++++++---
 gsk/gskrenderer.h                    |  2 ++
 gsk/gskrendererprivate.h             |  2 --
 4 files changed, 18 insertions(+), 5 deletions(-)
---
diff --git a/docs/reference/gsk/gsk4-sections.txt b/docs/reference/gsk/gsk4-sections.txt
index 63b525b6f5..0e4e5468b4 100644
--- a/docs/reference/gsk/gsk4-sections.txt
+++ b/docs/reference/gsk/gsk4-sections.txt
@@ -4,6 +4,7 @@ gsk_renderer_new_for_surface
 gsk_renderer_get_surface
 gsk_renderer_realize
 gsk_renderer_unrealize
+gsk_renderer_is_realized
 gsk_renderer_render
 gsk_renderer_render_texture
 <SUBSECTION Standard>
diff --git a/gsk/gskrenderer.c b/gsk/gskrenderer.c
index b34cad3d24..95eaa0a1e5 100644
--- a/gsk/gskrenderer.c
+++ b/gsk/gskrenderer.c
@@ -79,7 +79,9 @@ typedef struct
 G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GskRenderer, gsk_renderer, G_TYPE_OBJECT)
 
 enum {
-  PROP_SURFACE = 1,
+  PROP_0,
+  PROP_REALIZED,
+  PROP_SURFACE,
 
   N_PROPS
 };
@@ -147,6 +149,10 @@ gsk_renderer_get_property (GObject    *gobject,
 
   switch (prop_id)
     {
+    case PROP_REALIZED:
+      g_value_set_boolean (value, priv->is_realized);
+      break;
+
     case PROP_SURFACE:
       g_value_set_object (value, priv->surface);
       break;
@@ -170,13 +176,19 @@ gsk_renderer_class_init (GskRendererClass *klass)
   gobject_class->get_property = gsk_renderer_get_property;
   gobject_class->dispose = gsk_renderer_dispose;
 
+  gsk_renderer_properties[PROP_REALIZED] =
+    g_param_spec_boolean ("realized",
+                          "Realized",
+                          "The renderer has been associated with a surface",
+                          FALSE,
+                          G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
+
   gsk_renderer_properties[PROP_SURFACE] =
     g_param_spec_object ("surface",
                          "Surface",
                          "The surface associated to the renderer",
                          GDK_TYPE_SURFACE,
-                         G_PARAM_READABLE |
-                         G_PARAM_STATIC_STRINGS);
+                         G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
 
   g_object_class_install_properties (gobject_class, N_PROPS, gsk_renderer_properties);
 }
diff --git a/gsk/gskrenderer.h b/gsk/gskrenderer.h
index 6af9af1133..6dc3ce1f30 100644
--- a/gsk/gskrenderer.h
+++ b/gsk/gskrenderer.h
@@ -50,6 +50,8 @@ gboolean                gsk_renderer_realize                    (GskRenderer
                                                                  GError                 **error);
 GDK_AVAILABLE_IN_ALL
 void                    gsk_renderer_unrealize                  (GskRenderer             *renderer);
+GDK_AVAILABLE_IN_ALL
+gboolean                gsk_renderer_is_realized                (GskRenderer             *renderer);
 
 GDK_AVAILABLE_IN_ALL
 GdkTexture *            gsk_renderer_render_texture             (GskRenderer             *renderer,
diff --git a/gsk/gskrendererprivate.h b/gsk/gskrendererprivate.h
index a99e84a63c..fcee1849f2 100644
--- a/gsk/gskrendererprivate.h
+++ b/gsk/gskrendererprivate.h
@@ -51,8 +51,6 @@ struct _GskRendererClass
                                                                  const cairo_region_t   *invalid);
 };
 
-gboolean                gsk_renderer_is_realized                (GskRenderer    *renderer);
-
 GskRenderNode *         gsk_renderer_get_root_node              (GskRenderer    *renderer);
 
 GskProfiler *           gsk_renderer_get_profiler               (GskRenderer    *renderer);


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