mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-11 19:16:16 +02:00
openglcontrol: fixed widgetset hierarchy
git-svn-id: trunk@26524 -
This commit is contained in:
parent
60513eeef8
commit
a7ff4e3662
@ -40,8 +40,6 @@ function CreateOpenGLContextAttrList(DoubleBuffered: boolean;
|
||||
|
||||
|
||||
type
|
||||
TWidgetSetWSWinControl = TCarbonWSWinControl;
|
||||
|
||||
TAGLControlInfo = record
|
||||
Control: ControlRef;
|
||||
WinControl: TWinControl;
|
||||
|
@ -25,10 +25,10 @@ uses
|
||||
Classes, SysUtils, LCLProc, LCLType, X, XUtil, XLib, gl, InterfaceBase,
|
||||
WSLCLClasses,
|
||||
{$IFDEF LCLGTK2}
|
||||
LMessages, Gtk2Def, gdk2x, glib2, gdk2, gtk2, Gtk2Int, Gtk2WSControls,
|
||||
LMessages, Gtk2Def, gdk2x, glib2, gdk2, gtk2, Gtk2Int,
|
||||
{$ENDIF}
|
||||
{$IFDEF LCLGTK}
|
||||
glib, gdk, gtk, GtkInt, GtkWSControls,
|
||||
glib, gdk, gtk, GtkInt,
|
||||
{$ENDIF}
|
||||
Controls;
|
||||
|
||||
@ -136,14 +136,6 @@ procedure LOpenGLDestroyContextInfo(AWinControl: TWinControl);
|
||||
function CreateOpenGLContextAttrList(DoubleBuffered: boolean;
|
||||
RGBA: boolean): PInteger;
|
||||
|
||||
type
|
||||
{$IFDEF LCLGtk}
|
||||
TWidgetSetWSWinControl = TGtkWSWinControl;
|
||||
{$ENDIF}
|
||||
{$IFDEF LCLGtk2}
|
||||
TWidgetSetWSWinControl = TGtk2WSWinControl;
|
||||
{$ENDIF}
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
@ -701,7 +693,7 @@ end;
|
||||
|
||||
procedure LOpenGLSwapBuffers(Handle: HWND);
|
||||
begin
|
||||
gtk_gl_area_swap_buffers(PGtkGLArea(Handle));
|
||||
gtk_gl_area_swap_buffers({%H-}PGtkGLArea(Handle));
|
||||
end;
|
||||
|
||||
function LOpenGLMakeCurrent(Handle: HWND): boolean;
|
||||
@ -713,7 +705,7 @@ begin
|
||||
RaiseGDBException('LOpenGLSwapBuffers Handle=0');
|
||||
Result:=false;
|
||||
|
||||
Widget:=PGtkWidget(PtrUInt(Handle));
|
||||
Widget:={%H-}PGtkWidget(PtrUInt(Handle));
|
||||
glarea:=PGtkGLArea(Widget);
|
||||
if not GTK_IS_GL_AREA(glarea) then
|
||||
RaiseGDBException('LOpenGLSwapBuffers not a PGtkGLArea');
|
||||
@ -777,14 +769,14 @@ begin
|
||||
AttrList:=CreateOpenGLContextAttrList(DoubleBuffered,RGBA);
|
||||
try
|
||||
if SharedControl<>nil then begin
|
||||
SharedArea:=PGtkGLArea(PtrUInt(SharedControl.Handle));
|
||||
SharedArea:={%H-}PGtkGLArea(PtrUInt(SharedControl.Handle));
|
||||
if not GTK_IS_GL_AREA(SharedArea) then
|
||||
RaiseGDBException('LOpenGLCreateContext');
|
||||
NewWidget:=gtk_gl_area_share_new(AttrList,SharedArea);
|
||||
end else begin
|
||||
NewWidget:=gtk_gl_area_new(AttrList);
|
||||
end;
|
||||
Result:=HWND(PtrUInt(Pointer(NewWidget)));
|
||||
Result:=HWND({%H-}PtrUInt(Pointer(NewWidget)));
|
||||
PGtkobject(NewWidget)^.flags:=PGtkobject(NewWidget)^.flags or GTK_CAN_FOCUS;
|
||||
{$IFDEF LCLGtk}
|
||||
TGTKWidgetSet(WidgetSet).FinishCreateHandle(AWinControl,NewWidget,AParams);
|
||||
|
@ -76,9 +76,6 @@ procedure LOpenGLDestroyContextInfo(AWinControl: TWinControl);
|
||||
function CreateOpenGLContextAttrList(DoubleBuffered: boolean;
|
||||
RGBA: boolean): PInteger;
|
||||
|
||||
type
|
||||
TWidgetSetWSWinControl = TQTWSWinControl;
|
||||
|
||||
implementation
|
||||
|
||||
type
|
||||
|
@ -37,8 +37,6 @@ procedure InitOpenGLContextGLWindowClass;
|
||||
|
||||
|
||||
type
|
||||
TWidgetSetWSWinControl = TWin32WSWinControl;
|
||||
|
||||
TWGLControlInfo = record
|
||||
Window: HWND;
|
||||
DC: HDC;
|
||||
|
@ -62,7 +62,7 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LCLProc, Forms, Controls, LCLType, LCLIntf, LResources,
|
||||
Graphics, LMessages, WSLCLClasses,
|
||||
Graphics, LMessages, WSLCLClasses, WSControls,
|
||||
{$IFDEF UseGtkGLX}
|
||||
GLGtkGlxContext;
|
||||
{$ENDIF}
|
||||
@ -184,7 +184,7 @@ type
|
||||
|
||||
{ TWSOpenGLControl }
|
||||
|
||||
TWSOpenGLControl = class(TWidgetSetWSWinControl)
|
||||
TWSOpenGLControl = class(TWSWinControl)
|
||||
published
|
||||
class function CreateHandle(const AWinControl: TWinControl;
|
||||
const AParams: TCreateParams): HWND; override;
|
||||
|
@ -54,6 +54,9 @@
|
||||
</SyntaxOptions>
|
||||
</Parsing>
|
||||
<Other>
|
||||
<CompilerMessages>
|
||||
<UseMsgFile Value="True"/>
|
||||
</CompilerMessages>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
|
Loading…
Reference in New Issue
Block a user