123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- { 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}
|