GskTexture => GdkTexture
authorBenjamin Otte <otte@redhat.com>
Thu, 2 Nov 2017 20:39:00 +0000 (21:39 +0100)
committerBenjamin Otte <otte@redhat.com>
Fri, 3 Nov 2017 23:07:13 +0000 (00:07 +0100)
We want this thing to replace GdkPixbuf, so it has to live in GDK.

48 files changed:
docs/reference/gdk/gdk4-sections.txt
docs/reference/gsk/gsk4-sections.txt
gdk/gdk.h
gdk/gdktexture.c [new file with mode: 0644]
gdk/gdktexture.h [new file with mode: 0644]
gdk/gdktextureprivate.h [new file with mode: 0644]
gdk/gdktypes.h
gdk/meson.build
gsk/gsk.h
gsk/gskcairorenderer.c
gsk/gskenums.h
gsk/gskgldriver.c
gsk/gskgldriverprivate.h
gsk/gskglrenderer.c
gsk/gskrenderer.c
gsk/gskrenderer.h
gsk/gskrendererprivate.h
gsk/gskrendernode.c
gsk/gskrendernode.h
gsk/gskrendernodeimpl.c
gsk/gsktexture.c [deleted file]
gsk/gsktexture.h [deleted file]
gsk/gsktextureprivate.h [deleted file]
gsk/gsktypes.h
gsk/gskvulkanimage.c
gsk/gskvulkanimageprivate.h
gsk/gskvulkanrender.c
gsk/gskvulkanrenderer.c
gsk/gskvulkanrendererprivate.h
gsk/gskvulkanrenderpass.c
gsk/gskvulkanrenderprivate.h
gsk/meson.build
gtk/gtkcssimageicontheme.c
gtk/gtkcssimageiconthemeprivate.h
gtk/gtkcssimagesurface.c
gtk/gtkcssimagesurfaceprivate.h
gtk/gtkiconhelper.c
gtk/gtkiconhelperprivate.h
gtk/gtkicontheme.c
gtk/gtkicontheme.h
gtk/gtkrendericon.c
gtk/gtkrendericonprivate.h
gtk/gtksnapshot.c
gtk/gtksnapshot.h
gtk/inspector/gtktreemodelrendernode.c
gtk/inspector/recorder.c
tests/rendernode.c
testsuite/gsk/test-render-nodes.c

index 6723bbbbc054f324ad2747e93255ae4a92842a8d..89a8d2a0782bee125e39a70e9cfda497edc3e486 100644 (file)
@@ -805,6 +805,21 @@ gdk_event_get_type
 gdk_owner_change_get_type
 </SECTION>
 
+<SECTION>
+<FILE>GdkTexture</FILE>
+gdk_texture_new_for_data
+gdk_texture_new_for_surface
+gdk_texture_new_for_pixbuf
+gdk_texture_get_width
+gdk_texture_get_height
+gdk_texture_download
+<SUBSECTION Standard>
+GdkTexture
+gdk_texture_get_type
+GDK_TYPE_TEXTURE
+GDK_IS_TEXTURE
+</SECTION>
+
 <SECTION>
 <TITLE>Cursors</TITLE>
 <FILE>cursors</FILE>
index 8ed5f8f887c019c15c627eaa94b6d16fc3eae08f..6c57301a52f93331fee14da09fc30cac87cc52a2 100644 (file)
@@ -43,8 +43,8 @@ gsk_render_node_get_bounds
 <SUBSECTION Nodes>
 gsk_color_node_new
 gsk_color_node_peek_color
-gsk_texture_node_new
-gsk_texture_node_get_texture
+gdk_texture_node_new
+gdk_texture_node_get_texture
 gsk_linear_gradient_node_new
 gsk_linear_gradient_node_peek_start
 gsk_linear_gradient_node_peek_end
@@ -130,21 +130,6 @@ GSK_SERIALIZATION_ERROR
 GSK_TYPE_SERIALIZATION_ERROR
 </SECTION>
 
-<SECTION>
-<FILE>GskTexture</FILE>
-gsk_texture_new_for_data
-gsk_texture_new_for_surface
-gsk_texture_new_for_pixbuf
-gsk_texture_get_width
-gsk_texture_get_height
-gsk_texture_download
-<SUBSECTION Standard>
-GskTexture
-gsk_texture_get_type
-GSK_TYPE_TEXTURE
-GSK_IS_TEXTURE
-</SECTION>
-
 <SECTION>
 <FILE>GskRoundedRect</FILE>
 GskCorner
index 5ec87bbcbc38757de40931e9ef1eb85aa80b77bb..5520648fc93c81d3b4457bced10aaa944707fdc3 100644 (file)
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -57,6 +57,7 @@
 #include <gdk/gdkrgba.h>
 #include <gdk/gdkseat.h>
 #include <gdk/gdkselection.h>
+#include <gdk/gdktexture.h>
 #include <gdk/gdkthreads.h>
 #include <gdk/gdktypes.h>
 #include <gdk/gdkvulkancontext.h>
