#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