You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
299 lines
6.2 KiB
299 lines
6.2 KiB
13 years ago
|
// This is the SIP interface definition for QGL, QGLContext, QGLFormat and
|
||
|
// QGLWidget.
|
||
|
//
|
||
|
// Copyright (c) 2007
|
||
|
// Riverbank Computing Limited <info@riverbankcomputing.co.uk>
|
||
|
//
|
||
|
// This file is part of PyQt.
|
||
|
//
|
||
|
// This copy of PyQt is free software; you can redistribute it and/or modify it
|
||
|
// under the terms of the GNU General Public License as published by the Free
|
||
|
// Software Foundation; either version 2, or (at your option) any later
|
||
|
// version.
|
||
|
//
|
||
|
// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY
|
||
|
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||
|
// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||
|
// details.
|
||
|
//
|
||
|
// You should have received a copy of the GNU General Public License along with
|
||
|
// PyQt; see the file LICENSE. If not, write to the Free Software Foundation,
|
||
|
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||
|
|
||
|
|
||
|
%ExportedDoc
|
||
|
<Sect2><Title>QGL</Title>
|
||
|
<Para>
|
||
|
<Literal>QGL</Literal> is fully implemented.
|
||
|
</Para>
|
||
|
</Sect2>
|
||
|
|
||
|
<Sect2><Title>QGLContext</Title>
|
||
|
<Para>
|
||
|
<Literal>QGLContext</Literal> is fully implemented.
|
||
|
</Para>
|
||
|
</Sect2>
|
||
|
|
||
|
<Sect2><Title>QGLFormat</Title>
|
||
|
<Para>
|
||
|
<Literal>QGLFormat</Literal> is fully implemented.
|
||
|
</Para>
|
||
|
</Sect2>
|
||
|
|
||
|
<Sect2><Title>QGLWidget</Title>
|
||
|
<Para>
|
||
|
<Literal>QGLWidget</Literal> is fully implemented.
|
||
|
</Para>
|
||
|
</Sect2>
|
||
|
%End
|
||
|
|
||
|
|
||
|
%If (Qt_2_00 -)
|
||
|
|
||
|
const int QGL_VERSION;
|
||
|
const char *QGL_VERSION_STR;
|
||
|
|
||
|
const char *qGLVersion();
|
||
|
|
||
|
|
||
|
class QGL
|
||
|
{
|
||
|
%TypeHeaderCode
|
||
|
#include <qgl.h>
|
||
|
%End
|
||
|
|
||
|
public:
|
||
|
enum FormatOption {
|
||
|
DoubleBuffer,
|
||
|
DepthBuffer,
|
||
|
Rgba,
|
||
|
AlphaChannel,
|
||
|
AccumBuffer,
|
||
|
StencilBuffer,
|
||
|
StereoBuffers,
|
||
|
DirectRendering,
|
||
|
HasOverlay,
|
||
|
SingleBuffer,
|
||
|
NoDepthBuffer,
|
||
|
ColorIndex,
|
||
|
NoAlphaChannel,
|
||
|
NoAccumBuffer,
|
||
|
NoStencilBuffer,
|
||
|
NoStereoBuffers,
|
||
|
IndirectRendering,
|
||
|
NoOverlay
|
||
|
};
|
||
|
};
|
||
|
|
||
|
|
||
|
class QGLFormat : QGL
|
||
|
{
|
||
|
%TypeHeaderCode
|
||
|
#include <qgl.h>
|
||
|
%End
|
||
|
|
||
|
public:
|
||
|
QGLFormat();
|
||
|
QGLFormat(int,int = 0);
|
||
|
|
||
|
bool doubleBuffer() const;
|
||
|
void setDoubleBuffer(bool);
|
||
|
bool depth() const;
|
||
|
void setDepth(bool);
|
||
|
bool rgba() const;
|
||
|
void setRgba(bool);
|
||
|
bool alpha() const;
|
||
|
void setAlpha(bool);
|
||
|
bool accum() const;
|
||
|
void setAccum(bool);
|
||
|
bool stencil() const;
|
||
|
void setStencil(bool);
|
||
|
bool stereo() const;
|
||
|
void setStereo(bool);
|
||
|
bool directRendering() const;
|
||
|
void setDirectRendering(bool);
|
||
|
bool hasOverlay() const;
|
||
|
void setOverlay(bool);
|
||
|
|
||
|
int plane() const;
|
||
|
void setPlane(int);
|
||
|
|
||
|
void setOption(FormatOption);
|
||
|
bool testOption(FormatOption) const;
|
||
|
|
||
|
static QGLFormat defaultFormat();
|
||
|
static void setDefaultFormat(const QGLFormat &);
|
||
|
|
||
|
static QGLFormat defaultOverlayFormat();
|
||
|
static void setDefaultOverlayFormat(const QGLFormat &);
|
||
|
|
||
|
static bool hasOpenGL();
|
||
|
static bool hasOpenGLOverlays();
|
||
|
};
|
||
|
|
||
|
|
||
|
class QGLContext : QGL
|
||
|
{
|
||
|
%TypeHeaderCode
|
||
|
#include <qgl.h>
|
||
|
%End
|
||
|
|
||
|
public:
|
||
|
QGLContext(const QGLFormat &,QPaintDevice *);
|
||
|
%If (Qt_3_2_0 -)
|
||
|
QGLContext(const QGLFormat &);
|
||
|
%End
|
||
|
|
||
|
virtual bool create(const QGLContext * = 0);
|
||
|
bool isValid() const;
|
||
|
bool isSharing() const;
|
||
|
virtual void reset();
|
||
|
|
||
|
QGLFormat format() const;
|
||
|
%If (Qt_3_0_0 -)
|
||
|
QGLFormat requestedFormat() const;
|
||
|
%End
|
||
|
virtual void setFormat(const QGLFormat &);
|
||
|
|
||
|
virtual void makeCurrent();
|
||
|
virtual void swapBuffers() const;
|
||
|
|
||
|
QPaintDevice *device() const;
|
||
|
|
||
|
QColor overlayTransparentColor() const;
|
||
|
|
||
|
static const QGLContext *currentContext();
|
||
|
|
||
|
protected:
|
||
|
virtual bool chooseContext(const QGLContext * = 0);
|
||
|
virtual void doneCurrent();
|
||
|
|
||
|
%If (WS_X11)
|
||
|
virtual void *tryVisual(const QGLFormat &,int = 1);
|
||
|
virtual void *chooseVisual();
|
||
|
%End
|
||
|
|
||
|
bool deviceIsPixmap() const;
|
||
|
bool windowCreated() const;
|
||
|
void setWindowCreated(bool);
|
||
|
bool initialized() const;
|
||
|
void setInitialized(bool);
|
||
|
%If (Qt_3_1_0 -)
|
||
|
void generateFontDisplayLists(const QFont &,int);
|
||
|
%End
|
||
|
|
||
|
uint colorIndex(const QColor &) const;
|
||
|
%If (Qt_3_2_0 -)
|
||
|
void setValid(bool);
|
||
|
void setDevice(QPaintDevice *);
|
||
|
%End
|
||
|
|
||
|
private:
|
||
|
QGLContext();
|
||
|
QGLContext(const QGLContext &);
|
||
|
};
|
||
|
|
||
|
|
||
|
class QGLWidget : QWidget, QGL
|
||
|
{
|
||
|
%TypeHeaderCode
|
||
|
#include <qgl.h>
|
||
|
%End
|
||
|
|
||
|
public:
|
||
|
QGLWidget(QWidget * /TransferThis/ = 0,const char * = 0,
|
||
|
const QGLWidget * = 0,WFlags = 0);
|
||
|
%If (Qt_3_2_0 -)
|
||
|
QGLWidget(QGLContext * /Transfer/,QWidget * /TransferThis/ = 0,const char * = 0,
|
||
|
const QGLWidget * = 0,WFlags = 0);
|
||
|
%End
|
||
|
QGLWidget(const QGLFormat &,QWidget * /TransferThis/ = 0,
|
||
|
const char * = 0,const QGLWidget * = 0,WFlags = 0);
|
||
|
|
||
|
%ConvertToSubClassCode
|
||
|
sipClass = (sipCpp->inherits(sipName_QGLWidget) ? sipClass_QGLWidget : NULL);
|
||
|
%End
|
||
|
|
||
|
void qglColor(const QColor &) const;
|
||
|
void qglClearColor(const QColor &) const;
|
||
|
|
||
|
bool isValid() const;
|
||
|
bool isSharing() const;
|
||
|
virtual void makeCurrent();
|
||
|
%If (Qt_3_2_0 -)
|
||
|
void doneCurrent();
|
||
|
%End
|
||
|
|
||
|
bool doubleBuffer() const;
|
||
|
virtual void swapBuffers();
|
||
|
|
||
|
QGLFormat format() const;
|
||
|
|
||
|
const QGLContext *context() const;
|
||
|
|
||
|
virtual QPixmap renderPixmap(int = 0,int = 0,bool = 0);
|
||
|
%If (Qt_3_0_0 -)
|
||
|
virtual QImage grabFrameBuffer(bool = 0);
|
||
|
%End
|
||
|
|
||
|
virtual void makeOverlayCurrent();
|
||
|
const QGLContext *overlayContext() const;
|
||
|
|
||
|
static QImage convertToGLFormat(const QImage &);
|
||
|
|
||
|
void setMouseTracking(bool);
|
||
|
|
||
|
%If (Qt_3_0_0 -)
|
||
|
virtual void reparent(QWidget * /GetWrapper/,WFlags,const QPoint &,
|
||
|
bool = 0);
|
||
|
%MethodCode
|
||
|
if (sipCpp -> parent() != a0)
|
||
|
if (a0)
|
||
|
sipTransferTo(sipSelf,a0Wrapper);
|
||
|
else
|
||
|
sipTransferBack(sipSelf);
|
||
|
|
||
|
Py_BEGIN_ALLOW_THREADS
|
||
|
sipSelfWasArg ? sipCpp->QGLWidget::reparent(a0, a1, *a2, a3) : sipCpp->reparent(a0, a1, *a2, a3);
|
||
|
Py_END_ALLOW_THREADS
|
||
|
%End
|
||
|
|
||
|
const QGLColormap &colormap() const;
|
||
|
void setColormap(const QGLColormap &);
|
||
|
%End
|
||
|
|
||
|
%If (Qt_3_1_0 -)
|
||
|
void renderText(int,int,const QString &,const QFont & = QFont(),
|
||
|
int = 2000);
|
||
|
void renderText(double,double,double,const QString &,
|
||
|
const QFont & = QFont(),int = 2000);
|
||
|
%End
|
||
|
|
||
|
public slots:
|
||
|
virtual void updateGL();
|
||
|
virtual void updateOverlayGL();
|
||
|
|
||
|
protected:
|
||
|
virtual void initializeGL();
|
||
|
virtual void resizeGL(int,int);
|
||
|
virtual void paintGL();
|
||
|
|
||
|
virtual void initializeOverlayGL();
|
||
|
virtual void resizeOverlayGL(int,int);
|
||
|
virtual void paintOverlayGL();
|
||
|
|
||
|
void setAutoBufferSwap(bool);
|
||
|
bool autoBufferSwap() const;
|
||
|
|
||
|
void paintEvent(QPaintEvent *);
|
||
|
void resizeEvent(QResizeEvent *);
|
||
|
|
||
|
virtual void glInit();
|
||
|
virtual void glDraw();
|
||
|
|
||
|
private:
|
||
|
QGLWidget(const QGLWidget &);
|
||
|
};
|
||
|
|
||
|
%End
|