summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2019-03-09 13:36:14 +0100
committerBenjamin Otte <otte@redhat.com>2019-03-19 08:47:54 +0100
commit480d8aec06ed43459068ebf471661e3fbdafb2df (patch)
treeba36b8d042c74e01209bfcff7d786c4522cae537
parent0d91481587d27f04200c036bf9fe1b39fd57d051 (diff)
downloadgtk+-480d8aec06ed43459068ebf471661e3fbdafb2df.tar.gz
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.
-rw-r--r--docs/reference/gsk/gsk4-sections.txt1
-rw-r--r--gsk/gskbroadwayrenderer.c2
-rw-r--r--gsk/gskrenderer.c84
-rw-r--r--gsk/gskrenderer.h7
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,34 +132,11 @@ 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,
GValue *value,
@@ -176,10 +151,6 @@ 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;
@@ -187,23 +158,6 @@ gsk_renderer_get_property (GObject *gobject,
}
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)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (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,