home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************************
- ** $Id: qt/qpointarray.h 3.0.0 edited Jun 22 12:24 $
- **
- ** 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 "qmemarray.h"
- #include "qpoint.h"
- #endif // QT_H
-
-
- #if defined(Q_TEMPLATEDLL)
- template class Q_EXPORT QMemArray<QPoint>;
- #endif
-
- class Q_EXPORT QPointArray : public QMemArray<QPoint>
- {
- public:
- QPointArray() {}
- ~QPointArray() {}
- QPointArray( int size ) : QMemArray<QPoint>( size ) {}
- QPointArray( const QPointArray &a ) : QMemArray<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, ... );
- bool putPoints( int index, int nPoints,
- const QPointArray & from, int fromIndex=0 );
-
- 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 cubicBezier() 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
-