Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
gtkglarea.h
Go to the documentation of this file.
1/* GTK - The GIMP Toolkit
2 *
3 * gtkglarea.h: A GL drawing area
4 *
5 * Copyright © 2014 Emmanuele Bassi
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#pragma once
22
23#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
24#error "Only <gtk/gtk.h> can be included directly."
25#endif
26
27#include <gtk/gtkwidget.h>
28
30
31#define GTK_TYPE_GL_AREA (gtk_gl_area_get_type ())
32#define GTK_GL_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_GL_AREA, GtkGLArea))
33#define GTK_IS_GL_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_GL_AREA))
34#define GTK_GL_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_GL_AREA, GtkGLAreaClass))
35#define GTK_IS_GL_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_GL_AREA))
36#define GTK_GL_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_GL_AREA, GtkGLAreaClass))
37
38typedef struct _GtkGLArea GtkGLArea;
40
42{
43 /*< private >*/
45};
46
47/**
48 * GtkGLAreaClass:
49 * @render: class closure for the `GtkGLArea::render` signal
50 * @resize: class closeure for the `GtkGLArea::resize` signal
51 * @create_context: class closure for the `GtkGLArea::create-context` signal
52 *
53 * The `GtkGLAreaClass` structure contains only private data.
54 */
56{
57 /*< private >*/
59
60 /*< public >*/
62 GdkGLContext *context);
63 void (* resize) (GtkGLArea *area,
64 int width,
65 int height);
66 GdkGLContext * (* create_context) (GtkGLArea *area);
67
68 /*< private >*/
70};
71
74
77
80 GdkGLAPI apis);
85
88 gboolean use_es);
91
94 int major,
95 int minor);
98 int *major,
99 int *minor);
104 gboolean has_depth_buffer);
109 gboolean has_stencil_buffer);
114 gboolean auto_render);
117
118
121
126
129 const GError *error);
132
134
136
#define GDK_AVAILABLE_IN_4_12
#define GDK_DEPRECATED_IN_4_12_FOR(f)
#define GDK_AVAILABLE_IN_ALL
GdkGLAPI
Definition gdkenums.h:46
struct _GdkGLContext GdkGLContext
Definition gdktypes.h:98
#define G_END_DECLS
Definition gmacros.h:910
#define G_BEGIN_DECLS
Definition gmacros.h:909
#define G_GNUC_CONST
Definition gmacros.h:637
#define G_DEFINE_AUTOPTR_CLEANUP_FUNC(TypeName, func)
Definition gmacros.h:1400
GOBJECT_AVAILABLE_IN_ALL void g_object_unref(gpointer object)
GDK_AVAILABLE_IN_ALL GtkWidget * gtk_gl_area_new(void)
GDK_AVAILABLE_IN_ALL gboolean gtk_gl_area_get_has_stencil_buffer(GtkGLArea *area)
GDK_AVAILABLE_IN_ALL void gtk_gl_area_get_required_version(GtkGLArea *area, int *major, int *minor)
GDK_AVAILABLE_IN_ALL void gtk_gl_area_queue_render(GtkGLArea *area)
GDK_AVAILABLE_IN_ALL GError * gtk_gl_area_get_error(GtkGLArea *area)
GDK_AVAILABLE_IN_ALL void gtk_gl_area_attach_buffers(GtkGLArea *area)
GDK_AVAILABLE_IN_ALL GdkGLContext * gtk_gl_area_get_context(GtkGLArea *area)
GDK_AVAILABLE_IN_4_12 GdkGLAPI gtk_gl_area_get_allowed_apis(GtkGLArea *area)
GDK_AVAILABLE_IN_ALL gboolean gtk_gl_area_get_has_depth_buffer(GtkGLArea *area)
GDK_AVAILABLE_IN_4_12 void gtk_gl_area_set_allowed_apis(GtkGLArea *area, GdkGLAPI apis)
GDK_AVAILABLE_IN_ALL void gtk_gl_area_set_has_depth_buffer(GtkGLArea *area, gboolean has_depth_buffer)
GDK_AVAILABLE_IN_ALL void gtk_gl_area_set_auto_render(GtkGLArea *area, gboolean auto_render)
GDK_AVAILABLE_IN_ALL void gtk_gl_area_set_required_version(GtkGLArea *area, int major, int minor)
GDK_AVAILABLE_IN_ALL void gtk_gl_area_set_has_stencil_buffer(GtkGLArea *area, gboolean has_stencil_buffer)
GDK_AVAILABLE_IN_4_12 GdkGLAPI gtk_gl_area_get_api(GtkGLArea *area)
GDK_AVAILABLE_IN_ALL void gtk_gl_area_set_error(GtkGLArea *area, const GError *error)
gboolean gtk_gl_area_get_use_es(GtkGLArea *area)
GDK_AVAILABLE_IN_ALL gboolean gtk_gl_area_get_auto_render(GtkGLArea *area)
GDK_AVAILABLE_IN_ALL void gtk_gl_area_make_current(GtkGLArea *area)
GDK_AVAILABLE_IN_ALL GType gtk_gl_area_get_type(void) G_GNUC_CONST
void gtk_gl_area_set_use_es(GtkGLArea *area, gboolean use_es)
gsize GType
Definition gtype.h:427
gint gboolean
Definition gtypes.h:56
void * gpointer
Definition gtypes.h:109
static void error(LoadState *S, const char *why)
gboolean(* render)(GtkGLArea *area, GdkGLContext *context)
Definition gtkglarea.h:61
GtkWidgetClass parent_class
Definition gtkglarea.h:58
void(* resize)(GtkGLArea *area, int width, int height)
Definition gtkglarea.h:63
gpointer _padding[8]
Definition gtkglarea.h:69
GtkWidget parent_instance
Definition gtkglarea.h:44