⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qgl-h.html

📁 QT 下载资料仅供参考
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- /home/reggie/tmp/qt-3.0-reggie-5401/qt-x11-commercial-3.0.5/include/qgl.h:1 --><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>qgl.h Include File</title><style type="text/css"><!--h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }a:link { color: #004faf; text-decoration: none }a:visited { color: #672967; text-decoration: none }body { background: #ffffff; color: black; }--></style></head><body><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr bgcolor="#E5E5E5"><td valign=center> <a href="index.html"><font color="#004faf">Home</font></a> | <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a> | <a href="mainclasses.html"><font color="#004faf">Main&nbsp;Classes</font></a> | <a href="annotated.html"><font color="#004faf">Annotated</font></a> | <a href="groups.html"><font color="#004faf">Grouped&nbsp;Classes</font></a> | <a href="functions.html"><font color="#004faf">Functions</font></a></td><td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qgl.h</h1><p>This is the verbatim text of the qgl.h include file. It is provided only for illustration; the copyright remains with Trolltech.<hr><pre>/****************************************************************************** $Id:  qt/qgl.h   3.0.5   edited Oct 12 2001 $**** Definition of OpenGL classes for Qt**** Created : 970112**** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.**** This file is part of the opengl module of the Qt GUI Toolkit.**** This file may be distributed under the terms of the Q Public License** as defined by Trolltech AS of Norway and appearing in the file** LICENSE.QPL included in the packaging of this file.**** This file may be distributed and/or modified under the terms of the** GNU General Public License version 2 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file.**** Licensees holding valid Qt Enterprise Edition licenses may use this** file in accordance with the Qt Commercial License Agreement provided** with the Software.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.**** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for**   information about Qt Commercial License Agreements.** See http://www.trolltech.com/qpl/ for QPL licensing information.** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#ifndef QGL_H#define QGL_H#ifndef QT_H#include &lt;qwidget.h&gt;#include "qglcolormap.h"#endif // QT_H#if !defined( QT_MODULE_OPENGL ) || defined( QT_LICENSE_PROFESSIONAL )#define QM_EXPORT_OPENGL#else#define QM_EXPORT_OPENGL Q_EXPORT#endif#ifndef QT_NO_COMPAT#define QGL_VERSION	450#define QGL_VERSION_STR	"4.5"QM_EXPORT_OPENGL inline const char *qGLVersion() {    qObsolete( 0, "qGLVersion", "qVersion" );    return QGL_VERSION_STR;}#endif#if defined(Q_WS_WIN)# include &lt;qt_windows.h&gt;#endif#if defined(Q_WS_MAC)#ifndef QMAC_OPENGL_DOUBLEBUFFER#define QMAC_OPENGL_DOUBLEBUFFER#endif# include &lt;OpenGL/gl.h&gt;# include &lt;OpenGL/glu.h&gt;#else# include &lt;GL/gl.h&gt;# include &lt;GL/glu.h&gt;#endif#if defined(Q_WS_WIN) || defined(Q_WS_MAC)class QGLCmap;#endifclass QPixmap;#if defined(Q_WS_X11)class QGLOverlayWidget;#endif// Namespace class:class QM_EXPORT_OPENGL QGL{public:    enum FormatOption {	DoubleBuffer		= 0x0001,	DepthBuffer		= 0x0002,	Rgba			= 0x0004,	AlphaChannel		= 0x0008,	AccumBuffer		= 0x0010,	StencilBuffer		= 0x0020,	StereoBuffers		= 0x0040,	DirectRendering		= 0x0080,	HasOverlay		= 0x0100,	SingleBuffer            = DoubleBuffer  &lt;&lt; 16,	NoDepthBuffer           = DepthBuffer   &lt;&lt; 16,	ColorIndex              = Rgba          &lt;&lt; 16,	NoAlphaChannel          = AlphaChannel  &lt;&lt; 16,	NoAccumBuffer           = AccumBuffer   &lt;&lt; 16,	NoStencilBuffer         = StencilBuffer &lt;&lt; 16,	NoStereoBuffers         = StereoBuffers &lt;&lt; 16,	IndirectRendering       = DirectRendering &lt;&lt; 16,	NoOverlay       	= HasOverlay &lt;&lt; 16    };};class QM_EXPORT_OPENGL QGLFormat : public QGL{public:    QGLFormat();    QGLFormat( int options, int plane = 0 );    bool    		doubleBuffer() const;    void    		setDoubleBuffer( bool enable );    bool    		depth() const;    void    		setDepth( bool enable );    bool    		rgba() const;    void    		setRgba( bool enable );    bool    		alpha() const;    void    		setAlpha( bool enable );    bool    		accum() const;    void    		setAccum( bool enable );    bool    		stencil() const;    void    		setStencil( bool enable );    bool    		stereo() const;    void    		setStereo( bool enable );    bool    		directRendering() const;    void    		setDirectRendering( bool enable );    bool    		hasOverlay() const;    void    		setOverlay( bool enable );    int			plane() const;    void		setPlane( int plane );    void		setOption( FormatOption opt );    bool		testOption( FormatOption opt ) const;    static QGLFormat	defaultFormat();    static void		setDefaultFormat( const QGLFormat&amp; f );    static QGLFormat	defaultOverlayFormat();    static void		setDefaultOverlayFormat( const QGLFormat&amp; f );    static bool		hasOpenGL();    static bool		hasOpenGLOverlays();    friend QM_EXPORT_OPENGL bool operator==( const QGLFormat&amp;, const QGLFormat&amp; );    friend QM_EXPORT_OPENGL bool operator!=( const QGLFormat&amp;, const QGLFormat&amp; );private:    uint opts;    int pln;};QM_EXPORT_OPENGL bool operator==( const QGLFormat&amp;, const QGLFormat&amp; );QM_EXPORT_OPENGL bool operator!=( const QGLFormat&amp;, const QGLFormat&amp; );class QM_EXPORT_OPENGL QGLContext : public QGL{public:    QGLContext( const QGLFormat&amp; format, QPaintDevice* device );    virtual ~QGLContext();    virtual bool	create( const QGLContext* shareContext = 0 );    bool		isValid() const;    bool		isSharing() const;    virtual void	reset();    QGLFormat		format() const;    QGLFormat		requestedFormat() const;    virtual void	setFormat( const QGLFormat&amp; format );        virtual void	makeCurrent();    virtual void	swapBuffers() const;    QPaintDevice*	device() const;    QColor		overlayTransparentColor() const;    static const QGLContext*	currentContext();        protected:    virtual bool	chooseContext( const QGLContext* shareContext = 0 );    virtual void	doneCurrent();#if defined(Q_WS_WIN)    virtual int		choosePixelFormat( void* pfd, HDC pdc );#elif defined(Q_WS_X11)    virtual void*	tryVisual( const QGLFormat&amp; f, int bufDepth = 1 );    virtual void*	chooseVisual();#elif defined(Q_WS_MAC)    virtual void*	chooseMacVisual(GDHandle);#endif    bool		deviceIsPixmap() const;    bool		windowCreated() const;    void		setWindowCreated( bool on );    bool		initialized() const;    void		setInitialized( bool on );    uint		colorIndex( const QColor&amp; c ) const;protected:#if  defined(Q_WS_WIN)    HGLRC		rc;    HDC			dc;    WId	win;    int			pixelFormatId;    QGLCmap*		cmap;#elif defined(Q_WS_X11)    void*		vi;    void*		cx;    Q_UINT32		gpm;#elif defined(Q_WS_MAC)    void*               vi;    void*		cx;#endif    QGLFormat		glFormat;    QGLFormat		reqFormat;private:    class Private {    public:	bool		valid;	bool		sharing;	bool		initDone;	bool		crWin;	QPaintDevice*	paintDevice;	QColor		transpColor;    };    Private* d;    static QGLContext*	currentCtx;    friend class QGLWidget;#ifdef Q_WS_MAC    void fixBufferRect();#endifprivate:	// Disabled copy constructor and operator=    QGLContext() {}    QGLContext( const QGLContext&amp; ) {}    QGLContext&amp;		operator=( const QGLContext&amp; ) { return *this; }};class QM_EXPORT_OPENGL QGLWidget : public QWidget, public QGL{    Q_OBJECTpublic:    QGLWidget( QWidget* parent=0, const char* name=0,	       const QGLWidget* shareWidget = 0, WFlags f=0 );    QGLWidget( const QGLFormat&amp; format, QWidget* parent=0, const char* name=0,	       const QGLWidget* shareWidget = 0, WFlags f=0 );    ~QGLWidget();    void		qglColor( const QColor&amp; c ) const;    void		qglClearColor( const QColor&amp; c ) const;        bool		isValid() const;    bool		isSharing() const;    virtual void	makeCurrent();    bool		doubleBuffer() const;    virtual void	swapBuffers();    QGLFormat		format() const;#ifndef Q_QDOC    virtual void	setFormat( const QGLFormat&amp; format );#endif    const QGLContext*	context() const;#ifndef Q_QDOC    virtual void	setContext( QGLContext* context,				    const QGLContext* shareContext = 0,				    bool deleteOldContext = TRUE );#endif    virtual QPixmap	renderPixmap( int w = 0, int h = 0,				      bool useContext = FALSE );    virtual QImage	grabFrameBuffer( bool withAlpha = FALSE );    virtual void	makeOverlayCurrent();    const QGLContext*	overlayContext() const;    static QImage	convertToGLFormat( const QImage&amp; img );    void		setMouseTracking( bool enable );    virtual void 	reparent( QWidget* parent, WFlags f, const QPoint&amp; p,				  bool showIt = FALSE );        const QGLColormap &amp; colormap() const;    void                setColormap( const QGLColormap &amp; map );    public slots:    virtual void	updateGL();    virtual void	updateOverlayGL();protected:    virtual void	initializeGL();    virtual void	resizeGL( int w, int h );    virtual void	paintGL();    virtual void	initializeOverlayGL();    virtual void	resizeOverlayGL( int w, int h );    virtual void	paintOverlayGL();    void		setAutoBufferSwap( bool on );    bool		autoBufferSwap() const;    void		paintEvent( QPaintEvent* );    void		resizeEvent( QResizeEvent* );    virtual void	glInit();    virtual void	glDraw();    private:    void                cleanupColormaps();    void		init( const QGLFormat&amp; fmt,			      const QGLWidget* shareWidget );    bool		renderCxPm( QPixmap* pm );    QGLContext*		glcx;    bool		autoSwap;        QGLColormap         cmap;    #if  defined(Q_WS_WIN)    QGLContext*		olcx;#elif defined(Q_WS_X11)    QGLOverlayWidget*	olw;    friend class QGLOverlayWidget;#elif defined(Q_WS_MAC)    QGLContext*		olcx;#endifprivate:	// Disabled copy constructor and operator=#if defined(Q_DISABLE_COPY)    QGLWidget( const QGLWidget&amp; );    QGLWidget&amp;		operator=( const QGLWidget&amp; );#endif#ifdef Q_WS_MACprivate:#ifdef QMAC_OPENGL_DOUBLEBUFFER    QPaintDevice *gl_pix;    QGLFormat req_format;#endif    friend class QWidget;    void fixReparented();    void fixBufferRect();#endif};//// QGLFormat inline functions//inline bool QGLFormat::doubleBuffer() const{    return testOption( DoubleBuffer );}inline bool QGLFormat::depth() const{    return testOption( DepthBuffer );}inline bool QGLFormat::rgba() const{    return testOption( Rgba );}inline bool QGLFormat::alpha() const{    return testOption( AlphaChannel );}inline bool QGLFormat::accum() const{    return testOption( AccumBuffer );}inline bool QGLFormat::stencil() const{    return testOption( StencilBuffer );}inline bool QGLFormat::stereo() const{    return testOption( StereoBuffers );}inline bool QGLFormat::directRendering() const{    return testOption( DirectRendering );}inline bool QGLFormat::hasOverlay() const{    return testOption( HasOverlay );}//// QGLContext inline functions//inline bool QGLContext::isValid() const{    return d-&gt;valid;}inline bool QGLContext::isSharing() const{    return d-&gt;sharing;}inline QGLFormat QGLContext::format() const{    return glFormat;}inline QGLFormat QGLContext::requestedFormat() const{    return reqFormat;}inline QPaintDevice* QGLContext::device() const{    return d-&gt;paintDevice;}inline bool QGLContext::deviceIsPixmap() const{    return d-&gt;paintDevice-&gt;devType() == QInternal::Pixmap;}inline bool QGLContext::windowCreated() const{    return d-&gt;crWin;}inline void QGLContext::setWindowCreated( bool on ){    d-&gt;crWin = on;}inline bool QGLContext::initialized() const{    return d-&gt;initDone;}inline void QGLContext::setInitialized( bool on ){    d-&gt;initDone = on;}inline const QGLContext* QGLContext::currentContext(){    return currentCtx;}//// QGLWidget inline functions//inline QGLFormat QGLWidget::format() const{    return glcx-&gt;format();}inline const QGLContext *QGLWidget::context() const{    return glcx;}inline bool QGLWidget::doubleBuffer() const{    return glcx-&gt;format().doubleBuffer();}inline void QGLWidget::setAutoBufferSwap( bool on ){    autoSwap = on;}inline bool QGLWidget::autoBufferSwap() const{    return autoSwap;}#ifdef Q_WS_MACinline void QGLWidget::fixBufferRect(){    glcx-&gt;fixBufferRect();}#endif#endif</pre><!-- eof --><p><address><hr><div align=center><table width=100% cellspacing=0 border=0><tr><td>Copyright &copy; 2002 <a href="http://www.trolltech.com">Trolltech</a><td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a><td align=right><div align=right>Qt version 3.0.5</div></table></div></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -