summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/gui/imagescrollview.h
Unidiff
Diffstat (limited to 'noncore/graphics/opie-eye/gui/imagescrollview.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/imagescrollview.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/noncore/graphics/opie-eye/gui/imagescrollview.h b/noncore/graphics/opie-eye/gui/imagescrollview.h
index edea235..e25f955 100644
--- a/noncore/graphics/opie-eye/gui/imagescrollview.h
+++ b/noncore/graphics/opie-eye/gui/imagescrollview.h
@@ -3,41 +3,60 @@
3 3
4#include <qscrollview.h> 4#include <qscrollview.h>
5#include <qimage.h> 5#include <qimage.h>
6#include <qstring.h> 6#include <qstring.h>
7#include <qdialog.h> 7#include <qdialog.h>
8 8
9class QPainter; 9class QPainter;
10 10
11class ImageScrollView:public QScrollView 11class ImageScrollView:public QScrollView
12{ 12{
13 Q_OBJECT 13 Q_OBJECT
14public: 14public:
15 ImageScrollView (const QImage&, QWidget * parent=0, const char * name=0, WFlags f=0 ); 15 ImageScrollView (const QImage&, QWidget * parent=0, const char * name=0, WFlags f=0,bool always_scale=false,bool rfit=false );
16 ImageScrollView (const QString&, QWidget * parent=0, const char * name=0, WFlags f=0 ); 16 ImageScrollView (const QString&, QWidget * parent=0, const char * name=0, WFlags f=0,bool always_scale=false,bool rfit=false );
17 virtual ~ImageScrollView(); 17 virtual ~ImageScrollView();
18 18
19 void setImage(const QImage&); 19 void setImage(const QImage&);
20
21 enum Rotation {
22 Rotate0,
23 Rotate90,
24 Rotate180,
25 Rotate270
26 };
27
20protected: 28protected:
21 virtual void drawContents ( QPainter * p, int clipx, int clipy, int clipw, int cliph ); 29 virtual void drawContents ( QPainter * p, int clipx, int clipy, int clipw, int cliph );
22 void init(); 30 void init();
23 31
24 QImage _image_data; 32 QImage _image_data;
33 QImage _original_data;
25 34
26 int _mouseStartPosX,_mouseStartPosY; 35 int _mouseStartPosX,_mouseStartPosY;
27 36
37 bool scale_to_fit;
38 bool rotate_to_fit;
39 bool first_resize_done;
40 Rotation last_rot;
41
42 void rescaleImage(int w, int h);
43
44 void rotate_into_data(Rotation r);
45
28protected slots: 46protected slots:
29 virtual void viewportMouseMoveEvent(QMouseEvent* e); 47 virtual void viewportMouseMoveEvent(QMouseEvent* e);
30 virtual void contentsMousePressEvent ( QMouseEvent * e); 48 virtual void contentsMousePressEvent ( QMouseEvent * e);
31 virtual void contentsMouseReleaseEvent ( QMouseEvent * e); 49 virtual void contentsMouseReleaseEvent ( QMouseEvent * e);
50 virtual void resizeEvent(QResizeEvent * e);
32}; 51};
33 52
34/* for testing */ 53/* for testing */
35class ImageDlg:public QDialog 54class ImageDlg:public QDialog
36{ 55{
37 Q_OBJECT 56 Q_OBJECT
38public: 57public:
39 ImageDlg(const QString&,QWidget * parent=0, const char * name=0); 58 ImageDlg(const QString&,QWidget * parent=0, const char * name=0);
40 virtual ~ImageDlg(); 59 virtual ~ImageDlg();
41}; 60};
42 61
43#endif 62#endif