gsk_renderer_render_texture
<SUBSECTION>
gsk_renderer_new_for_surface
+gsk_gl_renderer_new
gsk_cairo_renderer_new
<SUBSECTION Standard>
GSK_IS_RENDERER
#include "config.h"
-#include "gskglrendererprivate.h"
+#include "gskglrenderer.h"
#include "gskdebugprivate.h"
#include "gskenums.h"
}
#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);
+}
--- /dev/null
+/*
+ * 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__ */
+++ /dev/null
-#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__ */
#include "gskgldriverprivate.h"
#include "gskroundedrectprivate.h"
-#include "gskglrendererprivate.h"
+#include "gskglrenderer.h"
#include "gskrendernodeprivate.h"
#define GL_N_VERTICES 6
#include <gsk/gsktransform.h>
#include <gsk/gskcairorenderer.h>
+#include <gsk/gl/gskglrenderer.h>
#include <gsk/gsktypes.h>
#include <gsk/gskenumtypes.h>
#include "gskcairorenderer.h"
#include "gskdebugprivate.h"
-#include "gl/gskglrendererprivate.h"
+#include "gl/gskglrenderer.h"
#include "gskprofilerprivate.h"
#include "gskrendernodeprivate.h"
'gskrendernodeimpl.c',
'gskroundedrect.c',
'gsktransform.c',
+ 'gl/gskglrenderer.c',
])
gsk_private_sources = files([
'gskrendernodeparser.c',
'gl/gskshaderbuilder.c',
'gl/gskglprofiler.c',
- 'gl/gskglrenderer.c',
'gl/gskglglyphcache.c',
'gl/gskglimage.c',
'gl/gskgldriver.c',
'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()
gtk_introspection_sources = [
gtk_public_headers,
gtk_public_sources,
+ gtk_deprecated_headers,
+ gtk_deprecated_sources,
a11y_headers,
a11y_sources,
gtktypebuiltins_h,