imageedit.h
00001 /********************************************************************** 00002 ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 00003 ** 00004 ** This file is part of the Qtopia Environment. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00012 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00013 ** 00014 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00015 ** 00016 ** Contact info@trolltech.com if any conditions of this licensing are 00017 ** not clear to you. 00018 ** 00019 **********************************************************************/ 00020 #ifndef IMAGEEDIT_H 00021 #define IMAGEEDIT_H 00022 00023 #include <qscrollview.h> 00024 #include <qpixmap.h> 00025 00026 class ImageEditPrivate; 00027 class ImageEdit : public QScrollView 00028 { 00029 Q_OBJECT 00030 00031 public: 00032 ImageEdit( QWidget *parent = 0, const char *name = 0 ); 00033 ~ImageEdit(); 00034 00035 void setPixmap( const QPixmap &pm ); 00036 QPixmap pixmap() const; 00037 00038 protected: 00039 void drawContents( QPainter *p, int cx, int cy, int cw, int ch ); 00040 void contentsMousePressEvent( QMouseEvent *e ); 00041 void contentsMouseMoveEvent( QMouseEvent *e ); 00042 void contentsMouseReleaseEvent( QMouseEvent *e ); 00043 void viewportResizeEvent( QResizeEvent *e ); 00044 00045 private: 00046 QPoint lastPos; 00047 QPixmap buffer; 00048 ImageEditPrivate *d; 00049 void enlargeBuffer( const QSize& sz ); 00050 }; 00051 00052 #endif
