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.
pytqt/sip/qtgl/qgl.sip

299 lines
6.2 KiB

// 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