/**************************************************************************** ** $Id: qt/src/kernel/qpointarray.h 2.2.1 edited 2000-08-25 $ ** ** Definition of QPointArray class ** ** Created : 940213 ** ** Copyright (C) 1992-2000 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 QPOINTARRAY_H #define QPOINTARRAY_H #ifndef QT_H #include "qarray.h" #include "qpoint.h" #endif // QT_H #if defined(Q_TEMPLATEDLL) template class Q_EXPORT QArray<QPoint>; #endif class Q_EXPORT QPointArray : public QArray<QPoint> { public: QPointArray() {} ~QPointArray() {} QPointArray( int size ) : QArray<QPoint>( size ) {} QPointArray( const QPointArray &a ) : QArray<QPoint>( a ) {} QPointArray( const QRect &r, bool closed=FALSE ); QPointArray( int nPoints, const QCOORD *points ); QPointArray &operator=( const QPointArray &a ) { return (QPointArray&)assign( a ); } QPointArray copy() const { QPointArray tmp; return *((QPointArray*)&tmp.duplicate(*this)); } void translate( int dx, int dy ); QRect boundingRect() const; void point( uint i, int *x, int *y ) const; QPoint point( uint i ) const; void setPoint( uint i, int x, int y ); void setPoint( uint i, const QPoint &p ); bool setPoints( int nPoints, const QCOORD *points ); bool setPoints( int nPoints, int firstx, int firsty, ... ); bool putPoints( int index, int nPoints, const QCOORD *points ); bool putPoints( int index, int nPoints, int firstx, int firsty, ... ); void makeArc( int x, int y, int w, int h, int a1, int a2 ); void makeEllipse( int x, int y, int w, int h ); void makeArc( int x, int y, int w, int h, int a1, int a2, const QWMatrix& ); QPointArray quadBezier() const; void* shortPoints( int index = 0, int nPoints = -1 ) const; static void cleanBuffers(); protected: static uint splen; static void* sp; }; /***************************************************************************** QPointArray stream functions *****************************************************************************/ #ifndef QT_NO_DATASTREAM Q_EXPORT QDataStream &operator<<( QDataStream &, const QPointArray & ); Q_EXPORT QDataStream &operator>>( QDataStream &, QPointArray & ); #endif /***************************************************************************** Misc. QPointArray functions *****************************************************************************/ inline void QPointArray::setPoint( uint i, const QPoint &p ) { setPoint( i, p.x(), p.y() ); } #endif // QPOINTARRAY_H
Copyright © 2000 Trolltech | Trademarks | Qt version 2.2.1
|