mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-26 01:23:10 +02:00
Qt6: fixed building for Qt6
This commit is contained in:
parent
364a94d82b
commit
eec91b3a05
@ -28,6 +28,7 @@ uses
|
|||||||
// Bindings
|
// Bindings
|
||||||
{$IFDEF LCLQt}qt4,{$ENDIF}
|
{$IFDEF LCLQt}qt4,{$ENDIF}
|
||||||
{$IFDEF LCLQt5}qt5, qlclopenglwidget,{$ENDIF}
|
{$IFDEF LCLQt5}qt5, qlclopenglwidget,{$ENDIF}
|
||||||
|
{$IFDEF LCLQt6}qt6, qlclopenglwidget,{$ENDIF}
|
||||||
qtwidgets, qtobjects, qtproc, qtint,
|
qtwidgets, qtobjects, qtproc, qtint,
|
||||||
QtWSControls;
|
QtWSControls;
|
||||||
|
|
||||||
@ -119,10 +120,10 @@ end;
|
|||||||
type
|
type
|
||||||
{ TQtGLWidget }
|
{ TQtGLWidget }
|
||||||
|
|
||||||
TQtGLWidget = class({$IFDEF LCLQt5}TQtOpenGLWidget{$ELSE}TQtWidget{$ENDIF})
|
TQtGLWidget = class({$IF DEFINED(LCLQt5) OR DEFINED(LCLQt6)}TQtOpenGLWidget{$ELSE}TQtWidget{$ENDIF})
|
||||||
protected
|
protected
|
||||||
function PaintGLControl(Sender: QObjectH; Event: QEventH): boolean; cdecl;
|
function PaintGLControl(Sender: QObjectH; Event: QEventH): boolean; cdecl;
|
||||||
{$IFDEF LCLQt5}
|
{$IF DEFINED(LCLQt5) OR DEFINED(LCLQt6)}
|
||||||
procedure paintGL(); cdecl; override;
|
procedure paintGL(); cdecl; override;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
public
|
public
|
||||||
@ -186,7 +187,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFDEF LCLQt5}
|
{$IF DEFINED(LCLQt5) OR DEFINED(LCLQt6)}
|
||||||
procedure TQtGLWidget.paintGL(); cdecl;
|
procedure TQtGLWidget.paintGL(); cdecl;
|
||||||
var
|
var
|
||||||
AEvent: QPaintEventH;
|
AEvent: QPaintEventH;
|
||||||
@ -309,7 +310,7 @@ var
|
|||||||
AttrList: TContextAttribs;
|
AttrList: TContextAttribs;
|
||||||
NewQtWidget: TQtGLWidget;
|
NewQtWidget: TQtGLWidget;
|
||||||
direct: boolean;
|
direct: boolean;
|
||||||
{$IFDEF LCLQt5}
|
{$IF DEFINED(LCLQt5) OR DEFINED(LCLQt6)}
|
||||||
AWinFormat: QSurfaceFormatH;
|
AWinFormat: QSurfaceFormatH;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IFDEF VerboseMultiSampling}
|
{$IFDEF VerboseMultiSampling}
|
||||||
@ -327,11 +328,15 @@ begin
|
|||||||
NewQtWidget.setAttribute(QtWA_OpaquePaintEvent);
|
NewQtWidget.setAttribute(QtWA_OpaquePaintEvent);
|
||||||
{$endif}
|
{$endif}
|
||||||
NewQtWidget.HasPaint := false;
|
NewQtWidget.HasPaint := false;
|
||||||
|
{$IFDEF LCLQt6}
|
||||||
|
NewQtWidget.xdisplay := QtWidgetSet.x11Display;
|
||||||
|
{$ELSE}
|
||||||
NewQtWidget.xdisplay := QX11Info_display;
|
NewQtWidget.xdisplay := QX11Info_display;
|
||||||
|
{$ENDIF}
|
||||||
NewQtWidget.visual := glXChooseVisual(NewQtWidget.xdisplay,
|
NewQtWidget.visual := glXChooseVisual(NewQtWidget.xdisplay,
|
||||||
DefaultScreen(NewQtWidget.xdisplay), @attrList.AttributeList[0]);
|
DefaultScreen(NewQtWidget.xdisplay), @attrList.AttributeList[0]);
|
||||||
direct := false;
|
direct := false;
|
||||||
{$IFDEF LCLQt5}
|
{$IF DEFINED(LCLQt5) OR DEFINED(LCLQt6)}
|
||||||
QWindow_setSurfaceType(QWidget_windowHandle(NewQtWidget.Widget), QSurfaceSurfaceTypeOpenGLSurface);
|
QWindow_setSurfaceType(QWidget_windowHandle(NewQtWidget.Widget), QSurfaceSurfaceTypeOpenGLSurface);
|
||||||
|
|
||||||
AWinFormat := QSurfaceFormat_Create();
|
AWinFormat := QSurfaceFormat_Create();
|
||||||
@ -565,7 +570,11 @@ begin
|
|||||||
debugln(['CreateOpenGLContextAttrList MultiSampling=',MultiSampling]);
|
debugln(['CreateOpenGLContextAttrList MultiSampling=',MultiSampling]);
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IFDEF ModernGL}
|
{$IFDEF ModernGL}
|
||||||
|
{$IFDEF LCLQt6}
|
||||||
|
UseFBConfig := GLX_version_1_3(QtWidgetSet.x11Display());
|
||||||
|
{$ELSE}
|
||||||
UseFBConfig := GLX_version_1_3(QX11Info_display());
|
UseFBConfig := GLX_version_1_3(QX11Info_display());
|
||||||
|
{$ENDIF}
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
UseFBConfig := false;
|
UseFBConfig := false;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
@ -78,7 +78,7 @@ unit OpenGLContext;
|
|||||||
{$DEFINE HasRGBBits}
|
{$DEFINE HasRGBBits}
|
||||||
{$DEFINE OpenGLTargetDefined}
|
{$DEFINE OpenGLTargetDefined}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IFDEF LCLQT5}
|
{$IF DEFINED(LCLQT5) OR DEFINED(LCLQt6)}
|
||||||
{$DEFINE UseQTGLX}
|
{$DEFINE UseQTGLX}
|
||||||
{$DEFINE UsesModernGL}
|
{$DEFINE UsesModernGL}
|
||||||
{$DEFINE HasRGBA}
|
{$DEFINE HasRGBA}
|
||||||
|
@ -14,16 +14,21 @@ unit qlclopenglwidget;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
qt5, qtobjects, qtwidgets,
|
{$IFDEF LCLQt5}qt5,{$ENDIF}
|
||||||
|
{$IFDEF LCLQt6}qt6,{$ENDIF}
|
||||||
|
qtobjects, qtwidgets,
|
||||||
Classes, SysUtils, Types, Controls, LCLType;
|
Classes, SysUtils, Types, Controls, LCLType;
|
||||||
|
|
||||||
type
|
type
|
||||||
QLCLOpenGLWidget_gl_Override = procedure of object cdecl;
|
QLCLOpenGLWidget_gl_Override = procedure of object cdecl;
|
||||||
|
|
||||||
function QLCLOpenGLWidget_Create(parent: QWidgetH = nil; f: QtWindowFlags = 0): QWidgetH; cdecl; external Qt5PasLib name 'QLCLOpenGLWidget_Create';
|
const
|
||||||
procedure QLCLOpenGLWidget_Destroy(handle: QWidgetH); cdecl; external Qt5PasLib name 'QLCLOpenGLWidget_Destroy';
|
QtPasLibrary = {$IFDEF LCLQt5}Qt5PasLib;{$ENDIF}{$IFDEF LCLQt6}Qt6PasLib;{$ENDIF}
|
||||||
procedure QLCLOpenGLWidget_override_paintGL(handle: QLCLOpenGLWidgetH; hook: QLCLOpenGLWidget_gl_Override); cdecl; external Qt5PasLib name 'QLCLOpenGLWidget_override_paintGL';
|
|
||||||
procedure QLCLOpenGLWidget_InheritedPaintGL(handle: QLCLOpenGLWidgetH); cdecl; external Qt5PasLib name 'QLCLOpenGLWidget_InheritedPaintGL';
|
function QLCLOpenGLWidget_Create(parent: QWidgetH = nil; f: QtWindowFlags = 0): QWidgetH; cdecl; external QtPasLibrary name 'QLCLOpenGLWidget_Create';
|
||||||
|
procedure QLCLOpenGLWidget_Destroy(handle: QWidgetH); cdecl; external QtPasLibrary name 'QLCLOpenGLWidget_Destroy';
|
||||||
|
procedure QLCLOpenGLWidget_override_paintGL(handle: QLCLOpenGLWidgetH; hook: QLCLOpenGLWidget_gl_Override); cdecl; external QtPasLibrary name 'QLCLOpenGLWidget_override_paintGL';
|
||||||
|
procedure QLCLOpenGLWidget_InheritedPaintGL(handle: QLCLOpenGLWidgetH); cdecl; external QtPasLibrary name 'QLCLOpenGLWidget_InheritedPaintGL';
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user