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/tqtgl/tqgl.sip

277 lines
6.0 KiB

// This is the SIP interface definition for TQGL, TQGLContext, TQGLFormat and
// TQGLWidget.
//
// Copyright (c) 2007
// Riverbank Computing Limited <info@riverbankcomputing.co.uk>
//
// This file is part of PyTQt.
//
// This copy of PyTQt 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.
//
// PyTQt 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
// PyTQt; 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>TQGL</Title>
<Para>
<Literal>TQGL</Literal> is fully implemented.
</Para>
</Sect2>
<Sect2><Title>TQGLContext</Title>
<Para>
<Literal>TQGLContext</Literal> is fully implemented.
</Para>
</Sect2>
<Sect2><Title>TQGLFormat</Title>
<Para>
<Literal>TQGLFormat</Literal> is fully implemented.
</Para>
</Sect2>
<Sect2><Title>TQGLWidget</Title>
<Para>
<Literal>TQGLWidget</Literal> is fully implemented.
</Para>
</Sect2>
%End
const int TQGL_VERSION;
const char *TQGL_VERSION_STR;
const char *qGLVersion();
class TQGL
{
%TypeHeaderCode
#include <tqgl.h>
%End
public:
enum FormatOption {
DoubleBuffer,
DepthBuffer,
Rgba,
AlphaChannel,
AccumBuffer,
StencilBuffer,
StereoBuffers,
DirectRendering,
HasOverlay,
SingleBuffer,
NoDepthBuffer,
ColorIndex,
NoAlphaChannel,
NoAccumBuffer,
NoStencilBuffer,
NoStereoBuffers,
IndirectRendering,
NoOverlay
};
};
class TQGLFormat : TQGL
{
%TypeHeaderCode
#include <tqgl.h>
%End
public:
TQGLFormat();
TQGLFormat(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 TQGLFormat defaultFormat();
static void setDefaultFormat(const TQGLFormat &);
static TQGLFormat defaultOverlayFormat();
static void setDefaultOverlayFormat(const TQGLFormat &);
static bool hasOpenGL();
static bool hasOpenGLOverlays();
};
class TQGLContext : TQGL
{
%TypeHeaderCode
#include <tqgl.h>
%End
public:
TQGLContext(const TQGLFormat &,TQPaintDevice *);
TQGLContext(const TQGLFormat &);
virtual bool create(const TQGLContext * = 0);
bool isValid() const;
bool isSharing() const;
virtual void reset();
TQGLFormat format() const;
TQGLFormat requestedFormat() const;
virtual void setFormat(const TQGLFormat &);
virtual void makeCurrent();
virtual void swapBuffers() const;
TQPaintDevice *device() const;
TQColor overlayTransparentColor() const;
static const TQGLContext *currentContext();
protected:
virtual bool chooseContext(const TQGLContext * = 0);
virtual void doneCurrent();
%If (WS_X11)
virtual void *tryVisual(const TQGLFormat &,int = 1);
virtual void *chooseVisual();
%End
bool deviceIsPixmap() const;
bool windowCreated() const;
void setWindowCreated(bool);
bool initialized() const;
void setInitialized(bool);
void generateFontDisplayLists(const TQFont &,int);
uint colorIndex(const TQColor &) const;
void setValid(bool);
void setDevice(TQPaintDevice *);
private:
TQGLContext();
TQGLContext(const TQGLContext &);
};
class TQGLWidget : TQWidget, TQGL
{
%TypeHeaderCode
#include <tqgl.h>
%End
public:
TQGLWidget(TQWidget * /TransferThis/ = 0,const char * = 0,
const TQGLWidget * = 0,WFlags = 0);
TQGLWidget(TQGLContext * /Transfer/,TQWidget * /TransferThis/ = 0,const char * = 0,
const TQGLWidget * = 0,WFlags = 0);
TQGLWidget(const TQGLFormat &,TQWidget * /TransferThis/ = 0,
const char * = 0,const TQGLWidget * = 0,WFlags = 0);
%ConvertToSubClassCode
sipClass = (sipCpp->inherits(sipName_TQGLWidget) ? sipClass_TQGLWidget : NULL);
%End
void qglColor(const TQColor &) const;
void qglClearColor(const TQColor &) const;
bool isValid() const;
bool isSharing() const;
virtual void makeCurrent();
void doneCurrent();
bool doubleBuffer() const;
virtual void swapBuffers();
TQGLFormat format() const;
const TQGLContext *context() const;
virtual TQPixmap renderPixmap(int = 0,int = 0,bool = 0);
virtual TQImage grabFrameBuffer(bool = 0);
virtual void makeOverlayCurrent();
const TQGLContext *overlayContext() const;
static TQImage convertToGLFormat(const TQImage &);
void setMouseTracking(bool);
virtual void reparent(TQWidget * /GetWrapper/,WFlags,const TQPoint &,
bool = 0);
%MethodCode
if (sipCpp -> parent() != a0)
if (a0)
sipTransferTo(sipSelf,a0Wrapper);
else
sipTransferBack(sipSelf);
Py_BEGIN_ALLOW_THREADS
sipSelfWasArg ? sipCpp->TQGLWidget::reparent(a0, a1, *a2, a3) : sipCpp->reparent(a0, a1, *a2, a3);
Py_END_ALLOW_THREADS
%End
const TQGLColormap &colormap() const;
void setColormap(const TQGLColormap &);
void renderText(int,int,const TQString &,const TQFont & = TQFont(),
int = 2000);
void renderText(double,double,double,const TQString &,
const TQFont & = TQFont(),int = 2000);
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(TQPaintEvent *);
void resizeEvent(TQResizeEvent *);
virtual void glInit();
virtual void glDraw();
private:
TQGLWidget(const TQGLWidget &);
};