openglcontrol: fixed compilation, bug #11981, from A.Schneider

git-svn-id: trunk@16285 -
This commit is contained in:
mattias 2008-08-28 18:18:10 +00:00
parent 81ea7b9458
commit dd76d864f1

View File

@ -73,12 +73,12 @@ type
function gdk_gl_query: boolean; function gdk_gl_query: boolean;
function gdk_gl_choose_visual(attrlist: Plongint): PGdkVisual; function gdk_gl_choose_visual(attrlist: Plongint): PGdkVisual;
function gdk_gl_get_config(visual: PGdkVisual; attrib: longint):longint; function gdk_gl_get_config(visual: PGdkVisual; attrib: longint): longint;
function gdk_gl_context_new(visual: PGdkVisual; attrlist: PlongInt): PGdkGLContext; function gdk_gl_context_new(visual: PGdkVisual; attrlist: PlongInt): PGdkGLContext;
function gdk_gl_context_share_new(visual: PGdkVisual; sharelist: PGdkGLContext; function gdk_gl_context_share_new(visual: PGdkVisual; sharelist: PGdkGLContext;
direct: Integer; attrlist: plongint): PGdkGLContext; direct: TBool; attrlist: plongint): PGdkGLContext;
function gdk_gl_context_attrlist_share_new(attrlist: Plongint; function gdk_gl_context_attrlist_share_new(attrlist: Plongint;
sharelist: PGdkGLContext; direct: Integer): PGdkGLContext; sharelist: PGdkGLContext; direct: TBool): PGdkGLContext;
function gdk_gl_context_ref(context: PGdkGLContext): PGdkGLContext; function gdk_gl_context_ref(context: PGdkGLContext): PGdkGLContext;
procedure gdk_gl_context_unref(context:PGdkGLContext); procedure gdk_gl_context_unref(context:PGdkGLContext);
function gdk_gl_make_current(drawable: PGdkDrawable; function gdk_gl_make_current(drawable: PGdkDrawable;
@ -392,11 +392,12 @@ end;
function gdk_gl_context_new(visual: PGdkVisual; attrlist: PlongInt): PGdkGLContext; function gdk_gl_context_new(visual: PGdkVisual; attrlist: PlongInt): PGdkGLContext;
begin begin
Result:=gdk_gl_context_share_new(visual,nil,0,attrlist); Result := gdk_gl_context_share_new(visual, nil,
{$IFDEF VER2_2}false{$ELSE}0{$ENDIF}, attrlist);
end; end;
function gdk_gl_context_share_new(visual: PGdkVisual; sharelist: PGdkGLContext; function gdk_gl_context_share_new(visual: PGdkVisual; sharelist: PGdkGLContext;
direct: integer; attrlist: plongint): PGdkGLContext; direct: TBool; attrlist: plongint): PGdkGLContext;
var var
dpy: PDisplay; dpy: PDisplay;
vi: PXVisualInfo; vi: PXVisualInfo;
@ -437,19 +438,19 @@ begin
end; end;
function gdk_gl_context_attrlist_share_new(attrlist: Plongint; function gdk_gl_context_attrlist_share_new(attrlist: Plongint;
sharelist: PGdkGLContext; direct: Integer): PGdkGLContext; sharelist: PGdkGLContext; direct: TBool): PGdkGLContext;
var var
visual: PGdkVisual; visual: PGdkVisual;
begin begin
{$IFDEF lclgtk2} {$IFDEF lclgtk2}
visual :=nil; visual :=nil;
Result:=gdk_gl_context_share_new(visual, sharelist, direct,attrlist); Result := gdk_gl_context_share_new(visual, sharelist, direct, attrlist);
{$ELSE} {$ELSE}
visual := gdk_gl_choose_visual(attrlist); visual := gdk_gl_choose_visual(attrlist);
if (visual<>nil) then if (visual <> nil) then
Result:=gdk_gl_context_share_new(visual, sharelist, direct,attrlist) Result := gdk_gl_context_share_new(visual, sharelist, direct, attrlist)
else else
Result:=nil; Result := nil;
{$ENDIF} {$ENDIF}
end; end;
@ -627,9 +628,9 @@ var
glcontext: PGdkGLContext; glcontext: PGdkGLContext;
gl_area: PGtkGLArea; gl_area: PGtkGLArea;
begin begin
Result:=nil; Result := nil;
//DebugLn(['gtk_gl_area_share_new START']); //DebugLn(['gtk_gl_area_share_new START']);
if (share<>nil) and (not GTK_IS_GL_AREA(share)) then if (share <> nil) and (not GTK_IS_GL_AREA(share)) then
exit; exit;
{$IFNDEF MSWindows} {$IFNDEF MSWindows}
{$IFDEF lclgtk2} {$IFDEF lclgtk2}
@ -641,14 +642,15 @@ begin
{$ENDIF non MSWindows} {$ENDIF non MSWindows}
sharelist := nil; sharelist := nil;
if share<>nil then sharelist:=share^.glcontext; if share <> nil then sharelist := share^.glcontext;
glcontext := gdk_gl_context_share_new(visual, sharelist, 1, attrlist); glcontext := gdk_gl_context_share_new(visual, sharelist,
{$IFDEF VER2_2}true{$ELSE}1{$ENDIF}, attrlist);
if (glcontext = nil) then exit; if (glcontext = nil) then exit;
{$IFNDEF MSWindows} {$IFNDEF MSWindows}
if visual<>nil then begin if visual <> nil then begin
// use colormap and visual suitable for OpenGL rendering // use colormap and visual suitable for OpenGL rendering
gtk_widget_push_colormap(gdk_colormap_new(visual,gtk_TRUE)); gtk_widget_push_colormap(gdk_colormap_new(visual, gtk_TRUE));
gtk_widget_push_visual(visual); gtk_widget_push_visual(visual);
end; end;
{$ENDIF non MSWindows} {$ENDIF non MSWindows}