[gtk] renderer: Remove display property



commit 480d8aec06ed43459068ebf471661e3fbdafb2df
Author: Benjamin Otte <otte redhat com>
Date:   Sat Mar 9 13:36:14 2019 +0100

    renderer: Remove display property
    
    Renderers don't need a display until they get realized. And once they
    get realized, they can look up the display from the surface.

 docs/reference/gsk/gsk4-sections.txt |  1 -
 gsk/gskbroadwayrenderer.c            |  2 +-
 gsk/gskrenderer.c                    | 84 +-----------------------------------
 gsk/gskrenderer.h                    |  7 +--
 4 files changed, 4 insertions(+), 90 deletions(-)
---
diff --git a/docs/reference/gsk/gsk4-sections.txt b/docs/reference/gsk/gsk4-sections.txt
index c66c32cfcb..63b525b6f5 100644
--- a/docs/reference/gsk/gsk4-sections.txt
+++ b/docs/reference/gsk/gsk4-sections.txt
@@ -2,7 +2,6 @@
 <FILE>GskRenderer</FILE>
 gsk_renderer_new_for_surface
 gsk_renderer_get_surface
-gsk_renderer_get_display
 gsk_renderer_realize
 gsk_renderer_unrealize
 gsk_renderer_render
diff --git a/gsk/gskbroadwayrenderer.c b/gsk/gskbroadwayrenderer.c
index fc4507f62b..84b948d676 100644
--- a/gsk/gskbroadwayrenderer.c
+++ b/gsk/gskbroadwayrenderer.c
@@ -461,7 +461,7 @@ gsk_broadway_renderer_add_node (GskRenderer *renderer,
                                 float offset_x,
                                 float offset_y)
 {
-  GdkDisplay *display = gsk_renderer_get_display (renderer);
+  GdkDisplay *display = gdk_surface_get_display (gsk_renderer_get_surface (renderer));
 
   switch (gsk_render_node_get_node_type (node))
     {
diff --git a/gsk/gskrenderer.c b/gsk/gskrenderer.c
index d321c50181..b34cad3d24 100644
--- a/gsk/gskrenderer.c
+++ b/gsk/gskrenderer.c
@@ -68,7 +68,6 @@ typedef struct
   GdkSurface *surface;
   GskRenderNode *prev_node;
   GskRenderNode *root_node;
-  GdkDisplay *display;
 
   GskProfiler *profiler;
 
@@ -81,7 +80,6 @@ G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GskRenderer, gsk_renderer, G_TYPE_OBJECT)
 
 enum {
   PROP_SURFACE = 1,
-  PROP_DISPLAY,
 
   N_PROPS
 };
@@ -134,33 +132,10 @@ gsk_renderer_dispose (GObject *gobject)
   g_assert (!priv->is_realized);
 
   g_clear_object (&priv->profiler);
-  g_clear_object (&priv->display);
 
   G_OBJECT_CLASS (gsk_renderer_parent_class)->dispose (gobject);
 }
 
-static void
-gsk_renderer_set_property (GObject      *gobject,
-                           guint         prop_id,
-                           const GValue *value,
-                           GParamSpec   *pspec)
-{
-  GskRenderer *self = GSK_RENDERER (gobject);
-  GskRendererPrivate *priv = gsk_renderer_get_instance_private (self);
-
-  switch (prop_id)
-    {
-    case PROP_DISPLAY:
-      /* Construct-only */
-      priv->display = g_value_dup_object (value);
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
-      break;
-    }
-}
-
 static void
 gsk_renderer_get_property (GObject    *gobject,
                            guint       prop_id,
@@ -176,33 +151,12 @@ gsk_renderer_get_property (GObject    *gobject,
       g_value_set_object (value, priv->surface);
       break;
 
-    case PROP_DISPLAY:
-      g_value_set_object (value, priv->display);
-      break;
-
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
       break;
     }
 }
 
