1
{ Original file is /usr/include/gtkglext-1.0/gdk/gdkgldrawable.h
3
Michalis comments: note that GdkGLDrawable is an interface,
5
- it's GDK_GL_DRAWABLE_GET_CLASS is implemented using
6
GDK_GL_DRAWABLE_GET_INTERFACE instead of GDK_GL_DRAWABLE_GET_CLASS
7
- 1st field of class record is
8
base_iface: TGTypeInterface;
10
parent_class: TGObjectClass;
11
- Also (this is of course minor thing that does not affect
12
code using this unit, but still it is preserved in this translation
13
of C headers to Pascal) names of params of macros are vtable and inst.
16
{$ifdef read_interface_types}
18
{ PGdkGLDrawable already defined in gdkgltypes.inc }
20
TGdkGLDrawable = record
21
parent_instance: TGObject;
24
PGdkGLDrawableClass = ^TGdkGLDrawableClass;
25
TGdkGLDrawableClass = record
26
base_iface: TGTypeInterface;
28
create_new_context: function(
29
gldrawable: PGdkGLDrawable;
30
share_list: PGdkGLContext;
32
render_type: LongInt): PGdkGLContext; cdecl;
34
make_context_current: function(
36
a_read: PGdkGLDrawable;
37
glcontext: PGdkGLContext): gboolean; cdecl;
38
is_double_buffered: function(gldrawable: PGdkGLDrawable): gboolean; cdecl;
39
swap_buffers: procedure(gldrawable: PGdkGLDrawable); cdecl;
40
wait_gl: procedure(gldrawable: PGdkGLDrawable); cdecl;
41
wait_gdk: procedure(gldrawable: PGdkGLDrawable); cdecl;
45
a_read: PGdkGLDrawable;
46
glcontext: PGdkGLContext): gboolean; cdecl;
47
gl_end: procedure(gldrawable: PGdkGLDrawable); cdecl;
49
get_gl_config: function(gldrawable: PGdkGLDrawable): PGdkGLConfig; cdecl;
52
gldrawable: PGdkGLDrawable;
53
width, height: PGInt); cdecl;
56
{$endif read_interface_types}
58
{$ifdef read_interface_rest}
60
function GDK_TYPE_GL_DRAWABLE: GType;
61
function GDK_GL_DRAWABLE(inst: Pointer): PGdkGLDrawable;
62
function GDK_GL_DRAWABLE_CLASS(vtable: Pointer): PGdkGLDrawableClass;
63
function GDK_IS_GL_DRAWABLE(inst: Pointer): boolean;
64
function GDK_IS_GL_DRAWABLE_CLASS(vtable: Pointer): boolean;
65
function GDK_GL_DRAWABLE_GET_CLASS(inst: Pointer): PGdkGLDrawableClass;
67
function gdk_gl_drawable_get_type: GType;
68
cdecl; external GdkGLExtLib;
70
function gdk_gl_drawable_make_current(
71
gldrawable: PGdkGLDrawable;
72
glcontext: PGdkGLContext)
74
cdecl; external GdkGLExtLib;
76
function gdk_gl_drawable_is_double_buffered(
77
gldrawable: PGdkGLDrawable)
79
cdecl; external GdkGLExtLib;
81
procedure gdk_gl_drawable_swap_buffers(
82
gldrawable: PGdkGLDrawable);
83
cdecl; external GdkGLExtLib;
85
procedure gdk_gl_drawable_wait_gl(
86
gldrawable: PGdkGLDrawable);
87
cdecl; external GdkGLExtLib;
89
procedure gdk_gl_drawable_wait_gdk(
90
gldrawable: PGdkGLDrawable);
91
cdecl; external GdkGLExtLib;
93
function gdk_gl_drawable_gl_begin(
94
gldrawable: PGdkGLDrawable;
95
glcontext: PGdkGLContext)
97
cdecl; external GdkGLExtLib;
99
procedure gdk_gl_drawable_gl_end(
100
gldrawable: PGdkGLDrawable);
101
cdecl; external GdkGLExtLib;
103
function gdk_gl_drawable_get_gl_config(
104
gldrawable: PGdkGLDrawable)
106
cdecl; external GdkGLExtLib;
108
procedure gdk_gl_drawable_get_size(
109
gldrawable: PGdkGLDrawable;
110
width, height: PGInt);
111
cdecl; external GdkGLExtLib;
113
function gdk_gl_drawable_get_current
115
cdecl; external GdkGLExtLib;
117
{$endif read_interface_rest}
119
{$ifdef read_implementation}
121
function GDK_TYPE_GL_DRAWABLE: GType;
123
GDK_TYPE_GL_DRAWABLE := gdk_gl_drawable_get_type;
126
function GDK_GL_DRAWABLE(inst: Pointer): PGdkGLDrawable;
128
GDK_GL_DRAWABLE := PGdkGLDrawable(
129
G_TYPE_CHECK_INSTANCE_CAST(inst, GDK_TYPE_GL_DRAWABLE));
132
function GDK_GL_DRAWABLE_CLASS(vtable: Pointer): PGdkGLDrawableClass;
134
GDK_GL_DRAWABLE_CLASS := PGdkGLDrawableClass(
135
G_TYPE_CHECK_CLASS_CAST(vtable, GDK_TYPE_GL_DRAWABLE));
138
function GDK_IS_GL_DRAWABLE(inst: Pointer): boolean;
140
GDK_IS_GL_DRAWABLE := G_TYPE_CHECK_INSTANCE_TYPE(inst, GDK_TYPE_GL_DRAWABLE);
143
function GDK_IS_GL_DRAWABLE_CLASS(vtable: Pointer): boolean;
145
GDK_IS_GL_DRAWABLE_CLASS := G_TYPE_CHECK_CLASS_TYPE(vtable, GDK_TYPE_GL_DRAWABLE);
148
function GDK_GL_DRAWABLE_GET_CLASS(inst: Pointer): PGdkGLDrawableClass;
150
GDK_GL_DRAWABLE_GET_CLASS := PGdkGLDrawableClass(
151
G_TYPE_INSTANCE_GET_INTERFACE(inst, GDK_TYPE_GL_DRAWABLE));
154
{$endif read_implementation}