gsk: Export gsk_gl_renderer_new()
authorBenjamin Otte <otte@redhat.com>
Thu, 2 May 2019 00:13:16 +0000 (02:13 +0200)
committerBenjamin Otte <otte@redhat.com>
Sun, 5 May 2019 05:18:39 +0000 (07:18 +0200)
docs/reference/gsk/gsk4-sections.txt
gsk/gl/gskglrenderer.c
gsk/gl/gskglrenderer.h [new file with mode: 0644]
gsk/gl/gskglrendererprivate.h [deleted file]
gsk/gl/gskglrenderopsprivate.h
gsk/gsk.h
gsk/gskrenderer.c
gsk/meson.build
gtk/meson.build

index 21f50cdc45444e1c87ce63d102fdd9168ef18ae8..f37c5c3b2ef9e6967d0149aaf3a4176983f63dec 100644 (file)
@@ -8,6 +8,7 @@ gsk_renderer_render
 gsk_renderer_render_texture
 <SUBSECTION>
 gsk_renderer_new_for_surface
+gsk_gl_renderer_new
 gsk_cairo_renderer_new
 <SUBSECTION Standard>
 GSK_IS_RENDERER
index 93a9765c35aad026e44a0a7f2c283e4fbff6842d..9342a031d59f76564a99bddd7e46e123b999c319 100644 (file)
@@ -1,6 +1,6 @@
 #include "config.h"
 
-#include "gskglrendererprivate.h"
+#include "gskglrenderer.h"
 
 #include "gskdebugprivate.h"
 #include "gskenums.h"
@@ -3281,3 +3281,17 @@ gsk_gl_renderer_init (GskGLRenderer *self)
   }
 #endif
 }
+
+/**
+ * gsk_gl_renderer_new:
+ *
+ * Creates a new #GskRenderer using OpenGL. This is the default renderer
+ * used by GTK.
+ *
+ * Returns: a new GL renderer
+ **/
+GskRenderer *
+gsk_gl_renderer_new (void)
+{
+  return g_object_new (GSK_TYPE_GL_RENDERER, NULL);
+}
diff --git a/gsk/gl/gskglrenderer.h b/gsk/gl/gskglrenderer.h
new file mode 100644 (file)
index 0000000..64cf11e
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Copyright © 2016  Endless 
+ *             2018  Timm Bäder <mail@baedert.org>
+ *
+ * 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.1 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/>.
+ *
+ * Authors: Timm Bäder <mail@baedert.org>
+ */
+
+#ifndef __GSK_GL_RENDERER_H__
+#define __GSK_GL_RENDERER_H__
+
+#include <gsk/gskrenderer.h>
+
+G_BEGIN_DECLS
+
+#define GSK_TYPE_GL_RENDERER (gsk_gl_renderer_get_type ())
+
+#define GSK_GL_RENDERER(obj)                    (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSK_TYPE_GL_RENDERER, GskGLRenderer))
+#define GSK_IS_GL_RENDERER(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSK_TYPE_GL_RENDERER))
+#define GSK_GL_RENDERER_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), GSK_TYPE_GL_RENDERER, GskGLRendererClass))
+#define GSK_IS_GL_RENDERER_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), GSK_TYPE_GL_RENDERER))
+#define GSK_GL_RENDERER_GET_CLASS(obj)          (G_TYPE_INSTANCE_GET_CLASS ((obj), GSK_TYPE_GL_RENDERER, GskGLRendererClass))
+
+typedef struct _GskGLRenderer                   GskGLRenderer;
+typedef struct _GskGLRendererClass              GskGLRendererClass;
+
+GDK_AVAILABLE_IN_ALL
+GType                   gsk_gl_renderer_get_type                (void) G_GNUC_CONST;
+
+GDK_AVAILABLE_IN_ALL
+GskRenderer *           gsk_gl_renderer_new                     (void);
+
+G_END_DECLS
+
+#endif /* __GSK_GL_RENDERER_H__ */
diff --git a/gsk/gl/gskglrendererprivate.h b/gsk/gl/gskglrendererprivate.h
deleted file mode 100644 (file)
index a30b201..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef __GSK_GL_RENDERER_PRIVATE_H__
-#define __GSK_GL_RENDERER_PRIVATE_H__
-
-#include <gsk/gskrenderer.h>
-
-G_BEGIN_DECLS
-
-#define GSK_TYPE_GL_RENDERER (gsk_gl_renderer_get_type ())
-
-#define GSK_GL_RENDERER(obj)                    (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSK_TYPE_GL_RENDERER, GskGLRenderer))
-#define GSK_IS_GL_RENDERER(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSK_TYPE_GL_RENDERER))
-#define GSK_GL_RENDERER_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST ((klass), GSK_TYPE_GL_RENDERER, GskGLRendererClass))
-#define GSK_IS_GL_RENDERER_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE ((klass), GSK_TYPE_GL_RENDERER))
-#define GSK_GL_RENDERER_GET_CLASS(obj)          (G_TYPE_INSTANCE_GET_CLASS ((obj), GSK_TYPE_GL_RENDERER, GskGLRendererClass))
-
-typedef struct _GskGLRenderer                   GskGLRenderer;
-typedef struct _GskGLRendererClass              GskGLRendererClass;
-
-GType gsk_gl_renderer_get_type (void) G_GNUC_CONST;
-
-G_END_DECLS
-
-#endif /* __GSK_GL_RENDERER_PRIVATE_H__ */
index 20765a62c7d07ca43a3b6bd5a44dc5d2eb243dc3..91d5329dabd3e353568a46f3bcd03c56be61adbb 100644 (file)
@@ -7,7 +7,7 @@
 
 #include "gskgldriverprivate.h"
 #include "gskroundedrectprivate.h"
