OSDN Git Service

d7ceef75d2ea53a938b5003a0ffdf15a45971314
[gefu/Gefu.git] / simpleimageview.h
1 #ifndef SIMPLEIMAGEVIEW_H
2 #define SIMPLEIMAGEVIEW_H
3
4 #include "abstractview.h"
5
6 #include <QGraphicsView>
7
8 class MainWindow;
9
10 class SimpleImageView : public QGraphicsView, public AbstractView
11 {
12     Q_OBJECT
13 public:
14     explicit SimpleImageView(QWidget *parent = 0);
15
16     void    initialize(MainWindow *w);
17     void    setSource(const QPixmap &pixmap);
18
19 private:
20     QPixmap         m_imgSrc;
21     QGraphicsScene  m_scene;
22     double          m_scaleFactor;
23     int             m_rotateDeg;
24
25 private:
26     double  scaleFactor();
27     void    sizeChanged();
28     double  resizeImage();
29
30 signals:
31     void    statusChanged(const QString &info);
32
33 public slots:
34     void    fitToWindow(bool checked);
35     void    scaleNormal();
36     void    rotate90();
37     void    rotate180();
38
39     // QWidget interface
40 protected:
41     void resizeEvent(QResizeEvent *event);
42
43     // AbstractView interface
44 public slots:
45     void    scaleUp();
46     void    scaleDown();
47 };
48
49 #endif // SIMPLEIMAGEVIEW_H