-static void
-gsk_renderer_constructed (GObject *gobject)
-{
-  GskRenderer *self = GSK_RENDERER (gobject);
-  GskRendererPrivate *priv = gsk_renderer_get_instance_private (self);
-
-  if (priv->display == NULL)
-    {
-      GdkDisplayManager *manager = gdk_display_manager_get ();
-
-      priv->display = gdk_display_manager_get_default_display (manager);
-      g_assert (priv->display != NULL);
-    }
-
-  G_OBJECT_CLASS (gsk_renderer_parent_class)->constructed (gobject);
-}
-
 static void
 gsk_renderer_class_init (GskRendererClass *klass)
 {
@@ -213,25 +167,9 @@ gsk_renderer_class_init (GskRendererClass *klass)
   klass->render = gsk_renderer_real_render;
   klass->render_texture = gsk_renderer_real_render_texture;
 
-  gobject_class->constructed = gsk_renderer_constructed;
-  gobject_class->set_property = gsk_renderer_set_property;
   gobject_class->get_property = gsk_renderer_get_property;
   gobject_class->dispose = gsk_renderer_dispose;
 
-  /**
-   * GskRenderer:display:
-   *
-   * The #GdkDisplay used by the #GskRenderer.
-   */
-  gsk_renderer_properties[PROP_DISPLAY] =
-    g_param_spec_object ("display",
-                        "Display",
-                        "The GdkDisplay object used by the renderer",
-                        GDK_TYPE_DISPLAY,
-                        G_PARAM_READWRITE |
-                        G_PARAM_CONSTRUCT_ONLY |
-                        G_PARAM_STATIC_STRINGS);
-
   gsk_renderer_properties[PROP_SURFACE] =
     g_param_spec_object ("surface",
                          "Surface",
@@ -290,24 +228,6 @@ gsk_renderer_get_root_node (GskRenderer *renderer)
 }
 
 /**
- * gsk_renderer_get_display:
- * @renderer: a #GskRenderer
- *
- * Retrieves the #GdkDisplay used when creating the #GskRenderer.
- *
- * Returns: (transfer none): a #GdkDisplay
- */
-GdkDisplay *
-gsk_renderer_get_display (GskRenderer *renderer)
-{
-  GskRendererPrivate *priv = gsk_renderer_get_instance_private (renderer);
-
-  g_return_val_if_fail (GSK_IS_RENDERER (renderer), NULL);
-
-  return priv->display;
-}
-
-/*< private >
  * gsk_renderer_is_realized:
  * @renderer: a #GskRenderer
  *
@@ -674,9 +594,7 @@ gsk_renderer_new_for_surface (GdkSurface *surface)
        * information to stdout.
        */
       verbose |= renderer_possibilities[i].verbose;
-      renderer = g_object_new (renderer_type,
-                               "display", gdk_surface_get_display (surface),
-                               NULL);
+      renderer = g_object_new (renderer_type, NULL);
 
       if (gsk_renderer_realize (renderer, surface, &error))
         {
diff --git a/gsk/gskrenderer.h b/gsk/gskrenderer.h
index 55b32b6c6a..6af9af1133 100644
--- a/gsk/gskrenderer.h
+++ b/gsk/gskrenderer.h
@@ -39,13 +39,10 @@ GDK_AVAILABLE_IN_ALL
 GType gsk_renderer_get_type (void) G_GNUC_CONST;
 
 GDK_AVAILABLE_IN_ALL
-GskRenderer *           gsk_renderer_new_for_surface           (GdkSurface               *surface);
+GskRenderer *           gsk_renderer_new_for_surface            (GdkSurface               *surface);
 
 GDK_AVAILABLE_IN_ALL
-GdkSurface *             gsk_renderer_get_surface               (GskRenderer             *renderer);
-
-GDK_AVAILABLE_IN_ALL
-GdkDisplay *            gsk_renderer_get_display                (GskRenderer             *renderer);
+GdkSurface *            gsk_renderer_get_surface                (GskRenderer             *renderer);
 
 GDK_AVAILABLE_IN_ALL
 gboolean                gsk_renderer_realize                    (GskRenderer             *renderer,


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