OSDN Git Service

Ver0.22
[gefu/Gefu.git] / simpleimageview.h
index 434afdf..d7ceef7 100644 (file)
@@ -1,18 +1,49 @@
 #ifndef SIMPLEIMAGEVIEW_H
 #define SIMPLEIMAGEVIEW_H
 
+#include "abstractview.h"
+
 #include <QGraphicsView>
 
-class SimpleImageView : public QGraphicsView
+class MainWindow;
+
+class SimpleImageView : public QGraphicsView, public AbstractView
 {
     Q_OBJECT
 public:
     explicit SimpleImageView(QWidget *parent = 0);
 
+    void    initialize(MainWindow *w);
+    void    setSource(const QPixmap &pixmap);
+
+private:
+    QPixmap         m_imgSrc;
+    QGraphicsScene  m_scene;
+    double          m_scaleFactor;
+    int             m_rotateDeg;
+
+private:
+    double  scaleFactor();
+    void    sizeChanged();
+    double  resizeImage();
+
 signals:
+    void    statusChanged(const QString &info);
 
 public slots:
+    void    fitToWindow(bool checked);
+    void    scaleNormal();
+    void    rotate90();
+    void    rotate180();
+
+    // QWidget interface
+protected:
+    void resizeEvent(QResizeEvent *event);
 
+    // AbstractView interface
+public slots:
+    void    scaleUp();
+    void    scaleDown();
 };
 
 #endif // SIMPLEIMAGEVIEW_H