diff options
Diffstat (limited to 'python/pyqt/sip/qtgl/qgl.sip')
-rw-r--r-- | python/pyqt/sip/qtgl/qgl.sip | 298 |
1 files changed, 298 insertions, 0 deletions
diff --git a/python/pyqt/sip/qtgl/qgl.sip b/python/pyqt/sip/qtgl/qgl.sip new file mode 100644 index 00000000..e08b6a95 --- /dev/null +++ b/python/pyqt/sip/qtgl/qgl.sip @@ -0,0 +1,298 @@ +// 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 |