pastie/viewer.h

55 lines
929 B
C
Raw Normal View History

2014-12-20 14:07:15 +01:00
#ifndef VIEWER_H
#define VIEWER_H
#include <QGLWidget>
#include <QImage>
#include <QVector>
#include <opencv2/core.hpp>
#include "image.h"
using namespace cv;
class Viewer : public QGLWidget
{
Q_OBJECT
public:
explicit Viewer(QWidget *parent = 0);
protected:
2015-01-29 01:05:57 +01:00
enum MouseMode {
MOUSE_NONE,
MOUSE_ZOOMING,
MOUSE_DRAGGING
} mouseMode;
2014-12-20 14:07:15 +01:00
void paintEvent(QPaintEvent *pe);
void resizeEvent(QResizeEvent *re);
void wheelEvent(QWheelEvent *we);
void mousePressEvent(QMouseEvent *me);
void mouseMoveEvent(QMouseEvent *me);
2014-12-20 14:07:15 +01:00
void mouseReleaseEvent(QMouseEvent *me);
QPoint map(const QPoint &p) const;
QPoint unmap(const QPoint &p) const;
2014-12-20 14:07:15 +01:00
void updateTransform();
void updateWindow(const QRect &r);
2014-12-20 14:07:15 +01:00
Image *img;
QImage qimg;
QRect viewport;
QRect window;
QPoint first, last;
QTransform transform;
2014-12-20 14:07:15 +01:00
public slots:
void showImage(Image *img);
void reset();
2014-12-20 14:07:15 +01:00
};
#endif // VIEWER_H