lib Library API Documentation

koChild.h

00001 /* This file is part of the KDE project 00002 Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00017 Boston, MA 02111-1307, USA. 00018 */ 00019 #ifndef __koChild_h__ 00020 #define __koChild_h__ 00021 00022 #include <qobject.h> 00023 #include <qwmatrix.h> 00024 00036 class KoChild : public QObject 00037 { 00038 Q_OBJECT 00039 public: 00040 enum Gadget { NoGadget, TopLeft, TopMid, TopRight, MidLeft, MidRight, 00041 BottomLeft, BottomMid, BottomRight, Move }; 00042 00043 KoChild( QObject *parent = 0, const char *name = 0 ); 00044 virtual ~KoChild(); 00045 00050 virtual void setGeometry( const QRect &rect, bool noEmit = false ); 00051 00060 virtual QRect geometry() const; 00061 00068 virtual QRegion region( const QWMatrix& = QWMatrix() ) const; 00069 00076 virtual QPointArray pointArray( const QWMatrix &matrix = QWMatrix() ) const; 00077 00082 virtual bool contains( const QPoint& ) const; 00083 00089 virtual QRect boundingRect( const QWMatrix &matrix = QWMatrix() ) const; 00090 00095 virtual void setScaling( double x, double y ); 00096 00100 virtual double xScaling() const; 00101 00105 virtual double yScaling() const; 00106 00110 virtual void setShearing( double x, double y ); 00111 00115 virtual double xShearing() const; 00116 00120 virtual double yShearing() const; 00121 00125 virtual void setRotation( double ); 00126 00130 virtual double rotation() const; 00131 00135 virtual void setRotationPoint( const QPoint& pos ); 00136 00140 virtual QPoint rotationPoint() const; 00141 00146 virtual bool isRectangle() const; 00147 00156 virtual void setClipRegion( QPainter& painter, bool combine = true ); 00157 00163 virtual void transform( QPainter& painter ); 00164 00165 // ### make virtual 00166 void setContentsPos( int x, int y ); 00167 00175 virtual QRect contentRect() const; 00176 00177 virtual QRegion frameRegion( const QWMatrix& matrix, bool solid = false ) const; 00178 00179 virtual QPointArray framePointArray( const QWMatrix &matrix = QWMatrix() ) const; 00180 00181 virtual QWMatrix matrix() const; 00182 00183 virtual void lock(); 00184 00185 virtual void unlock(); 00186 00187 bool locked() const; 00188 00189 virtual QPointArray oldPointArray( const QWMatrix &matrix ); 00190 00191 virtual void setTransparent( bool transparent ); 00192 00193 virtual bool isTransparent() const; 00194 00195 virtual Gadget gadgetHitTest( const QPoint& p, const QWMatrix& matrix ); 00196 00197 signals: 00198 void changed( KoChild *thisChild ); 00199 00200 protected: 00201 00202 virtual QPointArray pointArray( const QRect& r, const QWMatrix& matrix ) const; 00203 00204 virtual void updateMatrix(); 00205 private: 00206 00207 class KoChildPrivate; 00208 KoChildPrivate *d; 00209 }; 00210 00211 #endif
KDE Logo
This file is part of the documentation for lib Library Version 1.3.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Sep 24 18:22:23 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003