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

📄 qinternal_p.h

📁 linux下聊天室的稳定版本
💻 H
字号:
/****************************************************************************** $Id: qt/qinternal_p.h   3.3.6   edited Aug 31 2005 $**** Definition of some shared interal classes**** Created : 010427**** Copyright (C) 1992-2005 Trolltech AS.  All rights reserved.**** This file is part of the kernel 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 or Qt Professional 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 QINTERNAL_P_H#define QINTERNAL_P_H////  W A R N I N G//  -------------//// This file is not part of the Qt API.  It exists for the convenience// of a number of Qt sources files.  This header file may change from// version to version without notice, or even be removed.//// We mean it.////#ifndef QT_H#include "qnamespace.h"#include "qrect.h"#include "qptrlist.h"#include "qcstring.h"#include "qiodevice.h"#endif // QT_Hclass QWidget;class QPainter;class QPixmap;class Q_EXPORT QSharedDoubleBuffer{public:    enum DoubleBufferFlags {	NoFlags         = 0x00,	InitBG		= 0x01,	Force		= 0x02,	Default		= InitBG | Force    };    typedef uint DBFlags;    QSharedDoubleBuffer( DBFlags f = Default );    QSharedDoubleBuffer( QWidget* widget,			 int x = 0, int y = 0, int w = -1, int h = -1,			 DBFlags f = Default );    QSharedDoubleBuffer( QPainter* painter,			 int x = 0, int y = 0, int w = -1, int h = -1,			 DBFlags f = Default );    QSharedDoubleBuffer( QWidget *widget, const QRect &r, DBFlags f = Default );    QSharedDoubleBuffer( QPainter *painter, const QRect &r, DBFlags f = Default );    ~QSharedDoubleBuffer();    bool begin( QWidget* widget, int x = 0, int y = 0, int w = -1, int h = -1 );    bool begin( QPainter* painter, int x = 0, int y = 0, int w = -1, int h = -1);    bool begin( QWidget* widget, const QRect &r );    bool begin( QPainter* painter, const QRect &r );    bool end();    QPainter* painter() const;    bool isActive() const;    bool isBuffered() const;    void flush();    static bool isDisabled() { return !dblbufr; }    static void setDisabled( bool off ) { dblbufr = !off; }    static void cleanup();private:    enum DoubleBufferState {	Active		= 0x0100,	BufferActive	= 0x0200,	ExternalPainter	= 0x0400    };    typedef uint DBState;    QPixmap *getPixmap();    void releasePixmap();    QWidget *wid;    int rx, ry, rw, rh;    DBFlags flags;    DBState state;    QPainter *p, *external_p;    QPixmap *pix;    static bool dblbufr;};inline bool QSharedDoubleBuffer::begin( QWidget* widget, const QRect &r ){ return begin( widget, r.x(), r.y(), r.width(), r.height() ); }inline bool QSharedDoubleBuffer::begin( QPainter *painter, const QRect &r ){ return begin( painter, r.x(), r.y(), r.width(), r.height() ); }inline QPainter* QSharedDoubleBuffer::painter() const{ return p; }inline bool QSharedDoubleBuffer::isActive() const{ return ( state & Active ); }inline bool QSharedDoubleBuffer::isBuffered() const{ return ( state & BufferActive ); }class QVirtualDestructor {public:    virtual ~QVirtualDestructor() {}};template <class T>class QAutoDeleter : public QVirtualDestructor {public:    QAutoDeleter( T* p ) : ptr( p ) {}    ~QAutoDeleter() { delete ptr; }    T* data() const { return ptr; }private:    T* ptr;};template <class T>T* qAutoDeleterData( QAutoDeleter<T>* ad ){    if ( !ad )	return 0;    return ad->data();}template <class T>QAutoDeleter<T>* qAutoDeleter( T* p ){    return new QAutoDeleter<T>( p );}class Q_EXPORT QMembuf{public:    QMembuf();    ~QMembuf();    void append( QByteArray *ba );    void clear();    bool consumeBytes( Q_ULONG nbytes, char *sink );    QByteArray readAll();    bool scanNewline( QByteArray *store );    bool canReadLine() const;    int ungetch( int ch );    QIODevice::Offset size() const;private:    QPtrList<QByteArray> *buf;    QIODevice::Offset _size;    QIODevice::Offset _index;};inline void QMembuf::append( QByteArray *ba ){ buf->append( ba ); _size += ba->size(); }inline void QMembuf::clear(){ buf->clear(); _size=0; _index=0; }inline QByteArray QMembuf::readAll(){ QByteArray ba(_size); consumeBytes(_size,ba.data()); return ba; }inline bool QMembuf::canReadLine() const{ return ((QMembuf*)this)->scanNewline( 0 ); }inline QIODevice::Offset QMembuf::size() const{ return _size; }#endif // QINTERNAL_P_H

⌨️ 快捷键说明

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