Eneboo - Documentación para desarrolladores
src/qt/src/kernel/qpointarray.h
Ir a la documentación de este archivo.
00001 /****************************************************************************
00002 ** $Id: qt/qpointarray.h   3.3.8   edited Jan 11 14:38 $
00003 **
00004 ** Definition of QPointArray class
00005 **
00006 ** Created : 940213
00007 **
00008 ** Copyright (C) 1992-2007 Trolltech ASA.  All rights reserved.
00009 **
00010 ** This file is part of the kernel module of the Qt GUI Toolkit.
00011 **
00012 ** This file may be distributed under the terms of the Q Public License
00013 ** as defined by Trolltech ASA of Norway and appearing in the file
00014 ** LICENSE.QPL included in the packaging of this file.
00015 **
00016 ** This file may be distributed and/or modified under the terms of the
00017 ** GNU General Public License version 2 as published by the Free Software
00018 ** Foundation and appearing in the file LICENSE.GPL included in the
00019 ** packaging of this file.
00020 **
00021 ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
00022 ** licenses may use this file in accordance with the Qt Commercial License
00023 ** Agreement provided with the Software.
00024 **
00025 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00026 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00027 **
00028 ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
00029 **   information about Qt Commercial License Agreements.
00030 ** See http://www.trolltech.com/qpl/ for QPL licensing information.
00031 ** See http://www.trolltech.com/gpl/ for GPL licensing information.
00032 **
00033 ** Contact info@trolltech.com if any conditions of this licensing are
00034 ** not clear to you.
00035 **
00036 **********************************************************************/
00037 
00038 #ifndef QPOINTARRAY_H
00039 #define QPOINTARRAY_H
00040 
00041 #ifndef QT_H
00042 #include "qmemarray.h"
00043 #include "qpoint.h"
00044 #endif // QT_H
00045 
00046 
00047 #if defined(Q_TEMPLATEDLL)
00048 //Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray<QPoint>;
00049 #endif
00050 
00051 class Q_EXPORT QPointArray : public QMemArray<QPoint>
00052 {
00053 public:
00054     QPointArray() {}
00055     ~QPointArray() {}
00056     QPointArray( int size ) : QMemArray<QPoint>( size ) {}
00057     QPointArray( const QPointArray &a ) : QMemArray<QPoint>( a ) {}
00058     QPointArray( const QRect &r, bool closed=FALSE );
00059     QPointArray( int nPoints, const QCOORD *points );
00060 
00061     QPointArray  &operator=( const QPointArray &a )
00062         { return (QPointArray&)assign( a ); }
00063 
00064     QPointArray copy() const
00065         { QPointArray tmp; return *((QPointArray*)&tmp.duplicate(*this)); }
00066 
00067     void    translate( int dx, int dy );
00068     QRect   boundingRect() const;
00069 
00070     void    point( uint i, int *x, int *y ) const;
00071     QPoint  point( uint i ) const;
00072     void    setPoint( uint i, int x, int y );
00073     void    setPoint( uint i, const QPoint &p );
00074     bool    setPoints( int nPoints, const QCOORD *points );
00075     bool    setPoints( int nPoints, int firstx, int firsty, ... );
00076     bool    putPoints( int index, int nPoints, const QCOORD *points );
00077     bool    putPoints( int index, int nPoints, int firstx, int firsty, ... );
00078     bool    putPoints( int index, int nPoints,
00079                        const QPointArray & from, int fromIndex=0 );
00080 
00081     void    makeArc( int x, int y, int w, int h, int a1, int a2 );
00082     void    makeEllipse( int x, int y, int w, int h );
00083     void    makeArc( int x, int y, int w, int h, int a1, int a2,
00084                      const QWMatrix& );
00085 #ifndef QT_NO_BEZIER
00086     QPointArray cubicBezier() const;
00087 #endif
00088     void*  shortPoints( int index = 0, int nPoints = -1 ) const;
00089     static void cleanBuffers();
00090 
00091 protected:
00092     static uint splen;
00093     static void* sp;
00094 };
00095 
00096 
00097 /*****************************************************************************
00098   QPointArray stream functions
00099  *****************************************************************************/
00100 #ifndef QT_NO_DATASTREAM
00101 Q_EXPORT QDataStream &operator<<( QDataStream &, const QPointArray & );
00102 Q_EXPORT QDataStream &operator>>( QDataStream &, QPointArray & );
00103 #endif
00104 
00105 /*****************************************************************************
00106   Misc. QPointArray functions
00107  *****************************************************************************/
00108 
00109 inline void QPointArray::setPoint( uint i, const QPoint &p )
00110 {
00111     setPoint( i, p.x(), p.y() );
00112 }
00113 
00114 
00115 #endif // QPOINTARRAY_H
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'