gdk: Get rid of GdkDrawingContext
authorBenjamin Otte <otte@redhat.com>
Fri, 20 Apr 2018 23:22:19 +0000 (01:22 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 24 Apr 2018 21:16:58 +0000 (23:16 +0200)
All information is kept in GdkDrawContext these days, so use that one.

18 files changed:
docs/reference/gdk/gdk4-sections.txt
gdk/gdk.h
gdk/gdkcairo.h
gdk/gdkcairocontext.c
gdk/gdkdrawingcontext.c [deleted file]
gdk/gdkdrawingcontext.h [deleted file]
gdk/gdkdrawingcontextprivate.h [deleted file]
gdk/gdkinternals.h
gdk/gdksurface.c
gdk/gdksurface.h
gdk/meson.build
gsk/gl/gskglrenderer.c
gsk/gskbroadwayrenderer.c
gsk/gskcairorenderer.c
gsk/vulkan/gskvulkanrenderer.c
testsuite/gtk/defaultvalue.c
testsuite/gtk/notify.c
testsuite/gtk/objects-finalize.c

index 59843dbda63edd8a1cd906185a665dc7d2717b87..cc56a592b91945a8699ff3f4c4417d30bcfbbb2b 100644 (file)
@@ -1183,22 +1183,6 @@ GDK_MONITOR
 GDK_IS_MONITOR
 </SECTION>
 
-<SECTION>
-<FILE>gdkdrawingcontext</FILE>
-GdkDrawingContext
-gdk_drawing_context_get_paint_context
-
-<SUBSECTION Standard>
-gdk_drawing_context_get_type
-GdkDrawingContextClass
-GDK_TYPE_DRAWING_CONTEXT
-GDK_DRAWING_CONTEXT_CLASS
-GDK_DRAWING_CONTEXT_GET_CLASS
-GDK_IS_DRAWING_CONTEXT_CLASS
-GDK_DRAWING_CONTEXT
-GDK_IS_DRAWING_CONTEXT
-</SECTION>
-
 <SECTION>
 <FILE>gdkcairocontext</FILE>
 GdkCairoContext
index 8311ef23bd0d638355e3dcf4748cb42322d5095e..59279d30117b8a1026d372db80a378c0569757fb 100644 (file)
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -46,7 +46,6 @@
 #include <gdk/gdkdisplaymanager.h>
 #include <gdk/gdkdnd.h>
 #include <gdk/gdkdrawcontext.h>
-#include <gdk/gdkdrawingcontext.h>
 #include <gdk/gdkenumtypes.h>
 #include <gdk/gdkevents.h>
 #include <gdk/gdkframeclock.h>
index ecd1bb73d6cdfcecabba4ed603c3aef5a38a532a..4cc7bf0ca739f8104a1a146791df1daa18c18799 100644 (file)
@@ -24,7 +24,6 @@
 
 #include <gdk/gdkversionmacros.h>
 #include <gdk/gdkrgba.h>
-#include <gdk/gdkdrawingcontext.h>
 #include <gdk/gdkpixbuf.h>
 #include <pango/pangocairo.h>
 
index 9dded90aaeddd3f89722b4b313d288faeba9a6db..9308af8a67528a158ef2021891b7dddeee897f65 100644 (file)
@@ -80,26 +80,24 @@ gdk_surface_get_content (GdkSurface *surface)
 static cairo_t *
 gdk_cairo_context_default_cairo_create (GdkCairoContext *self)
 {
+  GdkDrawContext *context;
   GdkSurface *surface;
-  cairo_region_t *region;
   cairo_surface_t *cairo_surface;
   cairo_t *cr;
 
   g_return_val_if_fail (GDK_IS_CAIRO_CONTEXT (self), NULL);
 
-  surface = gdk_draw_context_get_surface (GDK_DRAW_CONTEXT (self));
-  if (surface->drawing_context == NULL ||
-      gdk_drawing_context_get_paint_context (surface->drawing_context) != GDK_DRAW_CONTEXT (self))
+  context = GDK_DRAW_CONTEXT (self);
+  if (!gdk_draw_context_is_drawing (context))
     return NULL;
 
+  surface = gdk_draw_context_get_surface (context);
   cairo_surface = _gdk_surface_ref_cairo_surface (surface);
   cr = cairo_create (cairo_surface);
 
-  region = gdk_surface_get_current_paint_region (surface);
-  gdk_cairo_region (cr, region);
+  gdk_cairo_region (cr, gdk_draw_context_get_frame_region (context));
   cairo_clip (cr);
 
-  cairo_region_destroy (region);
   cairo_surface_destroy (cairo_surface);
 
   return cr;
diff --git a/gdk/gdkdrawingcontext.c b/gdk/gdkdrawingcontext.c
deleted file mode 100644 (file)
index 4d3efb8..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-/* GDK - The GIMP Drawing Kit
- * Copyright 2016  Endless
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/**
- * SECTION:gdkdrawingcontext
- * @Title: GdkDrawingContext
- * @Short_description: Drawing context for GDK surfaces
- *
- * #GdkDrawingContext is an object that represents the current drawing
- * state of a #GdkSurface.
- *
- * It's possible to use a #GdkDrawingContext to draw on a #GdkSurface
- * via rendering API like Cairo or OpenGL.
- *
- * A #GdkDrawingContext can only be created by calling gdk_surface_begin_draw_frame()
- * and will be valid until a call to gdk_surface_end_draw_frame().
- *
- * #GdkDrawingContext is available since GDK 3.22
- */
-
-/**
- * GdkDrawingContext:
- *
- * The GdkDrawingContext struct contains only private fields and should not
- * be accessed directly.
- */
-
-#include "config.h"
-
-#include <cairo-gobject.h>
-
-#include "gdkdrawingcontextprivate.h"
-
-#include "gdkrectangle.h"
-#include "gdkinternals.h"
-#include "gdkintl.h"
-#include "gdksurfaceimpl.h"
-#include "gdk-private.h"
-
-typedef struct _GdkDrawingContextPrivate GdkDrawingContextPrivate;
-
-struct _GdkDrawingContextPrivate {
-  GdkSurface *surface;
-  GdkDrawContext *paint_context;
-
-  cairo_t *cr;
-};
-
-G_DEFINE_TYPE_WITH_PRIVATE (GdkDrawingContext, gdk_drawing_context, G_TYPE_OBJECT)
-
-enum {
-  PROP_0,
-
-  PROP_SURFACE,
-  PROP_PAINT_CONTEXT,
-
-  N_PROPS
-};
-
-static GParamSpec *obj_property[N_PROPS];
-
-static void
-gdk_drawing_context_dispose (GObject *gobject)
-{
-  GdkDrawingContext *self = GDK_DRAWING_CONTEXT (gobject);
-  GdkDrawingContextPrivate *priv = gdk_drawing_context_get_instance_private (self);
-
-  g_clear_object (&priv->surface);
-  g_clear_object (&priv->paint_context);
-  g_clear_pointer (&priv->cr, cairo_destroy);
-
-  G_OBJECT_CLASS (gdk_drawing_context_parent_class)->dispose (gobject);
-}
-
-static void
-gdk_drawing_context_set_property (GObject      *gobject,
-                                  guint         prop_id,
-                                  const GValue *value,
-                                  GParamSpec   *pspec)
-{
-  GdkDrawingContext *self = GDK_DRAWING_CONTEXT (gobject);
-  GdkDrawingContextPrivate *priv = gdk_drawing_context_get_instance_private (self);
-
-  switch (prop_id)
-    {
-    case PROP_SURFACE:
-      priv->surface = g_value_dup_object (value);
-      if (priv->surface == NULL)
-        {
-          g_critical ("The drawing context of type %s does not have a surface "
-                      "associated to it. Drawing contexts can only be created "
-                      "using gdk_surface_begin_draw_frame().",
-                      G_OBJECT_TYPE_NAME (gobject));
-          return;
-        }
-      break;
-
-    case PROP_PAINT_CONTEXT:
-      priv->paint_context = g_value_dup_object (value);
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
-    }
-}
-
-static void
-gdk_drawing_context_get_property (GObject    *gobject,
-                                  guint       prop_id,
-                                  GValue     *value,
-                                  GParamSpec *pspec)
-{
-  GdkDrawingContext *self = GDK_DRAWING_CONTEXT (gobject);
-  GdkDrawingContextPrivate *priv = gdk_drawing_context_get_instance_private (self);
-
-  switch (prop_id)
-    {
-    case PROP_SURFACE:
-      g_value_set_object (value, priv->surface);
-      break;
-
-    case PROP_PAINT_CONTEXT:
-      g_value_set_object (value, priv->paint_context);
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
-    }
-}
-
-static void
-gdk_drawing_context_class_init (GdkDrawingContextClass *klass)
-{
-  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-
-  gobject_class->set_property = gdk_drawing_context_set_property;
-  gobject_class->get_property = gdk_drawing_context_get_property;
-  gobject_class->dispose = gdk_drawing_context_dispose;
-
-  /**
-   * GdkDrawingContext:surface:
-   *
-   * The #GdkSurface that created the drawing context.
-   */
-  obj_property[PROP_SURFACE] =
-    g_param_spec_object ("surface", "Surface", "The surface that created the context",
-                         GDK_TYPE_SURFACE,
-                         G_PARAM_CONSTRUCT_ONLY |
-                         G_PARAM_READWRITE |
-                         G_PARAM_STATIC_STRINGS);
-  /**
-   * GdkDrawingContext:paint-context:
-   *
-   * The #GdkDrawContext used to draw or %NULL if Cairo is used.
-   */
-  obj_property[PROP_PAINT_CONTEXT] =
-    g_param_spec_object ("paint-context", "Paint context", "The context used to draw",
-                         GDK_TYPE_DRAW_CONTEXT,
-                         G_PARAM_CONSTRUCT_ONLY |
-                         G_PARAM_READWRITE |
-                         G_PARAM_STATIC_STRINGS);
-
-  g_object_class_install_properties (gobject_class, N_PROPS, obj_property);
-}
-
-static void
-gdk_drawing_context_init (GdkDrawingContext *self)
-{
-}
-
-/**
- * gdk_drawing_context_get_paint_context:
- * @context: a #GdkDrawingContext
- *
- * Retrieves the paint context used to draw with.
- *
- * Returns: (transfer none): a #GdkDrawContext or %NULL
- */
-GdkDrawContext *
-gdk_drawing_context_get_paint_context (GdkDrawingContext *context)
-{
-  GdkDrawingContextPrivate *priv = gdk_drawing_context_get_instance_private (context);
-
-  g_return_val_if_fail (GDK_IS_DRAWING_CONTEXT (context), NULL);
-
-  return priv->paint_context;
-}
-
diff --git a/gdk/gdkdrawingcontext.h b/gdk/gdkdrawingcontext.h
deleted file mode 100644 (file)
index 0f6795c..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/* GDK - The GIMP Drawing Kit
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __GDK_DRAWING_CONTEXT_H__
-#define __GDK_DRAWING_CONTEXT_H__
-
-#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
-#error "Only <gdk/gdk.h> can be included directly."
-#endif
-
-#include <gdk/gdkversionmacros.h>
-#include <gdk/gdktypes.h>
-
-G_BEGIN_DECLS
-
-#define GDK_TYPE_DRAWING_CONTEXT (gdk_drawing_context_get_type ())
-
-#define GDK_DRAWING_CONTEXT(obj)        (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_DRAWING_CONTEXT, GdkDrawingContext))
-#define GDK_IS_DRAWING_CONTEXT(obj)     (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_DRAWING_CONTEXT))
-
-typedef struct _GdkDrawingContextClass  GdkDrawingContextClass;
-
-GDK_AVAILABLE_IN_ALL
-GType gdk_drawing_context_get_type (void) G_GNUC_CONST;
-
-GDK_AVAILABLE_IN_ALL
-GdkDrawContext* gdk_drawing_context_get_paint_context   (GdkDrawingContext *context);
-
-G_END_DECLS
-
-#endif /* __GDK_DRAWING_CONTEXT_H__ */
diff --git a/gdk/gdkdrawingcontextprivate.h b/gdk/gdkdrawingcontextprivate.h
deleted file mode 100644 (file)
index 8dcc332..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef __GDK_DRAWING_CONTEXT_PRIVATE_H__
-#define __GDK_DRAWING_CONTEXT_PRIVATE_H__
-
-#include "gdkdrawingcontext.h"
-
-G_BEGIN_DECLS
-
-#define GDK_DRAWING_CONTEXT_CLASS(klass)        (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DRAWING_CONTEXT, GdkDrawingContextClass))
-#define GDK_IS_DRAWING_CONTEXT_CLASS(klass)     (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DRAWING_CONTEXT))
-#define GDK_DRAWING_CONTEXT_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DRAWING_CONTEXT, GdkDrawingContextClass))
-
-struct _GdkDrawingContext
-{
-  GObject parent_instance;
-};
-
-struct _GdkDrawingContextClass
-{
-  GObjectClass parent_instance;
-};
-
-G_END_DECLS
-
-#endif /* __GDK_DRAWING_CONTEXT_PRIVATE_H__ */
index 4ffcb79b79584db539a9a576deda73b198fc6c18..f7ccf740a697ae36cb0000afe07d7bfdedfd6d18 100644 (file)
@@ -221,7 +221,7 @@ struct _GdkSurface
   GdkFrameClock *frame_clock; /* NULL to use from parent or default */
 
   GSList *draw_contexts;
-  GdkDrawingContext *drawing_context;
+  GdkDrawContext *paint_context;
 
   cairo_region_t *opaque_region;
 };
@@ -286,9 +286,6 @@ void            gdk_cairo_surface_paint_pixbuf   (cairo_surface_t *surface,
 
 cairo_region_t *gdk_cairo_region_from_clip       (cairo_t         *cr);
 
-void            gdk_cairo_set_drawing_context    (cairo_t           *cr,
-                                                  GdkDrawingContext *context);
-
 /*************************************
  * Interfaces used by windowing code *
  *************************************/
@@ -310,8 +307,6 @@ void gdk_surface_get_unscaled_size (GdkSurface *surface,
                                     int *unscaled_width,
                                     int *unscaled_height);
 
-GdkDrawingContext *gdk_surface_get_drawing_context (GdkSurface *surface);
-
 cairo_region_t *gdk_surface_get_current_paint_region (GdkSurface *surface);
 
 /*****************************************
index 372e9e48bd1b1bed043961769ff81d69cf469335..b4e0d264939a283728e47041cc96daf5fdfcfd4d 100644 (file)
@@ -38,7 +38,6 @@
 #include "gdkmarshalers.h"
 #include "gdksurfaceimpl.h"
 #include "gdkglcontextprivate.h"
-#include "gdkdrawingcontextprivate.h"
 #include "gdk-private.h"
 
 #include <math.h>
@@ -1549,7 +1548,7 @@ gdk_surface_create_vulkan_context (GdkSurface  *surface,
  * @region: a Cairo region
  *
  * Indicates that you are beginning the process of redrawing @region
- * on @surface, and provides you with a #GdkDrawingContext.
+ * on @surface.
  *
  * If @surface is a top level #GdkSurface, backed by a native surface
  * implementation, a backing store (offscreen buffer) large enough to
@@ -1575,94 +1574,72 @@ gdk_surface_create_vulkan_context (GdkSurface  *surface,
  * and already has a backing store. Therefore in most cases, application
  * code in GTK does not need to call gdk_surface_begin_draw_frame()
  * explicitly.
- *
- * Returns: (transfer none): a #GdkDrawingContext context that should be
- *   used to draw the contents of the surface; the returned context is owned
- *   by GDK.
  */
-GdkDrawingContext *
+void
 gdk_surface_begin_draw_frame (GdkSurface           *surface,
                               GdkDrawContext       *draw_context,
                               const cairo_region_t *region)
 {
-  GdkDrawingContext *context;
-
-  g_return_val_if_fail (GDK_IS_SURFACE (surface), NULL);
-  g_return_val_if_fail (gdk_surface_has_native (surface), NULL);
-  g_return_val_if_fail (gdk_surface_is_toplevel (surface), NULL);
-  g_return_val_if_fail (GDK_IS_DRAW_CONTEXT (draw_context), NULL);
-  g_return_val_if_fail (gdk_draw_context_get_surface (draw_context) == surface, NULL);
-  g_return_val_if_fail (region != NULL, NULL);
+  g_return_if_fail (GDK_IS_SURFACE (surface));
+  g_return_if_fail (gdk_surface_has_native (surface));
+  g_return_if_fail (gdk_surface_is_toplevel (surface));
+  g_return_if_fail (GDK_IS_DRAW_CONTEXT (draw_context));
+  g_return_if_fail (gdk_draw_context_get_surface (draw_context) == surface);
+  g_return_if_fail (region != NULL);
 
   if (GDK_SURFACE_DESTROYED (surface))
-    return NULL;
+    return;
 
-  if (surface->drawing_context != NULL)
+  if (surface->paint_context != NULL)
     {
       g_critical ("The surface %p already has a drawing context. You cannot "
                   "call gdk_surface_begin_draw_frame() without calling "
                   "gdk_surface_end_draw_frame() first.", surface);
-      return NULL;
+      return;
     }
 
   draw_context->frame_region = cairo_region_copy (region);
 
   gdk_draw_context_begin_frame (draw_context, draw_context->frame_region);
 
-  context = g_object_new (GDK_TYPE_DRAWING_CONTEXT,
-                          "surface", surface,
-                          "paint-context", draw_context,
-                          NULL);
-
-  /* Do not take a reference, to avoid creating cycles */
-  surface->drawing_context = context;
-
-  return context;
+  surface->paint_context = g_object_ref (draw_context);
 }
 
 /**
  * gdk_surface_end_draw_frame:
  * @surface: a #GdkSurface
- * @context: the #GdkDrawingContext created by gdk_surface_begin_draw_frame()
  *
  * Indicates that the drawing of the contents of @surface started with
  * gdk_surface_begin_frame() has been completed.
  *
- * This function will take care of destroying the #GdkDrawingContext.
- *
  * It is an error to call this function without a matching
  * gdk_surface_begin_frame() first.
  */
 void
-gdk_surface_end_draw_frame (GdkSurface         *surface,
-                            GdkDrawingContext *context)
+gdk_surface_end_draw_frame (GdkSurface *surface)
 {
   GdkDrawContext *paint_context;
 
   g_return_if_fail (GDK_IS_SURFACE (surface));
-  g_return_if_fail (GDK_IS_DRAWING_CONTEXT (context));
 
   if (GDK_SURFACE_DESTROYED (surface))
     return;
 
-  if (surface->drawing_context == NULL)
+  if (surface->paint_context == NULL)
     {
       g_critical ("The surface %p has no drawing context. You must call "
                   "gdk_surface_begin_draw_frame() before calling "
                   "gdk_surface_end_draw_frame().", surface);
       return;
     }
-  g_return_if_fail (surface->drawing_context == context);
 
-  paint_context = gdk_drawing_context_get_paint_context (context);
+  paint_context = g_steal_pointer (&surface->paint_context);
   gdk_draw_context_end_frame (paint_context,
                               paint_context->frame_region,
                               surface->active_update_area);
 
-  surface->drawing_context = NULL;
-
   g_clear_pointer (&paint_context->frame_region, cairo_region_destroy);
-  g_object_unref (context);
+  g_object_unref (paint_context);
 }
 
 /*< private >
@@ -1691,26 +1668,6 @@ gdk_surface_get_current_paint_region (GdkSurface *surface)
   return region;
 }
 
-/*< private >
- * gdk_surface_get_drawing_context:
- * @surface: a #GdkSurface
- *
- * Retrieves the #GdkDrawingContext associated to @surface by
- * gdk_surface_begin_draw_frame().
- *
- * Returns: (transfer none) (nullable): a #GdkDrawingContext, if any is set
- */
-GdkDrawingContext *
-gdk_surface_get_drawing_context (GdkSurface *surface)
-{
-  g_return_val_if_fail (GDK_IS_SURFACE (surface), NULL);
-
-  if (GDK_SURFACE_DESTROYED (surface))
-    return NULL;
-
-  return surface->drawing_context;
-}
-
 /* This is used in places like gdk_cairo_set_source_surface and
  * other places to take "screenshots" of surfaces. Thus, we allow
  * it to be used outside of a begin_paint / end_paint. */
index 3775f20d5db8cd90156376686dc081af9bcf1e0a..c0709d1dda88b9f0dd2a82e7d9d82f415cb24077 100644 (file)
@@ -31,7 +31,6 @@
 
 #include <gdk/gdkversionmacros.h>
 #include <gdk/gdktypes.h>
-#include <gdk/gdkdrawingcontext.h>
 #include <gdk/gdkevents.h>
 #include <gdk/gdkframeclock.h>
 #include <gdk/gdkmonitor.h>
@@ -577,12 +576,11 @@ void          gdk_surface_set_geometry_hints (GdkSurface          *surface,
                                               GdkSurfaceHints      geom_mask);
 
 GDK_AVAILABLE_IN_ALL
-GdkDrawingContext *gdk_surface_begin_draw_frame  (GdkSurface            *surface,
+void          gdk_surface_begin_draw_frame       (GdkSurface            *surface,
                                                   GdkDrawContext       *context,
                                                   const cairo_region_t *region);
 GDK_AVAILABLE_IN_ALL
-void          gdk_surface_end_draw_frame    (GdkSurface            *surface,
-                                             GdkDrawingContext    *context);
+void          gdk_surface_end_draw_frame    (GdkSurface            *surface);
 
 GDK_AVAILABLE_IN_ALL
 void          gdk_surface_set_title         (GdkSurface   *surface,
index 0f22b2fe39153aa0e67ad4958e1f70a3dc5ba6cb..2cbf4a839277e1be3b5bd1c45a87f728fe332883 100644 (file)
@@ -17,7 +17,6 @@ gdk_public_sources = files([
   'gdkdisplaymanager.c',
   'gdkdnd.c',
   'gdkdrawcontext.c',
-  'gdkdrawingcontext.c',
   'gdkevents.c',
   'gdkframeclock.c',
   'gdkframeclockidle.c',
@@ -67,7 +66,6 @@ gdk_public_headers = files([
   'gdkdisplaymanager.h',
   'gdkdnd.h',
   'gdkdrawcontext.h',
-  'gdkdrawingcontext.h',
   'gdkevents.h',
   'gdkframeclock.h',
   'gdkframetimings.h',
@@ -97,7 +95,6 @@ gdk_sources = gdk_public_sources
 gdk_private_h_sources = files([
   'gdkeventsprivate.h',
   'gdkdevicetoolprivate.h',
-  'gdkdrawingcontextprivate.h',
   'gdkmonitorprivate.h',
   'gdkseatdefaultprivate.h',
 ])
index 204b7628ba2bf2a5dfca3fa996ebbbaefc22b0cc..e76c1f8eedf046d405c17e9fca25cd256a605fdc 100644 (file)
@@ -2564,7 +2564,6 @@ gsk_gl_renderer_render (GskRenderer          *renderer,
   GskGLRenderer *self = GSK_GL_RENDERER (renderer);
   graphene_rect_t viewport;
   const cairo_region_t *damage;
-  GdkDrawingContext *context;
   GdkRectangle whole_surface;
   GdkSurface *surface;
 
@@ -2578,9 +2577,9 @@ gsk_gl_renderer_render (GskRenderer          *renderer,
                       gdk_surface_get_height (surface) * self->scale_factor
                   };
 
-  context = gdk_surface_begin_draw_frame (surface,
-                                          GDK_DRAW_CONTEXT (self->gl_context),
-                                          update_area);
+  gdk_surface_begin_draw_frame (surface,
+                                GDK_DRAW_CONTEXT (self->gl_context),
+                                update_area);
 
   damage = gdk_draw_context_get_frame_region (GDK_DRAW_CONTEXT (self->gl_context));
 
@@ -2613,7 +2612,7 @@ gsk_gl_renderer_render (GskRenderer          *renderer,
   gdk_gl_context_make_current (self->gl_context);
   gsk_gl_renderer_clear_tree (self);
 
-  gdk_surface_end_draw_frame (surface, context);
+  gdk_surface_end_draw_frame (surface);
 
   g_clear_pointer (&self->render_region, cairo_region_destroy);
 }
index 1a0268a096237568ecbf7cce25394ce908f88287..ee2a45d6dd2861245cd3417b77b7d224e561634e 100644 (file)
@@ -673,7 +673,6 @@ gsk_broadway_renderer_render (GskRenderer          *self,
   GArray *nodes;
   GPtrArray *node_textures;
   cairo_region_t *whole;
-  GdkDrawingContext *context;
   GdkSurface *surface;
 
   surface = gsk_renderer_get_surface (self);
@@ -682,7 +681,7 @@ gsk_broadway_renderer_render (GskRenderer          *self,
                                            gdk_surface_get_width (surface),
                                            gdk_surface_get_height (surface)
                                          });
-  context = gdk_surface_begin_draw_frame (surface, NULL, whole);
+  gdk_surface_begin_draw_frame (surface, NULL, whole);
   cairo_region_destroy (whole);
 
   nodes = g_array_new (FALSE, FALSE, sizeof(guint32));
@@ -692,7 +691,7 @@ gsk_broadway_renderer_render (GskRenderer          *self,
   g_array_unref (nodes);
   g_ptr_array_unref (node_textures);
 
-  gdk_surface_end_draw_frame (surface, context);
+  gdk_surface_end_draw_frame (surface);
 }
 
 static void
index 43d47d1aacf2b3290b2c15b1d8604c279d2b8010..22e723fdb92f523b4b40ee1eaadcb3c11cfa60cc 100644 (file)
@@ -109,12 +109,11 @@ gsk_cairo_renderer_render (GskRenderer          *renderer,
 {
   GskCairoRenderer *self = GSK_CAIRO_RENDERER (renderer);
   GdkSurface *surface = gsk_renderer_get_surface (renderer);
-  GdkDrawingContext *context;
   cairo_t *cr;
 
-  context = gdk_surface_begin_draw_frame (surface,
-                                          GDK_DRAW_CONTEXT (self->cairo_context),
-                                          region);
+  gdk_surface_begin_draw_frame (surface,
+                                GDK_DRAW_CONTEXT (self->cairo_context),
+                                region);
   cr = gdk_cairo_context_cairo_create (self->cairo_context);
 
   g_return_if_fail (cr != NULL);
@@ -137,7 +136,7 @@ gsk_cairo_renderer_render (GskRenderer          *renderer,
 
   cairo_destroy (cr);
 
-  gdk_surface_end_draw_frame (surface, context);
+  gdk_surface_end_draw_frame (surface);
 }
 
 static void
index 6c17c89a0eabbfcb4311c79da9c34e7ec3673224..c80c4abb13848c7bc9ce846adc2a2353c6aadb08 100644 (file)
@@ -217,7 +217,6 @@ gsk_vulkan_renderer_render (GskRenderer          *renderer,
 {
   GskVulkanRenderer *self = GSK_VULKAN_RENDERER (renderer);
   GskVulkanRender *render;
-  GdkDrawingContext *context;
   GdkSurface *surface;
   const cairo_region_t *clip;
 #ifdef G_ENABLE_DEBUG
@@ -235,9 +234,9 @@ gsk_vulkan_renderer_render (GskRenderer          *renderer,
   gsk_profiler_timer_begin (profiler, self->profile_timers.cpu_time);
 #endif
 
-  context = gdk_surface_begin_draw_frame (surface,
-                                          GDK_DRAW_CONTEXT (self->vulkan),
-                                          region);
+  gdk_surface_begin_draw_frame (surface,
+                                GDK_DRAW_CONTEXT (self->vulkan),
+                                region);
   render = self->render;
 
   clip = gdk_draw_context_get_frame_region (GDK_DRAW_CONTEXT (self->vulkan));
@@ -258,7 +257,7 @@ gsk_vulkan_renderer_render (GskRenderer          *renderer,
   gsk_profiler_push_samples (profiler);
 #endif
 
-  gdk_surface_end_draw_frame (surface, context);
+  gdk_surface_end_draw_frame (surface);
 }
 
 static void
index 4b4c89f9d87fdf1a3fa8b66ef7902ddd9bb5984d..3ae08508682966ccceb5eb9086a4ca1d7d798e07 100644 (file)
@@ -77,7 +77,6 @@ test_type (gconstpointer data)
   /* These can't be freely constructed/destroyed */
   if (g_type_is_a (type, GTK_TYPE_APPLICATION) ||
       g_type_is_a (type, GDK_TYPE_PIXBUF_LOADER) ||
-      g_type_is_a (type, GDK_TYPE_DRAWING_CONTEXT) ||
 #ifdef G_OS_UNIX
       g_type_is_a (type, GTK_TYPE_PRINT_JOB) ||
 #endif
index 3d521378dc69f46d2bafb0512ce5934c9c64a968..bf78772657eab590e560d147e3053bcc304c7c6a 100644 (file)
@@ -368,7 +368,6 @@ test_type (gconstpointer data)
   /* These can't be freely constructed/destroyed */
   if (g_type_is_a (type, GTK_TYPE_APPLICATION) ||
       g_type_is_a (type, GDK_TYPE_PIXBUF_LOADER) ||
-      g_type_is_a (type, GDK_TYPE_DRAWING_CONTEXT) ||
 #ifdef G_OS_UNIX
       g_type_is_a (type, GTK_TYPE_PRINT_JOB) ||
 #endif
index 077783c023accd3494654bd3e14e572e2f08bad5..9ef23492313450b8ce938c668bff862ad91b0591 100644 (file)
@@ -116,7 +116,6 @@ main (int argc, char **argv)
 #endif
          /* Not allowed to finalize a GdkPixbufLoader without calling gdk_pixbuf_loader_close() */
          all_types[i] != GDK_TYPE_PIXBUF_LOADER &&
-         all_types[i] != GDK_TYPE_DRAWING_CONTEXT &&
          all_types[i] != gdk_pixbuf_simple_anim_iter_get_type())
        {
          gchar *test_path = g_strdup_printf ("/FinalizeObject/%s", g_type_name (all_types[i]));