Repository URL to install this package:
Version:
3.2.0 ▾
|
{ Original file is /usr/include/gtkglext-1.0/gdk/gdkgldrawable.h
Michalis comments: note that GdkGLDrawable is an interface,
not a class, so
- it's GDK_GL_DRAWABLE_GET_CLASS is implemented using
GDK_GL_DRAWABLE_GET_INTERFACE instead of GDK_GL_DRAWABLE_GET_CLASS
- 1st field of class record is
base_iface: TGTypeInterface;
instead of
parent_class: TGObjectClass;
- Also (this is of course minor thing that does not affect
code using this unit, but still it is preserved in this translation
of C headers to Pascal) names of params of macros are vtable and inst.
}
{$ifdef read_interface_types}
{ PGdkGLDrawable already defined in gdkgltypes.inc }
TGdkGLDrawable = record
parent_instance: TGObject;
end;
PGdkGLDrawableClass = ^TGdkGLDrawableClass;
TGdkGLDrawableClass = record
base_iface: TGTypeInterface;
create_new_context: function(
gldrawable: PGdkGLDrawable;
share_list: PGdkGLContext;
direct: gboolean;
render_type: LongInt): PGdkGLContext; cdecl;
make_context_current: function(
draw: PGdkGLDrawable;
a_read: PGdkGLDrawable;
glcontext: PGdkGLContext): gboolean; cdecl;
is_double_buffered: function(gldrawable: PGdkGLDrawable): gboolean; cdecl;
swap_buffers: procedure(gldrawable: PGdkGLDrawable); cdecl;
wait_gl: procedure(gldrawable: PGdkGLDrawable); cdecl;
wait_gdk: procedure(gldrawable: PGdkGLDrawable); cdecl;
gl_begin: function(
draw: PGdkGLDrawable;
a_read: PGdkGLDrawable;
glcontext: PGdkGLContext): gboolean; cdecl;
gl_end: procedure(gldrawable: PGdkGLDrawable); cdecl;
get_gl_config: function(gldrawable: PGdkGLDrawable): PGdkGLConfig; cdecl;
get_size: procedure(
gldrawable: PGdkGLDrawable;
width, height: PGInt); cdecl;
end;
{$endif read_interface_types}
{$ifdef read_interface_rest}
function GDK_TYPE_GL_DRAWABLE: GType;
function GDK_GL_DRAWABLE(inst: Pointer): PGdkGLDrawable;
function GDK_GL_DRAWABLE_CLASS(vtable: Pointer): PGdkGLDrawableClass;
function GDK_IS_GL_DRAWABLE(inst: Pointer): boolean;
function GDK_IS_GL_DRAWABLE_CLASS(vtable: Pointer): boolean;
function GDK_GL_DRAWABLE_GET_CLASS(inst: Pointer): PGdkGLDrawableClass;
function gdk_gl_drawable_get_type: GType;
cdecl; external GdkGLExtLib;
function gdk_gl_drawable_make_current(
gldrawable: PGdkGLDrawable;
glcontext: PGdkGLContext)
: gboolean;
cdecl; external GdkGLExtLib;
function gdk_gl_drawable_is_double_buffered(
gldrawable: PGdkGLDrawable)
: gboolean;
cdecl; external GdkGLExtLib;
procedure gdk_gl_drawable_swap_buffers(
gldrawable: PGdkGLDrawable);
cdecl; external GdkGLExtLib;
procedure gdk_gl_drawable_wait_gl(
gldrawable: PGdkGLDrawable);
cdecl; external GdkGLExtLib;
procedure gdk_gl_drawable_wait_gdk(
gldrawable: PGdkGLDrawable);
cdecl; external GdkGLExtLib;
function gdk_gl_drawable_gl_begin(
gldrawable: PGdkGLDrawable;
glcontext: PGdkGLContext)
: gboolean;
cdecl; external GdkGLExtLib;
procedure gdk_gl_drawable_gl_end(
gldrawable: PGdkGLDrawable);
cdecl; external GdkGLExtLib;
function gdk_gl_drawable_get_gl_config(
gldrawable: PGdkGLDrawable)
: PGdkGLConfig;
cdecl; external GdkGLExtLib;
procedure gdk_gl_drawable_get_size(
gldrawable: PGdkGLDrawable;
width, height: PGInt);
cdecl; external GdkGLExtLib;
function gdk_gl_drawable_get_current
: PGdkGLDrawable;
cdecl; external GdkGLExtLib;
{$endif read_interface_rest}
{$ifdef read_implementation}
function GDK_TYPE_GL_DRAWABLE: GType;
begin
GDK_TYPE_GL_DRAWABLE := gdk_gl_drawable_get_type;
end;
function GDK_GL_DRAWABLE(inst: Pointer): PGdkGLDrawable;
begin
GDK_GL_DRAWABLE := PGdkGLDrawable(
G_TYPE_CHECK_INSTANCE_CAST(inst, GDK_TYPE_GL_DRAWABLE));
end;
function GDK_GL_DRAWABLE_CLASS(vtable: Pointer): PGdkGLDrawableClass;
begin
GDK_GL_DRAWABLE_CLASS := PGdkGLDrawableClass(
G_TYPE_CHECK_CLASS_CAST(vtable, GDK_TYPE_GL_DRAWABLE));
end;
function GDK_IS_GL_DRAWABLE(inst: Pointer): boolean;
begin
GDK_IS_GL_DRAWABLE := G_TYPE_CHECK_INSTANCE_TYPE(inst, GDK_TYPE_GL_DRAWABLE);
end;
function GDK_IS_GL_DRAWABLE_CLASS(vtable: Pointer): boolean;
begin
GDK_IS_GL_DRAWABLE_CLASS := G_TYPE_CHECK_CLASS_TYPE(vtable, GDK_TYPE_GL_DRAWABLE);
end;
function GDK_GL_DRAWABLE_GET_CLASS(inst: Pointer): PGdkGLDrawableClass;
begin
GDK_GL_DRAWABLE_GET_CLASS := PGdkGLDrawableClass(
G_TYPE_INSTANCE_GET_INTERFACE(inst, GDK_TYPE_GL_DRAWABLE));
end;
{$endif read_implementation}