-#include "gskglrendererprivate.h"
+#include "gskglrenderer.h"
 #include "gskrendernodeprivate.h"
 
 #define GL_N_VERTICES 6
index 523b24c81ad43b70c69ec15ea04a5c0c52527890..5f0938b0e062132b10febac0d093b49f1651d708 100644 (file)
--- a/gsk/gsk.h
+++ b/gsk/gsk.h
@@ -27,6 +27,7 @@
 #include <gsk/gsktransform.h>
 
 #include <gsk/gskcairorenderer.h>
+#include <gsk/gl/gskglrenderer.h>
 
 #include <gsk/gsktypes.h>
 #include <gsk/gskenumtypes.h>
index 8f202d96ea3e760c26aa8bf1bb1114a6a94b25cb..b5b07f97078797f70637f44d4c6f55c6bfd18b4f 100644 (file)
@@ -38,7 +38,7 @@
 
 #include "gskcairorenderer.h"
 #include "gskdebugprivate.h"
-#include "gl/gskglrendererprivate.h"
+#include "gl/gskglrenderer.h"
 #include "gskprofilerprivate.h"
 #include "gskrendernodeprivate.h"
 
index d05d1d829269422285253815cb886df1e2514868..b3d87fcec9cc3ea5611df361bd75de9d5f8ed13f 100644 (file)
@@ -28,6 +28,7 @@ gsk_public_sources = files([
   'gskrendernodeimpl.c',
   'gskroundedrect.c',
   'gsktransform.c',
+  'gl/gskglrenderer.c',
 ])
 
 gsk_private_sources = files([
@@ -38,7 +39,6 @@ gsk_private_sources = files([
   'gskrendernodeparser.c',
   'gl/gskshaderbuilder.c',
   'gl/gskglprofiler.c',
-  'gl/gskglrenderer.c',
   'gl/gskglglyphcache.c',
   'gl/gskglimage.c',
   'gl/gskgldriver.c',
@@ -55,11 +55,16 @@ gsk_public_headers = files([
   'gskroundedrect.h',
   'gsktransform.h',
   'gsktypes.h',
-  'gsk-autocleanup.h'
+  'gsk-autocleanup.h',
 ])
-
 install_headers(gsk_public_headers, 'gsk.h', subdir: 'gtk-4.0/gsk')
 
+gsk_public_gl_headers = files([
+  'gl/gskglrenderer.h'
+])
+install_headers(gsk_public_gl_headers, subdir: 'gtk-4.0/gsk/gl')
+gsk_public_headers += gsk_public_gl_headers
+
 gsk_private_vulkan_shaders = []
 # This is an odd split because we use configure_file() below to workaround
 # a limitation in meson preventing using custom_target() with gnome.compile_resources()
index 76fef838f56b4ab858cc56c393d9195ebdcba2e3..1075ccf725ef2934ebc8dfa0d7eacf22bbd96bf5 100644 (file)
@@ -1083,6 +1083,8 @@ if build_gir
   gtk_introspection_sources = [
     gtk_public_headers,
     gtk_public_sources,
+    gtk_deprecated_headers,
+    gtk_deprecated_sources,
     a11y_headers,
     a11y_sources,
     gtktypebuiltins_h,