// Copyright (C) 2019  Joseph Artsimovich <joseph.artsimovich@gmail.com>, 4lex4 <4lex49@zoho.com>
// Use of this source code is governed by the GNU GPLv3 license that can be found in the LICENSE file.

#ifndef SCANTAILOR_OUTPUT_IMAGEVIEW_H_
#define SCANTAILOR_OUTPUT_IMAGEVIEW_H_

#include <QColor>

#include "DragHandler.h"
#include "ImageViewBase.h"
#include "ZoomHandler.h"

#include <QPaintEvent>
#include <QPainter>

class ImageTransformation;

namespace output {
class ImageView : public ImageViewBase {
  Q_OBJECT
 public:
  ImageView(const QImage& image, const QImage& downscaledImage);

  ~ImageView() override;

 protected:
  void paintEvent(QPaintEvent* event) override;

  void contextMenuEvent(QContextMenuEvent* event) override;

 private:
  void drawGuides(QPainter& painter);

  DragHandler m_dragHandler;
  ZoomHandler m_zoomHandler;
};
}  // namespace output
#endif