diff --git a/gdk/gdktexture.c b/gdk/gdktexture.c
new file mode 100644 (file)
index 0000000..7614457
--- /dev/null
@@ -0,0 +1,556 @@
+/* GDK - The GTK Scene Kit
+ *
+ * Copyright 2016  Benjamin Otte
+ *
+ * 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:GdkTexture
+ * @Title: GdkTexture
+ * @Short_description: Pixel data uploaded to a #GdkRenderer
+ *
+ * #GdkTexture is the basic element used to refer to pixel data.
+ * It is primarily mean for pixel data that will not change over
+ * multiple frames, and will be used for a long time.
+ *
+ * You cannot get your pixel data back once you've uploaded it.
+ *
+ * #GdkTexture is an immutable object: That means you cannot change
+ * anything about it other than increasing the reference count via
+ * g_object_ref().
+ */
+
+#include "config.h"
+
+#include "gdktextureprivate.h"
+
+#include "gdkinternals.h"
+
+/**
+ * GdkTexture:
+ *
+ * The `GdkTexture` structure contains only private data.
+ *
+ * Since: 3.90
+ */
+
+enum {
+  PROP_0,
+  PROP_WIDTH,
+  PROP_HEIGHT,
+
+  N_PROPS
+};
+
+static GParamSpec *properties[N_PROPS];
+
+G_DEFINE_ABSTRACT_TYPE (GdkTexture, gdk_texture, G_TYPE_OBJECT)
+
+#define GDK_TEXTURE_WARN_NOT_IMPLEMENTED_METHOD(obj,method) \
+  g_critical ("Texture of type '%s' does not implement GdkTexture::" # method, G_OBJECT_TYPE_NAME (obj))
+
+static void
+gdk_texture_real_download (GdkTexture *self,
+                           guchar     *data,
+                           gsize       stride)
+{
+  GDK_TEXTURE_WARN_NOT_IMPLEMENTED_METHOD (self, download);
+}
+
+static cairo_surface_t *
+gdk_texture_real_download_surface (GdkTexture *texture)
+{
+  cairo_surface_t *surface;
+
+  surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
+                                        texture->width, texture->height);
+  gdk_texture_download (texture,
+                        cairo_image_surface_get_data (surface),
+                        cairo_image_surface_get_stride (surface));
+  cairo_surface_mark_dirty (surface);
+
+  return surface;
+}
+
+static void
+gdk_texture_set_property (GObject      *gobject,
+                          guint         prop_id,
+                          const GValue *value,
+                          GParamSpec   *pspec)
+{
+  GdkTexture *self = GDK_TEXTURE (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_WIDTH:
+      self->width = g_value_get_int (value);
+      break;
+
+    case PROP_HEIGHT:
+      self->height = g_value_get_int (value);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+gdk_texture_get_property (GObject    *gobject,
+                          guint       prop_id,
+                          GValue     *value,
+                          GParamSpec *pspec)
+{
+  GdkTexture *self = GDK_TEXTURE (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_WIDTH:
+      g_value_set_int (value, self->width);
+      break;
+
+    case PROP_HEIGHT:
+      g_value_set_int (value, self->height);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+gdk_texture_dispose (GObject *object)
+{
+  GdkTexture *self = GDK_TEXTURE (object);
+
+  gdk_texture_clear_render_data (self);
+
+  G_OBJECT_CLASS (gdk_texture_parent_class)->dispose (object);
+}
+
+static void
+gdk_texture_class_init (GdkTextureClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+  klass->download = gdk_texture_real_download;
+  klass->download_surface = gdk_texture_real_download_surface;
+
+  gobject_class->set_property = gdk_texture_set_property;
+  gobject_class->get_property = gdk_texture_get_property;
+  gobject_class->dispose = gdk_texture_dispose;
+
+  /**
+   * GdkRenderer:width:
+   *
+   * The width of the texture.
+   *
+   * Since: 3.90
+   */
+  properties[PROP_WIDTH] =
+    g_param_spec_int ("width",
+                      "Width",
+                      "The width of the texture",
+                      1,
+                      G_MAXINT,
+                      1,
+                      G_PARAM_READWRITE |
+                      G_PARAM_CONSTRUCT_ONLY |
+                      G_PARAM_STATIC_STRINGS |
+                      G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * GdkRenderer:height:
+   *
+   * The height of the texture.
+   *
+   * Since: 3.90
+   */
+  properties[PROP_HEIGHT] =
+    g_param_spec_int ("height",
+                      "Height",
+                      "The height of the texture",
+                      1,
+                      G_MAXINT,
+                      1,
+                      G_PARAM_READWRITE |
+                      G_PARAM_CONSTRUCT_ONLY |
+                      G_PARAM_STATIC_STRINGS |
+                      G_PARAM_EXPLICIT_NOTIFY);
+
+  g_object_class_install_properties (gobject_class, N_PROPS, properties);
+}
+
+static void
+gdk_texture_init (GdkTexture *self)
+{
+}
+
+/* GdkCairoTexture */
+
+#define GDK_TYPE_CAIRO_TEXTURE (gdk_cairo_texture_get_type ())
+
+G_DECLARE_FINAL_TYPE (GdkCairoTexture, gdk_cairo_texture, GDK, CAIRO_TEXTURE, GdkTexture)
+
+struct _GdkCairoTexture {
+  GdkTexture parent_instance;
+  cairo_surface_t *surface;
+};
+
+struct _GdkCairoTextureClass {
+  GdkTextureClass parent_class;
+};
+
+G_DEFINE_TYPE (GdkCairoTexture, gdk_cairo_texture, GDK_TYPE_TEXTURE)
+
+static void
+gdk_cairo_texture_finalize (GObject *object)
+{
+  GdkCairoTexture *self = GDK_CAIRO_TEXTURE (object);
+
+  cairo_surface_destroy (self->surface);
+
+  G_OBJECT_CLASS (gdk_cairo_texture_parent_class)->finalize (object);
+}
+
+static cairo_surface_t *
+gdk_cairo_texture_download_surface (GdkTexture *texture)
+{
+  GdkCairoTexture *self = GDK_CAIRO_TEXTURE (texture);
+
+  return cairo_surface_reference (self->surface);
+}
+
+static void
+gdk_cairo_texture_download (GdkTexture *texture,
+                            guchar     *data,
+                            gsize       stride)
+{
+  GdkCairoTexture *self = GDK_CAIRO_TEXTURE (texture);
+  cairo_surface_t *surface;
+  cairo_t *cr;
+
+  surface = cairo_image_surface_create_for_data (data,
+                                                 CAIRO_FORMAT_ARGB32,
+                                                 texture->width, texture->height,
+                                                 stride);
+  cr = cairo_create (surface);
+
+  cairo_set_source_surface (cr, self->surface, 0, 0);
+  cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
+  cairo_paint (cr);
+
+  cairo_destroy (cr);
+  cairo_surface_finish (surface);
+  cairo_surface_destroy (surface);
+}
+
+static void
+gdk_cairo_texture_class_init (GdkCairoTextureClass *klass)
+{
+  GdkTextureClass *texture_class = GDK_TEXTURE_CLASS (klass);
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+  texture_class->download = gdk_cairo_texture_download;
+  texture_class->download_surface = gdk_cairo_texture_download_surface;
+
+  gobject_class->finalize = gdk_cairo_texture_finalize;
+}
+
+static void
+gdk_cairo_texture_init (GdkCairoTexture *self)
+{
+}
+
+/**
+ * gdk_texture_new_for_data:
+ * @data: (array): the pixel data
+ * @width: the number of pixels in each row
+ * @height: the number of rows
+ * @stride: the distance from the beginning of one row to the next, in bytes
+ *
+ * Creates a new texture object holding the given data.
+ * The data is assumed to be in CAIRO_FORMAT_ARGB32 format.
+ *
+ * Returns: a new #GdkTexture
+ */
+GdkTexture *
+gdk_texture_new_for_data (const guchar *data,
+                          int           width,
+                          int           height,
+                          int           stride)
+{
+  GdkTexture *texture;
+  cairo_surface_t *original, *copy;
+  cairo_t *cr;
+
+  original = cairo_image_surface_create_for_data ((guchar *) data, CAIRO_FORMAT_ARGB32, width, height, stride);
+  copy = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height);
+
+  cr = cairo_create (copy);
+  cairo_set_source_surface (cr, original, 0, 0);
+  cairo_paint (cr);
+  cairo_destroy (cr);
+
+  texture = gdk_texture_new_for_surface (copy);
+
+  cairo_surface_destroy (copy);
+  cairo_surface_finish (original);
+  cairo_surface_destroy (original);
+
+  return texture;
+}
+
+/**
+ * gdk_texture_new_for_surface:
+ * @surface: a cairo image surface
+ *
+ * Creates a new texture object representing the surface.
+ * @surface must be an image surface with format CAIRO_FORMAT_ARGB32.
+ *
+ * Returns: a new #GdkTexture
+ */
+GdkTexture *
+gdk_texture_new_for_surface (cairo_surface_t *surface)
+{
+  GdkCairoTexture *texture;
+
+  g_return_val_if_fail (cairo_surface_get_type (surface) == CAIRO_SURFACE_TYPE_IMAGE, NULL);
+
+  texture = g_object_new (GDK_TYPE_CAIRO_TEXTURE,
+                          "width", cairo_image_surface_get_width (surface),
+                          "height", cairo_image_surface_get_height (surface),
+                          NULL);
+
+  texture->surface = cairo_surface_reference (surface);
+
+  return (GdkTexture *) texture;
+}
+
+/* GdkPixbufTexture */
+
+#define GDK_TYPE_PIXBUF_TEXTURE (gdk_pixbuf_texture_get_type ())
+
+G_DECLARE_FINAL_TYPE (GdkPixbufTexture, gdk_pixbuf_texture, GDK, PIXBUF_TEXTURE, GdkTexture)
+
+struct _GdkPixbufTexture {
+  GdkTexture parent_instance;
+
+  GdkPixbuf *pixbuf;
+};
+
+struct _GdkPixbufTextureClass {
+  GdkTextureClass parent_class;
+};
+
+G_DEFINE_TYPE (GdkPixbufTexture, gdk_pixbuf_texture, GDK_TYPE_TEXTURE)
+
+static void
+gdk_pixbuf_texture_finalize (GObject *object)
+{
+  GdkPixbufTexture *self = GDK_PIXBUF_TEXTURE (object);
+
+  g_object_unref (self->pixbuf);
+
+  G_OBJECT_CLASS (gdk_pixbuf_texture_parent_class)->finalize (object);
+}
+
+static void
+gdk_pixbuf_texture_download (GdkTexture *texture,
+                             guchar     *data,
+                             gsize       stride)
+{
+  GdkPixbufTexture *self = GDK_PIXBUF_TEXTURE (texture);
+  cairo_surface_t *surface;
+
+  surface = cairo_image_surface_create_for_data (data,
+                                                 CAIRO_FORMAT_ARGB32,
+                                                 texture->width, texture->height,
+                                                 stride);
+  gdk_cairo_surface_paint_pixbuf (surface, self->pixbuf);
+  cairo_surface_finish (surface);
+  cairo_surface_destroy (surface);
+}
+
+static cairo_surface_t *
+gdk_pixbuf_texture_download_surface (GdkTexture *texture)
+{
+  GdkPixbufTexture *self = GDK_PIXBUF_TEXTURE (texture);
+
+  return gdk_cairo_surface_create_from_pixbuf (self->pixbuf, 1, NULL);
+}
+
+static void
+gdk_pixbuf_texture_class_init (GdkPixbufTextureClass *klass)
+{
+  GdkTextureClass *texture_class = GDK_TEXTURE_CLASS (klass);
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+  texture_class->download = gdk_pixbuf_texture_download;
+  texture_class->download_surface = gdk_pixbuf_texture_download_surface;
+
+  gobject_class->finalize = gdk_pixbuf_texture_finalize;
+}
+
+static void
+gdk_pixbuf_texture_init (GdkPixbufTexture *self)
+{
+}
+
+/**
+ * gdk_texture_new_for_pixbuf:
+ * @pixbuf: a #GdkPixbuf
+ *
+ * Creates a new texture object representing the GdkPixbuf.
+ *
+ * Returns: a new #GdkTexture
+ */
+GdkTexture *
+gdk_texture_new_for_pixbuf (GdkPixbuf *pixbuf)
+{
+  GdkPixbufTexture *self;
+
+  g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL);
+
+  self = g_object_new (GDK_TYPE_PIXBUF_TEXTURE,
+                       "width", gdk_pixbuf_get_width (pixbuf),
+                       "height", gdk_pixbuf_get_height (pixbuf),
+                       NULL);
+
+  self->pixbuf = g_object_ref (pixbuf);
+
+  return GDK_TEXTURE (self);
+}
+
+/**
+ * gdk_texture_get_width:
+ * @texture: a #GdkTexture
+ *
+ * Returns the width of @texture.
+ *
+ * Returns: the width of the #GdkTexture
+ *
+ * Since: 3.90
+ */
+int
+gdk_texture_get_width (GdkTexture *texture)
+{
+  g_return_val_if_fail (GDK_IS_TEXTURE (texture), 0);
+
+  return texture->width;
+}
+
+/**
+ * gdk_texture_get_height:
+ * @texture: a #GdkTexture
+ *
+ * Returns the height of the @texture.
+ *
+ * Returns: the height of the #GdkTexture
+ *
+ * Since: 3.90
+ */
+int
+gdk_texture_get_height (GdkTexture *texture)
+{
+  g_return_val_if_fail (GDK_IS_TEXTURE (texture), 0);
+
+  return texture->height;
+}
+
+cairo_surface_t *
+gdk_texture_download_surface (GdkTexture *texture)
+{
+  return GDK_TEXTURE_GET_CLASS (texture)->download_surface (texture);
+}
+
+/**
+ * gdk_texture_download:
+ * @texture: a #GdkTexture
+ * @data: pointer to enough memory to be filled with the
+ *     downloaded data of @texture
+ * @stride: rowstride in bytes
+ *
+ * Downloads the @texture into local memory. This may be
+ * an expensive operation, as the actual texture data may
+ * reside on a GPU or on a remote display server.
+ *
+ * The data format of the downloaded data is equivalent to
+ * %CAIRO_FORMAT_ARGB32, so every downloaded pixel requires
+ * 4 bytes of memory.
+ *
+ * Downloading a texture into a Cairo image surface:
+ * |[<!-- language="C" -->
+ * surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
+ *                                       gdk_texture_get_width (texture),
+ *                                       gdk_texture_get_height (texture));
+ * gdk_texture_download (texture,
+ *                       cairo_image_surface_get_data (surface),
+ *                       cairo_image_surface_get_stride (surface));
+ * cairo_surface_mark_dirty (surface);
+ * ]|
+ **/
+void
+gdk_texture_download (GdkTexture *texture,
+                      guchar     *data,
+                      gsize       stride)
+{
+  g_return_if_fail (GDK_IS_TEXTURE (texture));
+  g_return_if_fail (data != NULL);
+  g_return_if_fail (stride >= gdk_texture_get_width (texture) * 4);
+
+  return GDK_TEXTURE_GET_CLASS (texture)->download (texture, data, stride);
+}
+
+gboolean
+gdk_texture_set_render_data (GdkTexture     *self,
+                             gpointer        key,
+                             gpointer        data,
+                             GDestroyNotify  notify)
+{
+  g_return_val_if_fail (data != NULL, FALSE);
+  if (self->render_key != NULL)
+    return FALSE;
+
+  self->render_key = key;
+  self->render_data = data;
+  self->render_notify = notify;
+
+  return TRUE;
+}
+
+void
+gdk_texture_clear_render_data (GdkTexture *self)
+{
+  if (self->render_notify)
+    self->render_notify (self->render_data);
+
+  self->render_key = NULL;
+  self->render_data = NULL;
+  self->render_notify = NULL;
+}
+
+gpointer
+gdk_texture_get_render_data (GdkTexture  *self,
+                             gpointer     key)
+{
+  if (self->render_key != key)
+    return NULL;
+
+  return self->render_data;
+}
diff --git a/gdk/gdktexture.h b/gdk/gdktexture.h
new file mode 100644 (file)
index 0000000..0ac7213
--- /dev/null
@@ -0,0 +1,65 @@
+/* GSK - The GTK Scene Kit
+ *
+ * Copyright 2016  Benjamin Otte
+ *
+ * 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_TEXTURE_H__
+#define __GDK_TEXTURE_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>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+G_BEGIN_DECLS
+
+#define GDK_TYPE_TEXTURE (gdk_texture_get_type ())
+
+#define GDK_TEXTURE(obj)               (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_TEXTURE, GdkTexture))
+#define GDK_IS_TEXTURE(obj)            (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_TEXTURE))
+
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkTexture, g_object_unref)
+
+typedef struct _GdkTextureClass        GdkTextureClass;
+
+
+GDK_AVAILABLE_IN_3_90
+GType gdk_texture_get_type (void) G_GNUC_CONST;
+
+GDK_AVAILABLE_IN_3_90
+GdkTexture *            gdk_texture_new_for_data               (const guchar    *data,
+                                                                int              width,
+                                                                int              height,
+                                                                int              stride);
+GDK_AVAILABLE_IN_3_90
+GdkTexture *            gdk_texture_new_for_pixbuf             (GdkPixbuf       *pixbuf);
+
+GDK_AVAILABLE_IN_3_90
+int                     gdk_texture_get_width                  (GdkTexture      *texture);
+GDK_AVAILABLE_IN_3_90
+int                     gdk_texture_get_height                 (GdkTexture      *texture);
+
+GDK_AVAILABLE_IN_3_90
+void                    gdk_texture_download                   (GdkTexture      *texture,
+                                                                guchar          *data,
+                                                                gsize            stride);
+
+G_END_DECLS
+
+#endif /* __GDK_TEXTURE_H__ */
diff --git a/gdk/gdktextureprivate.h b/gdk/gdktextureprivate.h
new file mode 100644 (file)
index 0000000..f9e5fbe
--- /dev/null
@@ -0,0 +1,49 @@
+#ifndef __GDK_TEXTURE_PRIVATE_H__
+#define __GDK_TEXTURE_PRIVATE_H__
+
+#include "gdktexture.h"
+
+G_BEGIN_DECLS
+
+#define GDK_TEXTURE_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_TEXTURE, GdkTextureClass))
+#define GDK_IS_TEXTURE_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_TEXTURE))
+#define GDK_TEXTURE_GET_CLASS(obj)          (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_TEXTURE, GdkTextureClass))
+
+struct _GdkTexture
+{
+  GObject parent_instance;
+
+  int width;
+  int height;
+
+  gpointer render_key;
+  gpointer render_data;
+  GDestroyNotify render_notify;
+};
+
+struct _GdkTextureClass {
+  GObjectClass parent_class;
+
+  void                  (* download)                    (GdkTexture             *texture,
+                                                         guchar                 *data,
+                                                         gsize                   stride);
+  cairo_surface_t *     (* download_surface)            (GdkTexture             *texture);
+};
+
+gpointer                gdk_texture_new                 (const GdkTextureClass  *klass,
+                                                         int                     width,
+                                                         int                     height);
+GdkTexture *            gdk_texture_new_for_surface     (cairo_surface_t        *surface);
+cairo_surface_t *       gdk_texture_download_surface    (GdkTexture             *texture);
+
+gboolean                gdk_texture_set_render_data     (GdkTexture             *self,
+                                                         gpointer                key,
+                                                         gpointer                data,
+                                                         GDestroyNotify          notify);
+void                    gdk_texture_clear_render_data   (GdkTexture             *self);
+gpointer                gdk_texture_get_render_data     (GdkTexture             *self,
+                                                         gpointer                key);
+
+G_END_DECLS
+
+#endif /* __GDK_TEXTURE_PRIVATE_H__ */
index 34e3a7082468717b06bb79452ff5d1117adfec95..88346fc5450f51a925392e65555620227a9a0f22 100644 (file)
@@ -131,7 +131,7 @@ typedef struct _GdkAtom            *GdkAtom;
 /* Forward declarations of commonly used types */
 typedef struct _GdkRGBA               GdkRGBA;
 typedef struct _GdkCursor             GdkCursor;
-typedef struct _GdkVisual             GdkVisual;
+typedef struct _GdkTexture            GdkTexture;
 typedef struct _GdkDevice             GdkDevice;
 typedef struct _GdkDragContext        GdkDragContext;
 
index 9857dc397659f294d968226bcc1fbff4d7f0b860..47e9428e62bdfdefcbbbbb98de61da27d948c3bd 100644 (file)
@@ -32,6 +32,7 @@ gdk_public_sources = files([
   'gdkseat.c',
   'gdkseatdefault.c',
   'gdkselection.c',
+  'gdktexture.c',
   'gdkvulkancontext.c',
   'gdkwindow.c',
   'gdkwindowimpl.c',
@@ -69,6 +70,7 @@ gdk_public_headers = files([
   'gdkseat.h',
   'gdkselection.h',
   'gdkthreads.h',
+  'gdktexture.h',
   'gdktypes.h',
   'gdkvulkancontext.h',
   'gdkwindow.h',
index e330600a061ba2f5070917590d50574588ee995b..082af850442edececfb5d96652baf18b7aebaf30 100644 (file)
--- a/gsk/gsk.h
+++ b/gsk/gsk.h
@@ -24,7 +24,6 @@
 #include <gsk/gskrenderer.h>
 #include <gsk/gskrendernode.h>
 #include <gsk/gskroundedrect.h>
-#include <gsk/gsktexture.h>
 
 #include <gsk/gsktypes.h>
 #include <gsk/gskenumtypes.h>
index af23d610f62b50dc61ee1d7b15346fb32ad0bb39..c4aa4e9ad71f9c43d378aff3cdd781d498c84cdd 100644 (file)
@@ -5,7 +5,7 @@
 #include "gskdebugprivate.h"
 #include "gskrendererprivate.h"
 #include "gskrendernodeprivate.h"
-#include "gsktextureprivate.h"
+#include "gdk/gdktextureprivate.h"
 
 #ifdef G_ENABLE_DEBUG
 typedef struct {
@@ -70,12 +70,12 @@ gsk_cairo_renderer_do_render (GskRenderer   *renderer,
 #endif
 }
 
-static GskTexture *
+static GdkTexture *
 gsk_cairo_renderer_render_texture (GskRenderer           *renderer,
                                    GskRenderNode         *root,
                                    const graphene_rect_t *viewport)
 {
-  GskTexture *texture;
+  GdkTexture *texture;
   cairo_surface_t *surface;
   cairo_t *cr;
 
@@ -88,7 +88,7 @@ gsk_cairo_renderer_render_texture (GskRenderer           *renderer,
 
   cairo_destroy (cr);
 
-  texture = gsk_texture_new_for_surface (surface);
+  texture = gdk_texture_new_for_surface (surface);
   cairo_surface_destroy (surface);
 
   return texture;
index ca9d5a8e5621c64b40587be5a974d392b16791d2..8a242ff2b85c566d67ea11c3c7278b2c5a09fd1f 100644 (file)
@@ -31,7 +31,7 @@
  * @GSK_LINEAR_GRADIENT_NODE: A node drawing a linear gradient
  * @GSK_REPEATING_LINEAR_GRADIENT_NODE: A node drawing a repeating linear gradient
  * @GSK_BORDER_NODE: A node stroking a border around an area
- * @GSK_TEXTURE_NODE: A node drawing a #GskTexture
+ * @GDK_TEXTURE_NODE: A node drawing a #GdkTexture
  * @GSK_INSET_SHADOW_NODE: A node drawing an inset shadow
  * @GSK_OUTSET_SHADOW_NODE: A node drawing an outset shadow
  * @GSK_TRANSFORM_NODE: A node that renders its child after applying a matrix transform
@@ -58,7 +58,7 @@ typedef enum {
   GSK_LINEAR_GRADIENT_NODE,
   GSK_REPEATING_LINEAR_GRADIENT_NODE,
   GSK_BORDER_NODE,
-  GSK_TEXTURE_NODE,
+  GDK_TEXTURE_NODE,
   GSK_INSET_SHADOW_NODE,
   GSK_OUTSET_SHADOW_NODE,
   GSK_TRANSFORM_NODE,
index ead05347fa0c5b0c685d570918e6f04c44d455bb..41c6f6ca82fa29411087383f77ba5a0779000739 100644 (file)
@@ -3,7 +3,7 @@
 #include "gskgldriverprivate.h"
 
 #include "gskdebugprivate.h"
-#include "gsktextureprivate.h"
+#include "gdk/gdktextureprivate.h"
 
 #include <gdk/gdk.h>
 #include <epoxy/gl.h>
@@ -15,7 +15,7 @@ typedef struct {
   GLuint min_filter;
   GLuint mag_filter;
   GArray *fbos;
-  GskTexture *user;
+  GdkTexture *user;
   gboolean in_use : 1;
 } Texture;
 
@@ -78,7 +78,7 @@ texture_free (gpointer data)
   Texture *t = data;
 
   if (t->user)
-    gsk_texture_clear_render_data (t->user);
+    gdk_texture_clear_render_data (t->user);
 
   g_clear_pointer (&t->fbos, g_array_unref);
   glDeleteTextures (1, &t->texture_id);
@@ -439,7 +439,7 @@ gsk_gl_driver_release_texture (gpointer data)
 
 int
 gsk_gl_driver_get_texture_for_texture (GskGLDriver *driver,
-                                       GskTexture  *texture,
+                                       GdkTexture  *texture,
                                        int          min_filter,
                                        int          mag_filter)
 {
@@ -447,9 +447,9 @@ gsk_gl_driver_get_texture_for_texture (GskGLDriver *driver,
   cairo_surface_t *surface;
 
   g_return_val_if_fail (GSK_IS_GL_DRIVER (driver), -1);
-  g_return_val_if_fail (GSK_IS_TEXTURE (texture), -1);
+  g_return_val_if_fail (GDK_IS_TEXTURE (texture), -1);
 
-  t = gsk_texture_get_render_data (texture, driver);
+  t = gdk_texture_get_render_data (texture, driver);
 
   if (t)
     {
@@ -457,12 +457,12 @@ gsk_gl_driver_get_texture_for_texture (GskGLDriver *driver,
         return t->texture_id;
     }
   
-  t = create_texture (driver, gsk_texture_get_width (texture), gsk_texture_get_height (texture));
+  t = create_texture (driver, gdk_texture_get_width (texture), gdk_texture_get_height (texture));
 
-  if (gsk_texture_set_render_data (texture, driver, t, gsk_gl_driver_release_texture))
+  if (gdk_texture_set_render_data (texture, driver, t, gsk_gl_driver_release_texture))
     t->user = texture;
 
-  surface = gsk_texture_download_surface (texture);
+  surface = gdk_texture_download_surface (texture);
   gsk_gl_driver_bind_source_texture (driver, t->texture_id);
   gsk_gl_driver_init_texture_with_surface (driver,
                                            t->texture_id,
index 64f9be1f818d8beb6f5344c0d8c8accc7fce7124..955a2a8a990f892fb5d9648fe9ffd02fda8f5c64 100644 (file)
@@ -5,8 +5,6 @@
 #include <gdk/gdk.h>
 #include <graphene.h>
 
-#include <gsk/gsktexture.h>
-
 G_BEGIN_DECLS
 
 #define GSK_TYPE_GL_DRIVER (gsk_gl_driver_get_type ())
@@ -26,7 +24,7 @@ void            gsk_gl_driver_begin_frame               (GskGLDriver     *driver
 void            gsk_gl_driver_end_frame                 (GskGLDriver     *driver);
 
 int             gsk_gl_driver_get_texture_for_texture   (GskGLDriver     *driver,
-                                                         GskTexture      *texture,
+                                                         GdkTexture      *texture,
                                                          int              min_filter,
                                                          int              mag_filter);
 int             gsk_gl_driver_create_texture            (GskGLDriver     *driver,
index b899f2fd3bdc8bada3fd9bc084fc398592048cf4..d30e15524bdb3e6ed07d77d515e8715320c7108b 100644 (file)
@@ -10,7 +10,7 @@
 #include "gskrendererprivate.h"
 #include "gskrendernodeprivate.h"
 #include "gskshaderbuilderprivate.h"
-#include "gsktextureprivate.h"
+#include "gdk/gdktextureprivate.h"
 
 #include "gskprivate.h"
 
@@ -798,9 +798,9 @@ gsk_gl_renderer_add_render_item (GskGLRenderer           *self,
 
   switch (gsk_render_node_get_node_type (node))
     {
-    case GSK_TEXTURE_NODE:
+    case GDK_TEXTURE_NODE:
       {
-        GskTexture *texture = gsk_texture_node_get_texture (node);
+        GdkTexture *texture = gdk_texture_node_get_texture (node);
         int gl_min_filter = GL_NEAREST, gl_mag_filter = GL_NEAREST;
 
         get_gl_scaling_filters (node, &gl_min_filter, &gl_mag_filter);
@@ -1167,13 +1167,13 @@ gsk_gl_renderer_do_render (GskRenderer           *renderer,
 #endif
 }
 
-static GskTexture *
+static GdkTexture *
 gsk_gl_renderer_render_texture (GskRenderer           *renderer,
                                 GskRenderNode         *root,
                                 const graphene_rect_t *viewport)
 {
   GskGLRenderer *self = GSK_GL_RENDERER (renderer);
-  GskTexture *texture;
+  GdkTexture *texture;
   cairo_surface_t *surface;
   cairo_t *cr;
 
@@ -1203,7 +1203,7 @@ gsk_gl_renderer_render_texture (GskRenderer           *renderer,
                           viewport->size.height);
   cairo_destroy (cr);
 
-  texture = gsk_texture_new_for_surface (surface);
+  texture = gdk_texture_new_for_surface (surface);
   cairo_surface_destroy (surface);
 
   return texture;
index f998c9de8e84c33e184179c29753cd5182ec2c58..c04bbc33de1cb3756c427d86a7201218717b2281 100644 (file)
@@ -42,7 +42,6 @@
 #include "gskglrendererprivate.h"
 #include "gskprofilerprivate.h"
 #include "gskrendernodeprivate.h"
-#include "gsktexture.h"
 
 #include "gskenumtypes.h"
 
@@ -110,7 +109,7 @@ gsk_renderer_real_unrealize (GskRenderer *self)
   GSK_RENDERER_WARN_NOT_IMPLEMENTED_METHOD (self, unrealize);
 }
 
-static GskTexture *
+static GdkTexture *
 gsk_renderer_real_render_texture (GskRenderer           *self,
                                   GskRenderNode         *root,
                                   const graphene_rect_t *viewport)
@@ -555,7 +554,7 @@ gsk_renderer_unrealize (GskRenderer *renderer)
  * @viewport: (allow-none): the section to draw or %NULL to use @root's bounds
  *
  * Renders the scene graph, described by a tree of #GskRenderNode instances,
- * to a #GskTexture.
+ * to a #GdkTexture.
  *
  * The @renderer will acquire a reference on the #GskRenderNode tree while
  * the rendering is in progress, and will make the tree immutable.
@@ -563,18 +562,18 @@ gsk_renderer_unrealize (GskRenderer *renderer)
  * If you want to apply any transformations to @root, you should put it into a 
  * transform node and pass that node instead.
  *
- * Returns: (transfer full): a #GskTexture with the rendered contents of @root.
+ * Returns: (transfer full): a #GdkTexture with the rendered contents of @root.
  *
  * Since: 3.90
  */
-GskTexture *
+GdkTexture *
 gsk_renderer_render_texture (GskRenderer           *renderer,
                              GskRenderNode         *root,
                              const graphene_rect_t *viewport)
 {
   GskRendererPrivate *priv = gsk_renderer_get_instance_private (renderer);
   graphene_rect_t real_viewport;
-  GskTexture *texture;
+  GdkTexture *texture;
 
   g_return_val_if_fail (GSK_IS_RENDERER (renderer), NULL);
   g_return_val_if_fail (priv->is_realized, NULL);
index ab51bc15956dae51500cade58fc5d776da355cde..8ae8ff157525b44f40c786ab21774aa9b1694cd3 100644 (file)
@@ -61,7 +61,7 @@ GDK_AVAILABLE_IN_3_90
 void                    gsk_renderer_unrealize                  (GskRenderer             *renderer);
 
 GDK_AVAILABLE_IN_3_90
-GskTexture *            gsk_renderer_render_texture             (GskRenderer             *renderer,
+GdkTexture *            gsk_renderer_render_texture             (GskRenderer             *renderer,
                                                                  GskRenderNode           *root,
                                                                  const graphene_rect_t   *viewport);
 
index d9dbe9eca0c7e8cc7baa0b29505989bf99fe13fd..97ac37485426e1bbcf09d0a803a67163ab8a241b 100644 (file)
@@ -42,7 +42,7 @@ struct _GskRendererClass
                         GError **error);
   void (* unrealize) (GskRenderer *renderer);
 
-  GskTexture * (* render_texture) (GskRenderer           *renderer,
+  GdkTexture * (* render_texture) (GskRenderer           *renderer,
                                    GskRenderNode         *root,
                                    const graphene_rect_t *viewport);
   GdkDrawingContext * (* begin_draw_frame) (GskRenderer *renderer,
index 4e4c31b58cd464bfeb8a740ba1fdda35e1eda543..9cccce763b15c299e098dd1c47542092d2095262 100644 (file)
@@ -42,7 +42,6 @@
 
 #include "gskdebugprivate.h"
 #include "gskrendererprivate.h"
-#include "gsktexture.h"
 
 #include <graphene-gobject.h>
 
index c72cbd84bc4fc35f19514d6f6d1711215b891792..12967bd1ddfa974211a166daec434412d7157263 100644 (file)
@@ -101,10 +101,10 @@ GDK_AVAILABLE_IN_3_94
 const GdkRGBA *         gsk_color_node_peek_color               (GskRenderNode            *node);
 
 GDK_AVAILABLE_IN_3_90
-GskRenderNode *         gsk_texture_node_new                    (GskTexture               *texture,
+GskRenderNode *         gdk_texture_node_new                    (GdkTexture               *texture,
                                                                  const graphene_rect_t    *bounds);
 GDK_AVAILABLE_IN_3_94
-GskTexture *            gsk_texture_node_get_texture            (GskRenderNode            *node);
+GdkTexture *            gdk_texture_node_get_texture            (GskRenderNode            *node);
 
 GDK_AVAILABLE_IN_3_90
 GskRenderNode *         gsk_linear_gradient_node_new                (const graphene_rect_t    *bounds,
index 621489b6ddf0402cf888378695f8e225080f1b35..164cda907d183863970e1a84e0e9bc548f213de7 100644 (file)
@@ -24,7 +24,7 @@
 #include "gskdebugprivate.h"
 #include "gskrendererprivate.h"
 #include "gskroundedrectprivate.h"
-#include "gsktextureprivate.h"
+#include "gdk/gdktextureprivate.h"
 
 static gboolean
 check_variant_type (GVariant *variant,
@@ -655,40 +655,40 @@ gsk_border_node_new (const GskRoundedRect     *outline,
   return &self->render_node;
 }
 
-/*** GSK_TEXTURE_NODE ***/
+/*** GDK_TEXTURE_NODE ***/
 
-typedef struct _GskTextureNode GskTextureNode;
+typedef struct _GdkTextureNode GdkTextureNode;
 
-struct _GskTextureNode
+struct _GdkTextureNode
 {
   GskRenderNode render_node;
 
-  GskTexture *texture;
+  GdkTexture *texture;
 };
 
 static void
-gsk_texture_node_finalize (GskRenderNode *node)
+gdk_texture_node_finalize (GskRenderNode *node)
 {
-  GskTextureNode *self = (GskTextureNode *) node;
+  GdkTextureNode *self = (GdkTextureNode *) node;
 
   g_object_unref (self->texture);
 }
 
 static void
-gsk_texture_node_draw (GskRenderNode *node,
+gdk_texture_node_draw (GskRenderNode *node,
                        cairo_t       *cr)
 {
-  GskTextureNode *self = (GskTextureNode *) node;
+  GdkTextureNode *self = (GdkTextureNode *) node;
   cairo_surface_t *surface;
 
-  surface = gsk_texture_download_surface (self->texture);
+  surface = gdk_texture_download_surface (self->texture);
 
   cairo_save (cr);
 
   cairo_translate (cr, node->bounds.origin.x, node->bounds.origin.y);
   cairo_scale (cr,
-               node->bounds.size.width / gsk_texture_get_width (self->texture),
-               node->bounds.size.height / gsk_texture_get_height (self->texture));
+               node->bounds.size.width / gdk_texture_get_width (self->texture),
+               node->bounds.size.height / gdk_texture_get_height (self->texture));
 
   cairo_set_source_surface (cr, surface, 0, 0);
   cairo_paint (cr);
@@ -698,28 +698,28 @@ gsk_texture_node_draw (GskRenderNode *node,
   cairo_surface_destroy (surface);
 }
 
-#define GSK_TEXTURE_NODE_VARIANT_TYPE "(dddduuau)"
+#define GDK_TEXTURE_NODE_VARIANT_TYPE "(dddduuau)"
 
 static GVariant *
-gsk_texture_node_serialize (GskRenderNode *node)
+gdk_texture_node_serialize (GskRenderNode *node)
 {
-  GskTextureNode *self = (GskTextureNode *) node;
+  GdkTextureNode *self = (GdkTextureNode *) node;
   cairo_surface_t *surface;
   GVariant *result;
 
-  surface = gsk_texture_download_surface (self->texture);
+  surface = gdk_texture_download_surface (self->texture);
 
   g_assert (cairo_image_surface_get_width (surface) * 4 == cairo_image_surface_get_stride (surface));
 
   result = g_variant_new ("(dddduu@au)",
                           (double) node->bounds.origin.x, (double) node->bounds.origin.y,
                           (double) node->bounds.size.width, (double) node->bounds.size.height,
-                          (guint32) gsk_texture_get_width (self->texture),
-                          (guint32) gsk_texture_get_height (self->texture),
+                          (guint32) gdk_texture_get_width (self->texture),
+                          (guint32) gdk_texture_get_height (self->texture),
                           g_variant_new_fixed_array (G_VARIANT_TYPE ("u"),
                                                      cairo_image_surface_get_data (surface),
-                                                     gsk_texture_get_width (self->texture)
-                                                     * gsk_texture_get_height (self->texture),
+                                                     gdk_texture_get_width (self->texture)
+                                                     * gdk_texture_get_height (self->texture),
                                                      sizeof (guint32)));
 
   cairo_surface_destroy (surface);
@@ -728,17 +728,17 @@ gsk_texture_node_serialize (GskRenderNode *node)
 }
 
 static GskRenderNode *
-gsk_texture_node_deserialize (GVariant  *variant,
+gdk_texture_node_deserialize (GVariant  *variant,
                               GError   **error)
 {
   GskRenderNode *node;
-  GskTexture *texture;
+  GdkTexture *texture;
   double bounds[4];
   guint32 width, height;
   GVariant *pixel_variant;
   gsize n_pixels;
 
-  if (!check_variant_type (variant, GSK_TEXTURE_NODE_VARIANT_TYPE, error))
+  if (!check_variant_type (variant, GDK_TEXTURE_NODE_VARIANT_TYPE, error))
     return NULL;
 
   g_variant_get (variant, "(dddduu@au)",
@@ -746,40 +746,40 @@ gsk_texture_node_deserialize (GVariant  *variant,
                  &width, &height, &pixel_variant);
 
   /* XXX: Make this work without copying the data */
-  texture = gsk_texture_new_for_data (g_variant_get_fixed_array (pixel_variant, &n_pixels, sizeof (guint32)),
+  texture = gdk_texture_new_for_data (g_variant_get_fixed_array (pixel_variant, &n_pixels, sizeof (guint32)),
                                       width, height, width * 4);
   g_variant_unref (pixel_variant);
 
-  node = gsk_texture_node_new (texture, &GRAPHENE_RECT_INIT(bounds[0], bounds[1], bounds[2], bounds[3]));
+  node = gdk_texture_node_new (texture, &GRAPHENE_RECT_INIT(bounds[0], bounds[1], bounds[2], bounds[3]));
 
   g_object_unref (texture);
 
   return node;
 }
 
-static const GskRenderNodeClass GSK_TEXTURE_NODE_CLASS = {
-  GSK_TEXTURE_NODE,
-  sizeof (GskTextureNode),
-  "GskTextureNode",
-  gsk_texture_node_finalize,
-  gsk_texture_node_draw,
-  gsk_texture_node_serialize,
-  gsk_texture_node_deserialize
+static const GskRenderNodeClass GDK_TEXTURE_NODE_CLASS = {
+  GDK_TEXTURE_NODE,
+  sizeof (GdkTextureNode),
+  "GdkTextureNode",
+  gdk_texture_node_finalize,
+  gdk_texture_node_draw,
+  gdk_texture_node_serialize,
+  gdk_texture_node_deserialize
 };
 
-GskTexture *
-gsk_texture_node_get_texture (GskRenderNode *node)
+GdkTexture *
+gdk_texture_node_get_texture (GskRenderNode *node)
 {
-  GskTextureNode *self = (GskTextureNode *) node;
+  GdkTextureNode *self = (GdkTextureNode *) node;
 
-  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_TEXTURE_NODE), 0);
+  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GDK_TEXTURE_NODE), 0);
 
   return self->texture;
 }
 
 /**
- * gsk_texture_node_new:
- * @texture: the #GskTexture
+ * gdk_texture_node_new:
+ * @texture: the #GdkTexture
  * @bounds: the rectangle to render the texture into
  *
  * Creates a #GskRenderNode that will render the given
@@ -790,15 +790,15 @@ gsk_texture_node_get_texture (GskRenderNode *node)
  * Since: 3.90
  */
 GskRenderNode *
-gsk_texture_node_new (GskTexture            *texture,
+gdk_texture_node_new (GdkTexture            *texture,
                       const graphene_rect_t *bounds)
 {
-  GskTextureNode *self;
+  GdkTextureNode *self;
 
-  g_return_val_if_fail (GSK_IS_TEXTURE (texture), NULL);
+  g_return_val_if_fail (GDK_IS_TEXTURE (texture), NULL);
   g_return_val_if_fail (bounds != NULL, NULL);
 
-  self = (GskTextureNode *) gsk_render_node_new (&GSK_TEXTURE_NODE_CLASS, 0);
+  self = (GdkTextureNode *) gsk_render_node_new (&GDK_TEXTURE_NODE_CLASS, 0);
 
   self->texture = g_object_ref (texture);
   graphene_rect_init_from_rect (&self->render_node.bounds, bounds);
@@ -4448,7 +4448,7 @@ static const GskRenderNodeClass *klasses[] = {
   [GSK_LINEAR_GRADIENT_NODE] = &GSK_LINEAR_GRADIENT_NODE_CLASS,
   [GSK_REPEATING_LINEAR_GRADIENT_NODE] = &GSK_REPEATING_LINEAR_GRADIENT_NODE_CLASS,
   [GSK_BORDER_NODE] = &GSK_BORDER_NODE_CLASS,
-  [GSK_TEXTURE_NODE] = &GSK_TEXTURE_NODE_CLASS,
+  [GDK_TEXTURE_NODE] = &GDK_TEXTURE_NODE_CLASS,
   [GSK_INSET_SHADOW_NODE] = &GSK_INSET_SHADOW_NODE_CLASS,
   [GSK_OUTSET_SHADOW_NODE] = &GSK_OUTSET_SHADOW_NODE_CLASS,
   [GSK_TRANSFORM_NODE] = &GSK_TRANSFORM_NODE_CLASS,
diff --git a/gsk/gsktexture.c b/gsk/gsktexture.c
deleted file mode 100644 (file)
index e7f6670..0000000
+++ /dev/null
@@ -1,559 +0,0 @@
-/* GSK - The GTK Scene Kit
- *
- * Copyright 2016  Benjamin Otte
- *
- * 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:GskTexture
- * @Title: GskTexture
- * @Short_description: Pixel data uploaded to a #GskRenderer
- *
- * #GskTexture is the basic element used to refer to pixel data.
- * It is primarily mean for pixel data that will not change over
- * multiple frames, and will be used for a long time.
- *
- * You cannot get your pixel data back once you've uploaded it.
- *
- * #GskTexture is an immutable object: That means you cannot change
- * anything about it other than increasing the reference count via
- * g_object_ref().
- */
-
-#include "config.h"
-
-#include "gsktextureprivate.h"
-
-#include "gskdebugprivate.h"
-#include "gskrenderer.h"
-
-#include "gdk/gdkinternals.h"
-
-/**
- * GskTexture:
- *
- * The `GskTexture` structure contains only private data.
- *
- * Since: 3.90
- */
-
-enum {
-  PROP_0,
-  PROP_WIDTH,
-  PROP_HEIGHT,
-
-  N_PROPS
-};
-
-static GParamSpec *properties[N_PROPS];
-
-G_DEFINE_ABSTRACT_TYPE (GskTexture, gsk_texture, G_TYPE_OBJECT)
-
-#define GSK_TEXTURE_WARN_NOT_IMPLEMENTED_METHOD(obj,method) \
-  g_critical ("Texture of type '%s' does not implement GskTexture::" # method, G_OBJECT_TYPE_NAME (obj))
-
-static void
-gsk_texture_real_download (GskTexture *self,
-                           guchar     *data,
-                           gsize       stride)
-{
-  GSK_TEXTURE_WARN_NOT_IMPLEMENTED_METHOD (self, download);
-}
-
-static cairo_surface_t *
-gsk_texture_real_download_surface (GskTexture *texture)
-{
-  cairo_surface_t *surface;
-
-  surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                        texture->width, texture->height);
-  gsk_texture_download (texture,
-                        cairo_image_surface_get_data (surface),
-                        cairo_image_surface_get_stride (surface));
-  cairo_surface_mark_dirty (surface);
-
-  return surface;
-}
-
-static void
-gsk_texture_set_property (GObject      *gobject,
-                          guint         prop_id,
-                          const GValue *value,
-                          GParamSpec   *pspec)
-{
-  GskTexture *self = GSK_TEXTURE (gobject);
-
-  switch (prop_id)
-    {
-    case PROP_WIDTH:
-      self->width = g_value_get_int (value);
-      break;
-
-    case PROP_HEIGHT:
-      self->height = g_value_get_int (value);
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
-      break;
-    }
-}
-
-static void
-gsk_texture_get_property (GObject    *gobject,
-                          guint       prop_id,
-                          GValue     *value,
-                          GParamSpec *pspec)
-{
-  GskTexture *self = GSK_TEXTURE (gobject);
-
-  switch (prop_id)
-    {
-    case PROP_WIDTH:
-      g_value_set_int (value, self->width);
-      break;
-
-    case PROP_HEIGHT:
-      g_value_set_int (value, self->height);
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
-      break;
-    }
-}
-
-static void
-gsk_texture_dispose (GObject *object)
-{
-  GskTexture *self = GSK_TEXTURE (object);
-
-  gsk_texture_clear_render_data (self);
-
-  G_OBJECT_CLASS (gsk_texture_parent_class)->dispose (object);
-}
-
-static void
-gsk_texture_class_init (GskTextureClass *klass)
-{
-  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-
-  klass->download = gsk_texture_real_download;
-  klass->download_surface = gsk_texture_real_download_surface;
-
-  gobject_class->set_property = gsk_texture_set_property;
-  gobject_class->get_property = gsk_texture_get_property;
-  gobject_class->dispose = gsk_texture_dispose;
-
-  /**
-   * GskRenderer:width:
-   *
-   * The width of the texture.
-   *
-   * Since: 3.90
-   */
-  properties[PROP_WIDTH] =
-    g_param_spec_int ("width",
-                      "Width",
-                      "The width of the texture",
-                      1,
-                      G_MAXINT,
-                      1,
-                      G_PARAM_READWRITE |
-                      G_PARAM_CONSTRUCT_ONLY |
-                      G_PARAM_STATIC_STRINGS |
-                      G_PARAM_EXPLICIT_NOTIFY);
-
-  /**
-   * GskRenderer:height:
-   *
-   * The height of the texture.
-   *
-   * Since: 3.90
-   */
-  properties[PROP_HEIGHT] =
-    g_param_spec_int ("height",
-                      "Height",
-                      "The height of the texture",
-                      1,
-                      G_MAXINT,
-                      1,
-                      G_PARAM_READWRITE |
-                      G_PARAM_CONSTRUCT_ONLY |
-                      G_PARAM_STATIC_STRINGS |
-                      G_PARAM_EXPLICIT_NOTIFY);
-
-  g_object_class_install_properties (gobject_class, N_PROPS, properties);
-}
-
-static void
-gsk_texture_init (GskTexture *self)
-{
-}
-
-/* GskCairoTexture */
-
-#define GSK_TYPE_CAIRO_TEXTURE (gsk_cairo_texture_get_type ())
-
-G_DECLARE_FINAL_TYPE (GskCairoTexture, gsk_cairo_texture, GSK, CAIRO_TEXTURE, GskTexture)
-
-struct _GskCairoTexture {
-  GskTexture parent_instance;
-  cairo_surface_t *surface;
-};
-
-struct _GskCairoTextureClass {
-  GskTextureClass parent_class;
-};
-
-G_DEFINE_TYPE (GskCairoTexture, gsk_cairo_texture, GSK_TYPE_TEXTURE)
-
-static void
-gsk_cairo_texture_finalize (GObject *object)
-{
-  GskCairoTexture *self = GSK_CAIRO_TEXTURE (object);
-
-  cairo_surface_destroy (self->surface);
-
-  G_OBJECT_CLASS (gsk_cairo_texture_parent_class)->finalize (object);
-}
-
-static cairo_surface_t *
-gsk_cairo_texture_download_surface (GskTexture *texture)
-{
-  GskCairoTexture *self = GSK_CAIRO_TEXTURE (texture);
-
-  return cairo_surface_reference (self->surface);
-}
-
-static void
-gsk_cairo_texture_download (GskTexture *texture,
-                            guchar     *data,
-                            gsize       stride)
-{
-  GskCairoTexture *self = GSK_CAIRO_TEXTURE (texture);
-  cairo_surface_t *surface;
-  cairo_t *cr;
-
-  surface = cairo_image_surface_create_for_data (data,
-                                                 CAIRO_FORMAT_ARGB32,
-                                                 texture->width, texture->height,
-                                                 stride);
-  cr = cairo_create (surface);
-
-  cairo_set_source_surface (cr, self->surface, 0, 0);
-  cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
-  cairo_paint (cr);
-
-  cairo_destroy (cr);
-  cairo_surface_finish (surface);
-  cairo_surface_destroy (surface);
-}
-
-static void
-gsk_cairo_texture_class_init (GskCairoTextureClass *klass)
-{
-  GskTextureClass *texture_class = GSK_TEXTURE_CLASS (klass);
-  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-
-  texture_class->download = gsk_cairo_texture_download;
-  texture_class->download_surface = gsk_cairo_texture_download_surface;
-
-  gobject_class->finalize = gsk_cairo_texture_finalize;
-}
-
-static void
-gsk_cairo_texture_init (GskCairoTexture *self)
-{
-}
-
-/**
- * gsk_texture_new_for_data:
- * @data: (array): the pixel data
- * @width: the number of pixels in each row
- * @height: the number of rows
- * @stride: the distance from the beginning of one row to the next, in bytes
- *
- * Creates a new texture object holding the given data.
- * The data is assumed to be in CAIRO_FORMAT_ARGB32 format.
- *
- * Returns: a new #GskTexture
- */
-GskTexture *
-gsk_texture_new_for_data (const guchar *data,
-                          int           width,
-                          int           height,
-                          int           stride)
-{
-  GskTexture *texture;
-  cairo_surface_t *original, *copy;
-  cairo_t *cr;
-
-  original = cairo_image_surface_create_for_data ((guchar *) data, CAIRO_FORMAT_ARGB32, width, height, stride);
-  copy = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height);
-
-  cr = cairo_create (copy);
-  cairo_set_source_surface (cr, original, 0, 0);
-  cairo_paint (cr);
-  cairo_destroy (cr);
-
-  texture = gsk_texture_new_for_surface (copy);
-
-  cairo_surface_destroy (copy);
-  cairo_surface_finish (original);
-  cairo_surface_destroy (original);
-
-  return texture;
-}
-
-/**
- * gsk_texture_new_for_surface:
- * @surface: a cairo image surface
- *
- * Creates a new texture object representing the surface.
- * @surface must be an image surface with format CAIRO_FORMAT_ARGB32.
- *
- * Returns: a new #GskTexture
- */
-GskTexture *
-gsk_texture_new_for_surface (cairo_surface_t *surface)
-{
-  GskCairoTexture *texture;
-
-  g_return_val_if_fail (cairo_surface_get_type (surface) == CAIRO_SURFACE_TYPE_IMAGE, NULL);
-
-  texture = g_object_new (GSK_TYPE_CAIRO_TEXTURE,
-                          "width", cairo_image_surface_get_width (surface),
-                          "height", cairo_image_surface_get_height (surface),
-                          NULL);
-
-  texture->surface = cairo_surface_reference (surface);
-
-  return (GskTexture *) texture;
-}
-
-/* GskPixbufTexture */
-
-#define GSK_TYPE_PIXBUF_TEXTURE (gsk_pixbuf_texture_get_type ())
-
-G_DECLARE_FINAL_TYPE (GskPixbufTexture, gsk_pixbuf_texture, GSK, PIXBUF_TEXTURE, GskTexture)
-
-struct _GskPixbufTexture {
-  GskTexture parent_instance;
-
-  GdkPixbuf *pixbuf;
-};
-
-struct _GskPixbufTextureClass {
-  GskTextureClass parent_class;
-};
-
-G_DEFINE_TYPE (GskPixbufTexture, gsk_pixbuf_texture, GSK_TYPE_TEXTURE)
-
-static void
-gsk_pixbuf_texture_finalize (GObject *object)
-{
-  GskPixbufTexture *self = GSK_PIXBUF_TEXTURE (object);
-
-  g_object_unref (self->pixbuf);
-
-  G_OBJECT_CLASS (gsk_pixbuf_texture_parent_class)->finalize (object);
-}
-
-static void
-gsk_pixbuf_texture_download (GskTexture *texture,
-                             guchar     *data,
-                             gsize       stride)
-{
-  GskPixbufTexture *self = GSK_PIXBUF_TEXTURE (texture);
-  cairo_surface_t *surface;
-
-  surface = cairo_image_surface_create_for_data (data,
-                                                 CAIRO_FORMAT_ARGB32,
-                                                 texture->width, texture->height,
-                                                 stride);
-  gdk_cairo_surface_paint_pixbuf (surface, self->pixbuf);
-  cairo_surface_finish (surface);
-  cairo_surface_destroy (surface);
-}
-
-static cairo_surface_t *
-gsk_pixbuf_texture_download_surface (GskTexture *texture)
-{
-  GskPixbufTexture *self = GSK_PIXBUF_TEXTURE (texture);
-
-  return gdk_cairo_surface_create_from_pixbuf (self->pixbuf, 1, NULL);
-}
-
-static void
-gsk_pixbuf_texture_class_init (GskPixbufTextureClass *klass)
-{
-  GskTextureClass *texture_class = GSK_TEXTURE_CLASS (klass);
-  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-
-  texture_class->download = gsk_pixbuf_texture_download;
-  texture_class->download_surface = gsk_pixbuf_texture_download_surface;
-
-  gobject_class->finalize = gsk_pixbuf_texture_finalize;
-}
-
-static void
-gsk_pixbuf_texture_init (GskPixbufTexture *self)
-{
-}
-
-/**
- * gsk_texture_new_for_pixbuf:
- * @pixbuf: a #GdkPixbuf
- *
- * Creates a new texture object representing the GdkPixbuf.
- *
- * Returns: a new #GskTexture
- */
-GskTexture *
-gsk_texture_new_for_pixbuf (GdkPixbuf *pixbuf)
-{
-  GskPixbufTexture *self;
-
-  g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL);
-
-  self = g_object_new (GSK_TYPE_PIXBUF_TEXTURE,
-                       "width", gdk_pixbuf_get_width (pixbuf),
-                       "height", gdk_pixbuf_get_height (pixbuf),
-                       NULL);
-
-  self->pixbuf = g_object_ref (pixbuf);
-
-  return GSK_TEXTURE (self);
-}
-
-/**
- * gsk_texture_get_width:
- * @texture: a #GskTexture
- *
- * Returns the width of @texture.
- *
- * Returns: the width of the #GskTexture
- *
- * Since: 3.90
- */
-int
-gsk_texture_get_width (GskTexture *texture)
-{
-  g_return_val_if_fail (GSK_IS_TEXTURE (texture), 0);
-
-  return texture->width;
-}
-
-/**
- * gsk_texture_get_height:
- * @texture: a #GskTexture
- *
- * Returns the height of the @texture.
- *
- * Returns: the height of the #GskTexture
- *
- * Since: 3.90
- */
-int
-gsk_texture_get_height (GskTexture *texture)
-{
-  g_return_val_if_fail (GSK_IS_TEXTURE (texture), 0);
-
-  return texture->height;
-}
-
-cairo_surface_t *
-gsk_texture_download_surface (GskTexture *texture)
-{
-  return GSK_TEXTURE_GET_CLASS (texture)->download_surface (texture);
-}
-
-/**
- * gsk_texture_download:
- * @texture: a #GskTexture
- * @data: pointer to enough memory to be filled with the
- *     downloaded data of @texture
- * @stride: rowstride in bytes
- *
- * Downloads the @texture into local memory. This may be
- * an expensive operation, as the actual texture data may
- * reside on a GPU or on a remote display server.
- *
- * The data format of the downloaded data is equivalent to
- * %CAIRO_FORMAT_ARGB32, so every downloaded pixel requires
- * 4 bytes of memory.
- *
- * Downloading a texture into a Cairo image surface:
- * |[<!-- language="C" -->
- * surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
- *                                       gsk_texture_get_width (texture),
- *                                       gsk_texture_get_height (texture));
- * gsk_texture_download (texture,
- *                       cairo_image_surface_get_data (surface),
- *                       cairo_image_surface_get_stride (surface));
- * cairo_surface_mark_dirty (surface);
- * ]|
- **/
-void
-gsk_texture_download (GskTexture *texture,
-                      guchar     *data,
-                      gsize       stride)
-{
-  g_return_if_fail (GSK_IS_TEXTURE (texture));
-  g_return_if_fail (data != NULL);
-  g_return_if_fail (stride >= gsk_texture_get_width (texture) * 4);
-
-  return GSK_TEXTURE_GET_CLASS (texture)->download (texture, data, stride);
-}
-
-gboolean
-gsk_texture_set_render_data (GskTexture     *self,
-                             gpointer        key,
-                             gpointer        data,
-                             GDestroyNotify  notify)
-{
-  g_return_val_if_fail (data != NULL, FALSE);
-  if (self->render_key != NULL)
-    return FALSE;
-
-  self->render_key = key;
-  self->render_data = data;
-  self->render_notify = notify;
-
-  return TRUE;
-}
-
-void
-gsk_texture_clear_render_data (GskTexture *self)
-{
-  if (self->render_notify)
-    self->render_notify (self->render_data);
-
-  self->render_key = NULL;
-  self->render_data = NULL;
-  self->render_notify = NULL;
-}
-
-gpointer
-gsk_texture_get_render_data (GskTexture  *self,
-                             gpointer     key)
-{
-  if (self->render_key != key)
-    return NULL;
-
-  return self->render_data;
-}
diff --git a/gsk/gsktexture.h b/gsk/gsktexture.h
deleted file mode 100644 (file)
index a241af3..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/* GSK - The GTK Scene Kit
- *
- * Copyright 2016  Benjamin Otte
- *
- * 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 __GSK_TEXTURE_H__
-#define __GSK_TEXTURE_H__
-
-#if !defined (__GSK_H_INSIDE__) && !defined (GSK_COMPILATION)
-#error "Only <gsk/gsk.h> can be included directly."
-#endif
-
-#include <gsk/gsktypes.h>
-
-G_BEGIN_DECLS
-
-#define GSK_TYPE_TEXTURE (gsk_texture_get_type ())
-
-#define GSK_TEXTURE(obj)               (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSK_TYPE_TEXTURE, GskTexture))
-#define GSK_IS_TEXTURE(obj)            (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSK_TYPE_TEXTURE))
-
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(GskTexture, g_object_unref)
-
-typedef struct _GskTextureClass        GskTextureClass;
-
-
-GDK_AVAILABLE_IN_3_90
-GType gsk_texture_get_type (void) G_GNUC_CONST;
-
-GDK_AVAILABLE_IN_3_90
-GskTexture *            gsk_texture_new_for_data               (const guchar    *data,
-                                                                int              width,
-                                                                int              height,
-                                                                int              stride);
-GDK_AVAILABLE_IN_3_90
-GskTexture *            gsk_texture_new_for_pixbuf             (GdkPixbuf       *pixbuf);
-
-GDK_AVAILABLE_IN_3_90
-int                     gsk_texture_get_width                  (GskTexture      *texture);
-GDK_AVAILABLE_IN_3_90
-int                     gsk_texture_get_height                 (GskTexture      *texture);
-
-GDK_AVAILABLE_IN_3_90
-void                    gsk_texture_download                   (GskTexture      *texture,
-                                                                guchar          *data,
-                                                                gsize            stride);
-
-G_END_DECLS
-
-#endif /* __GSK_TEXTURE_H__ */
diff --git a/gsk/gsktextureprivate.h b/gsk/gsktextureprivate.h
deleted file mode 100644 (file)
index 9d4cd10..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef __GSK_TEXTURE_PRIVATE_H__
-#define __GSK_TEXTURE_PRIVATE_H__
-
-#include "gsktexture.h"
-
-G_BEGIN_DECLS
-
-#define GSK_TEXTURE_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), GSK_TYPE_TEXTURE, GskTextureClass))
-#define GSK_IS_TEXTURE_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), GSK_TYPE_TEXTURE))
-#define GSK_TEXTURE_GET_CLASS(obj)          (G_TYPE_INSTANCE_GET_CLASS ((obj), GSK_TYPE_TEXTURE, GskTextureClass))
-
-struct _GskTexture
-{
-  GObject parent_instance;
-
-  int width;
-  int height;
-
-  gpointer render_key;
-  gpointer render_data;
-  GDestroyNotify render_notify;
-};
-
-struct _GskTextureClass {
-  GObjectClass parent_class;
-
-  void                  (* download)                    (GskTexture             *texture,
-                                                         guchar                 *data,
-                                                         gsize                   stride);
-  cairo_surface_t *     (* download_surface)            (GskTexture             *texture);
-};
-
-gpointer                gsk_texture_new                 (const GskTextureClass  *klass,
-                                                         int                     width,
-                                                         int                     height);
-GskTexture *            gsk_texture_new_for_surface     (cairo_surface_t        *surface);
-cairo_surface_t *       gsk_texture_download_surface    (GskTexture             *texture);
-
-gboolean                gsk_texture_set_render_data     (GskTexture             *self,
-                                                         gpointer                key,
-                                                         gpointer                data,
-                                                         GDestroyNotify          notify);
-void                    gsk_texture_clear_render_data   (GskTexture             *self);
-gpointer                gsk_texture_get_render_data     (GskTexture             *self,
-                                                         gpointer                key);
-
-G_END_DECLS
-
-#endif /* __GSK_TEXTURE_PRIVATE_H__ */
index 32fab4cf497ffbd3b5fcf42dcc3d83ab26f0a148..a5e5eccd704967726aa0806529ab976b3cd33257 100644 (file)
@@ -27,6 +27,6 @@
 #include <gsk/gskenums.h>
 
 typedef struct _GskRenderer             GskRenderer;
-typedef struct _GskTexture              GskTexture;
+typedef struct _GdkTexture              GdkTexture;
 
 #endif /* __GSK_TYPES_H__ */
index 4ea8a44295e56a9134e2f2c2b37344540e660190..8ebcd9e358fd359c4d409623451aa85258640b30 100644 (file)
@@ -627,12 +627,12 @@ gsk_vulkan_image_new_for_texture (GdkVulkanContext *context,
   return self;
 }
 
-GskTexture *
+GdkTexture *
 gsk_vulkan_image_download (GskVulkanImage    *self,
                            GskVulkanUploader *uploader)
 {
   GskVulkanBuffer *buffer;
-  GskTexture *texture;
+  GdkTexture *texture;
   guchar *mem;
 
   gsk_vulkan_uploader_add_image_barrier (uploader,
@@ -671,7 +671,7 @@ gsk_vulkan_image_download (GskVulkanImage    *self,
   GSK_VK_CHECK (vkQueueWaitIdle, gdk_vulkan_context_get_queue (self->vulkan));
 
   mem = gsk_vulkan_buffer_map (buffer);
-  texture = gsk_texture_new_for_data (mem, self->width, self->height, self->width * 4);
+  texture = gdk_texture_new_for_data (mem, self->width, self->height, self->width * 4);
   gsk_vulkan_buffer_unmap (buffer);
   gsk_vulkan_buffer_free (buffer);
 
index f6223e9980af04934c05fe145d248eb754740a9b..20c49aa94e671d8b18c4e61551f6983bcb59cee5 100644 (file)
@@ -3,7 +3,6 @@
 
 #include <gdk/gdk.h>
 
-#include "gsk/gsktexture.h"
 #include "gsk/gskvulkancommandpoolprivate.h"
 
 G_BEGIN_DECLS
@@ -55,7 +54,7 @@ GskVulkanImage *        gsk_vulkan_image_new_for_texture                (GdkVulk
                                                                          gsize                   width,
                                                                          gsize                   height);
 
-GskTexture *            gsk_vulkan_image_download                       (GskVulkanImage         *self,
+GdkTexture *            gsk_vulkan_image_download                       (GskVulkanImage         *self,
                                                                          GskVulkanUploader      *uploader);
 
 gsize                   gsk_vulkan_image_get_width                      (GskVulkanImage         *self);
index e94185d7311795f1831a8fdbef0dc2ca0e0227e5..5d8b241c126ed291909b13ae86d0e188b7cf4ff1 100644 (file)
@@ -629,7 +629,7 @@ gsk_vulkan_render_draw (GskVulkanRender *self)
     }
 }
 
-GskTexture *
+GdkTexture *
 gsk_vulkan_render_download_target (GskVulkanRender *self)
 {
   gsk_vulkan_uploader_reset (self->uploader);
index 7bc9431d583cdec0d4beed997ae1ef28759568d4..82c25ecd538c857c042bc014a41e7b728ea3c16e 100644 (file)
@@ -6,19 +6,20 @@
 #include "gskprivate.h"
 #include "gskrendererprivate.h"
 #include "gskrendernodeprivate.h"
-#include "gsktextureprivate.h"
 #include "gskvulkanbufferprivate.h"
 #include "gskvulkanimageprivate.h"
 #include "gskvulkanpipelineprivate.h"
 #include "gskvulkanrenderprivate.h"
 #include "gskvulkanglyphcacheprivate.h"
 
+#include "gdk/gdktextureprivate.h"
+
 #include <graphene.h>
 
 typedef struct _GskVulkanTextureData GskVulkanTextureData;
 
 struct _GskVulkanTextureData {
-  GskTexture *texture;
+  GdkTexture *texture;
   GskVulkanImage *image;
   GskVulkanRenderer *renderer;
 };
@@ -144,7 +145,7 @@ gsk_vulkan_renderer_unrealize (GskRenderer *renderer)
       GskVulkanTextureData *data = l->data;
 
       data->renderer = NULL;
-      gsk_texture_clear_render_data (data->texture);
+      gdk_texture_clear_render_data (data->texture);
     }
   g_clear_pointer (&self->textures, (GDestroyNotify) g_slist_free);
 
@@ -158,7 +159,7 @@ gsk_vulkan_renderer_unrealize (GskRenderer *renderer)
   g_clear_object (&self->vulkan);
 }
 
-static GskTexture *
+static GdkTexture *
 gsk_vulkan_renderer_render_texture (GskRenderer           *renderer,
                                     GskRenderNode         *root,
                                     const graphene_rect_t *viewport)
@@ -166,7 +167,7 @@ gsk_vulkan_renderer_render_texture (GskRenderer           *renderer,
   GskVulkanRenderer *self = GSK_VULKAN_RENDERER (renderer);
   GskVulkanRender *render;
   GskVulkanImage *image;
-  GskTexture *texture;
+  GdkTexture *texture;
 #ifdef G_ENABLE_DEBUG
   GskProfiler *profiler;
   gint64 cpu_time;
@@ -310,18 +311,18 @@ gsk_vulkan_renderer_clear_texture (gpointer p)
 
 GskVulkanImage *
 gsk_vulkan_renderer_ref_texture_image (GskVulkanRenderer *self,
-                                       GskTexture        *texture,
+                                       GdkTexture        *texture,
                                        GskVulkanUploader *uploader)
 {
   GskVulkanTextureData *data;
   cairo_surface_t *surface;
   GskVulkanImage *image;
 
-  data = gsk_texture_get_render_data (texture, self);
+  data = gdk_texture_get_render_data (texture, self);
   if (data)
     return g_object_ref (data->image);
 
-  surface = gsk_texture_download_surface (texture);
+  surface = gdk_texture_download_surface (texture);
   image = gsk_vulkan_image_new_from_data (uploader,
                                           cairo_image_surface_get_data (surface),
                                           cairo_image_surface_get_width (surface),
@@ -334,7 +335,7 @@ gsk_vulkan_renderer_ref_texture_image (GskVulkanRenderer *self,
   data->texture = texture;
   data->renderer = self;
 
-  if (gsk_texture_set_render_data (texture, self, data, gsk_vulkan_renderer_clear_texture))
+  if (gdk_texture_set_render_data (texture, self, data, gsk_vulkan_renderer_clear_texture))
     {
       g_object_ref (data->image);
       self->textures = g_slist_prepend (self->textures, data);
index d86734c9dfb34451acdcaf816eb29396a9f376cb..42ffc22c04a11c40bcc5616ed4d001b26539ecc8 100644 (file)
@@ -22,7 +22,7 @@ typedef struct _GskVulkanRendererClass           GskVulkanRendererClass;
 GType gsk_vulkan_renderer_get_type (void) G_GNUC_CONST;
 
 GskVulkanImage *        gsk_vulkan_renderer_ref_texture_image           (GskVulkanRenderer      *self,
-                                                                         GskTexture             *texture,
+                                                                         GdkTexture             *texture,
                                                                          GskVulkanUploader      *uploader);
 
 typedef struct
index d902a90961fc0ac6147376662f7503a523ff8bcb..7086e007fc31a8f81e0636b282a7fade700dccef 100644 (file)
@@ -442,7 +442,7 @@ gsk_vulkan_render_pass_add_node (GskVulkanRenderPass           *self,
         return;
       }
 
-    case GSK_TEXTURE_NODE:
+    case GDK_TEXTURE_NODE:
       if (gsk_vulkan_clip_contains_rect (&constants->clip, &node->bounds))
         pipeline_type = GSK_VULKAN_PIPELINE_TEXTURE;
       else if (constants->clip.type == GSK_VULKAN_CLIP_RECT)
@@ -678,11 +678,11 @@ gsk_vulkan_render_pass_get_node_as_texture (GskVulkanRenderPass   *self,
 
   switch ((guint) gsk_render_node_get_node_type (node))
     {
-    case GSK_TEXTURE_NODE:
+    case GDK_TEXTURE_NODE:
       if (graphene_rect_equal (bounds, &node->bounds))
         {
           result = gsk_vulkan_renderer_ref_texture_image (GSK_VULKAN_RENDERER (gsk_vulkan_render_get_renderer (render)),
-                                                          gsk_texture_node_get_texture (node),
+                                                          gdk_texture_node_get_texture (node),
                                                           uploader);
           gsk_vulkan_render_add_cleanup_image (render, result);
           *tex_rect = GRAPHENE_RECT_INIT(0, 0, 1, 1);
@@ -938,7 +938,7 @@ gsk_vulkan_render_pass_upload (GskVulkanRenderPass  *self,
         case GSK_VULKAN_OP_TEXTURE:
           {
             op->render.source = gsk_vulkan_renderer_ref_texture_image (GSK_VULKAN_RENDERER (gsk_vulkan_render_get_renderer (render)),
-                                                                       gsk_texture_node_get_texture (op->render.node),
+                                                                       gdk_texture_node_get_texture (op->render.node),
                                                                        uploader);
             op->render.source_rect = GRAPHENE_RECT_INIT(0, 0, 1, 1);
             gsk_vulkan_render_add_cleanup_image (render, op->render.source);
index 1455bb7238ac643878726cff7cc7c79653e9568c..eb0b68863e38b3e015440b66d90e739b8132ca95 100644 (file)
@@ -85,7 +85,7 @@ void                    gsk_vulkan_render_draw                          (GskVulk
 
 void                    gsk_vulkan_render_submit                        (GskVulkanRender        *self);
 
-GskTexture *            gsk_vulkan_render_download_target               (GskVulkanRender        *self);
+GdkTexture *            gsk_vulkan_render_download_target               (GskVulkanRender        *self);
 VkFramebuffer           gsk_vulkan_render_get_framebuffer               (GskVulkanRender        *self,
                                                                          GskVulkanImage         *image);
 
index a86e1566b6f14f260c58bc399ed066d26709c45a..bdf64324c6f29e81edcbb0336441184e5e17484f 100644 (file)
@@ -17,8 +17,7 @@ gsk_public_sources = files([
   'gskrenderer.c',
   'gskrendernode.c',
   'gskrendernodeimpl.c',
-  'gskroundedrect.c',
-  'gsktexture.c',
+  'gskroundedrect.c'
 ])
 
 gsk_private_sources = files([
@@ -38,7 +37,6 @@ gsk_public_headers = files([
   'gskrenderer.h',
   'gskrendernode.h',
   'gskroundedrect.h',
-  'gsktexture.h',
   'gsktypes.h',
 ])
 
index 9b0fe31943fd07d433df5df3785214b7f5961c1a..b10f38d036b0ed62b38fabe99943b2535a69a33a 100644 (file)
@@ -46,7 +46,7 @@ gtk_css_image_icon_theme_snapshot (GtkCssImage *image,
                                    double       height)
 {
   GtkCssImageIconTheme *icon_theme = GTK_CSS_IMAGE_ICON_THEME (image);
-  GskTexture *texture;
+  GdkTexture *texture;
   double texture_width, texture_height;
   gint size;
 
@@ -90,7 +90,7 @@ gtk_css_image_icon_theme_snapshot (GtkCssImage *image,
           return;
         }
 
-      texture = gsk_texture_new_for_pixbuf (pixbuf);
+      texture = gdk_texture_new_for_pixbuf (pixbuf);
 
       g_clear_object (&icon_theme->cached_texture);
       icon_theme->cached_size = size;
@@ -100,8 +100,8 @@ gtk_css_image_icon_theme_snapshot (GtkCssImage *image,
       g_object_unref (icon_info);
     }
 
-  texture_width = (double) gsk_texture_get_width (texture) / icon_theme->scale;
-  texture_height = (double) gsk_texture_get_height (texture) / icon_theme->scale;
+  texture_width = (double) gdk_texture_get_width (texture) / icon_theme->scale;
+  texture_height = (double) gdk_texture_get_height (texture) / icon_theme->scale;
 
   gtk_snapshot_append_texture (snapshot,
                                texture,
index 91312721954b7f8768e2c1509ece8cf23560eb6c..1b61adba1af6894cd0abbf8096d063ceac53a987 100644 (file)
@@ -48,7 +48,7 @@ struct _GtkCssImageIconTheme
   char *name;
 
   int cached_size;
-  GskTexture *cached_texture;
+  GdkTexture *cached_texture;
 };
 
 struct _GtkCssImageIconThemeClass
index a41781f6823577eadf4272e15a469b4eac1e4dac..9ab611539be478daf3889d7a9989053e0744f07c 100644 (file)
@@ -31,7 +31,7 @@ gtk_css_image_surface_get_width (GtkCssImage *image)
   if (surface->texture == NULL)
     return 0;
 
-  return gsk_texture_get_width (surface->texture);
+  return gdk_texture_get_width (surface->texture);
 }
 
 static int
@@ -42,7 +42,7 @@ gtk_css_image_surface_get_height (GtkCssImage *image)
   if (surface->texture == NULL)
     return 0;
 
-  return gsk_texture_get_height (surface->texture);
+  return gdk_texture_get_height (surface->texture);
 }
 
 static void
@@ -60,8 +60,8 @@ gtk_css_image_surface_snapshot (GtkCssImage *image,
                                surface->texture,
                                &GRAPHENE_RECT_INIT (0, 0, width, height),
                                "Surface Image %dx%d",
-                               gsk_texture_get_width (surface->texture),
-                               gsk_texture_get_height (surface->texture));
+                               gdk_texture_get_width (surface->texture),
+                               gdk_texture_get_height (surface->texture));
 }
 
 static void
@@ -101,7 +101,7 @@ _gtk_css_image_surface_init (GtkCssImageSurface *image_surface)
 }
 
 GtkCssImage *
-gtk_css_image_surface_new (GskTexture *texture)
+gtk_css_image_surface_new (GdkTexture *texture)
 {
   GtkCssImage *image;
 
@@ -117,11 +117,11 @@ GtkCssImage *
 gtk_css_image_surface_new_for_pixbuf (GdkPixbuf *pixbuf)
 {
   GtkCssImage *image;
-  GskTexture *texture;
+  GdkTexture *texture;
 
   g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL);
 
-  texture = gsk_texture_new_for_pixbuf (pixbuf);
+  texture = gdk_texture_new_for_pixbuf (pixbuf);
   image = gtk_css_image_surface_new (texture);
   g_object_unref (texture);
 
index 5878f95adaf4a81e224c3f3e36e887af67530557..9575e78907a52f419a3ffe1cc73b88a2924afccd 100644 (file)
@@ -38,7 +38,7 @@ struct _GtkCssImageSurface
 {
   GtkCssImage parent;
 
-  GskTexture *texture; /* the texture we render */
+  GdkTexture *texture; /* the texture we render */
 };
 
 struct _GtkCssImageSurfaceClass
@@ -48,7 +48,7 @@ struct _GtkCssImageSurfaceClass
 
 GType          _gtk_css_image_surface_get_type             (void) G_GNUC_CONST;
 
-GtkCssImage *  gtk_css_image_surface_new                   (GskTexture      *texture);
+GtkCssImage *  gtk_css_image_surface_new                   (GdkTexture      *texture);
 GtkCssImage *  gtk_css_image_surface_new_for_pixbuf        (GdkPixbuf       *pixbuf);
 
 G_END_DECLS
index d701e1718680f76f0770826a3ee02401b6231c00..27ae6875eea1fd4a94a4007e35703740438aabec 100644 (file)
@@ -371,7 +371,7 @@ gtk_icon_helper_ensure_surface (GtkIconHelper *self)
   self->rendered_surface = gtk_icon_helper_load_surface (self, scale);
 }
 
-static GskTexture *
+static GdkTexture *
 find_cached_texture (GtkIconHelper *self)
 {
   GtkIconTheme *icon_theme;
@@ -382,7 +382,7 @@ find_cached_texture (GtkIconHelper *self)
   int scale;
   GIcon *gicon;
   GtkIconInfo *info;
-  GskTexture *texture;
+  GdkTexture *texture;
 
   style = gtk_css_node_get_style (self->node);
   dir = gtk_widget_get_direction (self->owner);
@@ -464,7 +464,7 @@ gtk_icon_helper_ensure_texture (GtkIconHelper *self)
   map = cairo_surface_map_to_image (self->rendered_surface,
                                     &(GdkRectangle) { 0, 0, width * scale, height * scale});
 
-  self->texture = gsk_texture_new_for_data (cairo_image_surface_get_data (map),
+  self->texture = gdk_texture_new_for_data (cairo_image_surface_get_data (map),
                                                   width * scale,
                                                   height * scale,
                                                   cairo_image_surface_get_stride (map));
@@ -653,7 +653,7 @@ gtk_icon_helper_snapshot (GtkIconHelper *self,
                           GtkSnapshot   *snapshot)
 {
   GtkCssStyle *style;
-  GskTexture *texture;
+  GdkTexture *texture;
   graphene_matrix_t matrix;
   graphene_vec4_t offset;
 
index 91ec6d978e12f67c9af25ff3709c9e515476d128..5c28643c6142fac09734badcf52d04c4716d5b11 100644 (file)
@@ -46,7 +46,7 @@ struct _GtkIconHelper
   GtkWidget *owner;
   GtkCssNode *node;
   cairo_surface_t *rendered_surface;
-  GskTexture *texture;
+  GdkTexture *texture;
 };
 
 void gtk_icon_helper_init (GtkIconHelper *self,
index dfb3e83323f6f427f3c5901fc8007bce606a36db..d6e4b1f3b75763b74f8c3078730620828bc41795 100644 (file)
@@ -225,7 +225,7 @@ struct _GtkIconInfo
    */
   GdkPixbuf *pixbuf;
   GdkPixbuf *proxy_pixbuf;
-  GskTexture *texture;
+  GdkTexture *texture;
   GError *load_error;
   gdouble unscaled_scale;
   gdouble scale;
@@ -4014,7 +4014,7 @@ gtk_icon_info_load_icon (GtkIconInfo *icon_info,
  *
  * Since: 3.94
  */
-GskTexture *
+GdkTexture *
 gtk_icon_info_load_texture (GtkIconInfo *icon_info)
 {
   if (!icon_info->texture)
@@ -4022,7 +4022,7 @@ gtk_icon_info_load_texture (GtkIconInfo *icon_info)
       GdkPixbuf *pixbuf;
 
       pixbuf = gtk_icon_info_load_icon (icon_info, NULL);
-      icon_info->texture = gsk_texture_new_for_pixbuf (pixbuf);
+      icon_info->texture = gdk_texture_new_for_pixbuf (pixbuf);
       g_object_unref (pixbuf);
 
       g_object_add_weak_pointer (G_OBJECT (icon_info->texture), (void **)&icon_info->texture);
index 749d7c2e41cb50a41de10640ed70c815ccb874c4..87cdcf5e8467081be4da4eca79afe46d5c3d16d2 100644 (file)
@@ -295,7 +295,7 @@ cairo_surface_t *     gtk_icon_info_load_surface       (GtkIconInfo   *icon_info
                                                        GdkWindow     *for_window,
                                                        GError       **error);
 GDK_AVAILABLE_IN_3_94
-GskTexture *          gtk_icon_info_load_texture       (GtkIconInfo   *icon_info);
+GdkTexture *          gtk_icon_info_load_texture       (GtkIconInfo   *icon_info);
 
 GDK_AVAILABLE_IN_3_8
 void                  gtk_icon_info_load_icon_async   (GtkIconInfo          *icon_info,
index a500db8fbbb678f19c5cce7e690e628c2eb895b6..2876e2d215b97de75786be4611e85790e4c83d40 100644 (file)
@@ -266,7 +266,7 @@ gtk_css_style_render_icon_get_extents (GtkCssStyle  *style,
 void
 gtk_css_style_snapshot_icon_texture (GtkCssStyle       *style,
                                      GtkSnapshot       *snapshot,
-                                     GskTexture        *texture,
+                                     GdkTexture        *texture,
                                      double             texture_scale,
                                      graphene_matrix_t *color_matrix,
                                      graphene_vec4_t *  color_offset)
@@ -279,14 +279,14 @@ gtk_css_style_snapshot_icon_texture (GtkCssStyle       *style,
 
   g_return_if_fail (GTK_IS_CSS_STYLE (style));
   g_return_if_fail (snapshot != NULL);
-  g_return_if_fail (GSK_IS_TEXTURE (texture));
+  g_return_if_fail (GDK_IS_TEXTURE (texture));
   g_return_if_fail (texture_scale > 0);
 
   shadows_value = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_ICON_SHADOW);
   transform_value = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_ICON_TRANSFORM);
   filter_value = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_ICON_FILTER);
-  width = gsk_texture_get_width (texture) / texture_scale;
-  height = gsk_texture_get_height (texture) / texture_scale;
+  width = gdk_texture_get_width (texture) / texture_scale;
+  height = gdk_texture_get_height (texture) / texture_scale;
 
   if (!gtk_css_transform_value_get_matrix (transform_value, &transform_matrix))
     return;
@@ -316,7 +316,7 @@ gtk_css_style_snapshot_icon_texture (GtkCssStyle       *style,
 
       gtk_snapshot_push_transform (snapshot, &m1, "Icon Transform");
 
-      graphene_rect_init (&bounds, 0, 0, gsk_texture_get_width (texture), gsk_texture_get_height (texture));
+      graphene_rect_init (&bounds, 0, 0, gdk_texture_get_width (texture), gdk_texture_get_height (texture));
       gtk_snapshot_append_texture (snapshot, texture, &bounds, "Icon");
 
       gtk_snapshot_pop (snapshot);
index 29b81c4dbb78867e2da74a7dc01901cd5dca961b..ae96b0803c2efad37639e703509e32c7bd144216 100644 (file)
@@ -49,7 +49,7 @@ void    gtk_css_style_render_icon_surface       (GtkCssStyle            *style,
                                                  double                  y);
 void    gtk_css_style_snapshot_icon_texture     (GtkCssStyle            *style,
                                                  GtkSnapshot            *snapshot,
-                                                 GskTexture             *texture,
+                                                 GdkTexture             *texture,
                                                  double                  texture_scale,
                                                  graphene_matrix_t *     color_matrix,
                                                  graphene_vec4_t *       color_offset);
index 4af505e259fd678e7ed240bee12e0ad39289d915..7be681ede2f455875158cb13b601684a125561f8 100644 (file)
@@ -1216,7 +1216,7 @@ gtk_snapshot_append_cairo (GtkSnapshot           *snapshot,
 /**
  * gtk_snapshot_append_texture:
  * @snapshot: a #GtkSnapshot
- * @texture: the #GskTexture to render
+ * @texture: the #GdkTexture to render
  * @bounds: the bounds for the new node
  * @name: (transfer none): a printf() style format string for the name for the new node
  * @...: arguments to insert into the format string
@@ -1226,7 +1226,7 @@ gtk_snapshot_append_cairo (GtkSnapshot           *snapshot,
  **/
 void
 gtk_snapshot_append_texture (GtkSnapshot            *snapshot,
-                             GskTexture             *texture,
+                             GdkTexture             *texture,
                              const graphene_rect_t  *bounds,
                              const char             *name,
                              ...)
@@ -1236,11 +1236,11 @@ gtk_snapshot_append_texture (GtkSnapshot            *snapshot,
   graphene_rect_t real_bounds;
 
   g_return_if_fail (snapshot != NULL);
-  g_return_if_fail (GSK_IS_TEXTURE (texture));
+  g_return_if_fail (GDK_IS_TEXTURE (texture));
   g_return_if_fail (bounds != NULL);
 
   graphene_rect_offset_r (bounds, current_state->translate_x, current_state->translate_y, &real_bounds);
-  node = gsk_texture_node_new (texture, &real_bounds);
+  node = gdk_texture_node_new (texture, &real_bounds);
 
   if (name && snapshot->record_names)
     {
@@ -1502,9 +1502,9 @@ gtk_snapshot_render_icon (GtkSnapshot     *snapshot,
                           gdouble          x,
                           gdouble          y)
 {
-  GskTexture *texture;
+  GdkTexture *texture;
 
-  texture = gsk_texture_new_for_pixbuf (pixbuf);
+  texture = gdk_texture_new_for_pixbuf (pixbuf);
   gtk_snapshot_offset (snapshot, x, y);
   gtk_css_style_snapshot_icon_texture (gtk_style_context_lookup_style (context),
                                        snapshot,
index b5e21ae6eded131448a17b04fc0033a72f7daf87..551bec7f75d49e43ca0d12f614e05b7b6dfc842f 100644 (file)
@@ -116,7 +116,7 @@ cairo_t *       gtk_snapshot_append_cairo               (GtkSnapshot
                                                          ...) G_GNUC_PRINTF(3, 4);
 GDK_AVAILABLE_IN_3_90
 void            gtk_snapshot_append_texture             (GtkSnapshot            *snapshot,
-                                                         GskTexture             *texture,
+                                                         GdkTexture             *texture,
                                                          const graphene_rect_t  *bounds,
                                                          const char             *name,
                                                          ...) G_GNUC_PRINTF (4, 5);
index e8c16cadf3c1c417f8eaa37bea21961fcd329f2b..080cca449ca03a99df2313e13f48312fd48fca91 100644 (file)
@@ -524,7 +524,7 @@ append_node (GtkTreeModelRenderNode *nodemodel,
 
     case GSK_CAIRO_NODE:
     case GSK_TEXT_NODE:
-    case GSK_TEXTURE_NODE:
+    case GDK_TEXTURE_NODE:
     case GSK_COLOR_NODE:
     case GSK_LINEAR_GRADIENT_NODE:
     case GSK_REPEATING_LINEAR_GRADIENT_NODE:
index e28239359fa825ed79b3914a6df3afd6aebd5add..763abcdab1f9cdcc34a8e6fdeef2f87ab5be875b 100644 (file)
@@ -32,9 +32,9 @@
 #include <gtk/gtktreeview.h>
 #include <gsk/gskrendererprivate.h>
 #include <gsk/gskrendernodeprivate.h>
-#include <gsk/gsktextureprivate.h>
 #include <gsk/gskroundedrectprivate.h>
 
+#include <gdk/gdktextureprivate.h>
 #include "gtk/gtkdebug.h"
 
 #include "gtktreemodelrendernode.h"
@@ -161,7 +161,7 @@ node_type_name (GskRenderNodeType type)
       return "Repeating Linear Gradient";
     case GSK_BORDER_NODE:
       return "Border";
-    case GSK_TEXTURE_NODE:
+    case GDK_TEXTURE_NODE:
       return "Texture";
     case GSK_INSET_SHADOW_NODE:
       return "Inset Shadow";
@@ -304,20 +304,20 @@ populate_render_node_properties (GtkListStore  *store,
 
   switch (gsk_render_node_get_node_type (node))
     {
-    case GSK_TEXTURE_NODE:
+    case GDK_TEXTURE_NODE:
     case GSK_CAIRO_NODE:
       {
         const char *text;
         cairo_surface_t *surface;
         gboolean show_inline;
 
-        if (gsk_render_node_get_node_type (node) == GSK_TEXTURE_NODE)
+        if (gsk_render_node_get_node_type (node) == GDK_TEXTURE_NODE)
           {
-            GskTexture *texture;
+            GdkTexture *texture;
 
             text = "Texture";
-            texture = gsk_texture_node_get_texture (node);
-            surface = gsk_texture_download_surface (texture);
+            texture = gdk_texture_node_get_texture (node);
+            surface = gdk_texture_download_surface (texture);
           }
         else
           {
index 7a38ab65c2edb93b104ddd444dd6a1397c09dd59..3a6d1a4a75e6946112750426fd2e34a2cfa9a1f5 100644 (file)
@@ -115,7 +115,7 @@ main(int argc, char **argv)
     {
       GskRenderer *renderer;
       GdkWindow *window;
-      GskTexture *texture = NULL;
+      GdkTexture *texture = NULL;
 
       window = gdk_window_new_toplevel (gdk_display_get_default(), 0, 10 , 10);
       renderer = gsk_renderer_new_for_window (window);
@@ -132,9 +132,9 @@ main(int argc, char **argv)
         }
 
       surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                            gsk_texture_get_width (texture),
-                                            gsk_texture_get_height (texture));
-      gsk_texture_download (texture,
+                                            gdk_texture_get_width (texture),
+                                            gdk_texture_get_height (texture));
+      gdk_texture_download (texture,
                             cairo_image_surface_get_data (surface),
                             cairo_image_surface_get_stride (surface));
       cairo_surface_mark_dirty (surface);
index c1a1d70bf42555e883aabe0fc400d667edd074dc..19e4a1d0a1e3f4a4126f2c948497830ac001172e 100644 (file)
@@ -521,7 +521,7 @@ load_node_file (GFile *file, gboolean generate)
   GskRenderNode *node;
   GskRenderer *renderer;
   GdkWindow *window;
-  GskTexture *texture = NULL;
+  GdkTexture *texture = NULL;
   cairo_surface_t *surface;
   char *png_file;
   cairo_surface_t *ref_surface;
@@ -554,9 +554,9 @@ load_node_file (GFile *file, gboolean generate)
   texture = gsk_renderer_render_texture (renderer, node, NULL);
 
   surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
-                                        gsk_texture_get_width (texture),
-                                        gsk_texture_get_height (texture));
-  gsk_texture_download (texture,
+                                        gdk_texture_get_width (texture),
+                                        gdk_texture_get_height (texture));
+  gdk_texture_download (texture,
                         cairo_image_surface_get_data (surface),
                         cairo_image_surface_get_stride (surface));
   cairo_surface_mark_dirty (surface);