digiKam
Loading...
Searching...
No Matches
imageregionwidget.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2013-07-15
7 * Description : a widget to draw an image clip region.
8 *
9 * SPDX-FileCopyrightText: 2013-2014 by Yiou Wang <geow812 at gmail dot com>
10 * SPDX-FileCopyrightText: 2010-2012 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
11 * SPDX-FileCopyrightText: 2011-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
12 *
13 * SPDX-License-Identifier: GPL-2.0-or-later
14 *
15 * ============================================================ */
16
17#pragma once
18
19// Qt includes
20
21#include <QPoint>
22#include <QRect>
23#include <QEvent>
24#include <QPolygon>
25#include <QPixmap>
26#include <QResizeEvent>
27#include <QWheelEvent>
28
29// Local includes
30
31#include "dimg.h"
32#include "graphicsdimgview.h"
33#include "imagezoomsettings.h"
34#include "digikam_export.h"
35
36namespace Digikam
37{
38
39class DIGIKAM_EXPORT ImageRegionWidget : public GraphicsDImgView
40{
41 Q_OBJECT
42
43public:
44
45 explicit ImageRegionWidget(QWidget* const parent = nullptr, bool paintExtras = true);
46 ~ImageRegionWidget() override;
47
51 QRect getOriginalImageRegionToRender() const;
52
60 DImg getOriginalRegionImage(bool useDownscaledImage = false) const;
61
62 DImg getOriginalImage() const;
63
64 void setPreviewImage(const DImg& img);
65 void updateImage(const DImg& img);
66
67 void setCapturePointMode(bool b);
68 bool capturePointMode() const;
69
70 void setHighLightPoints(const QPolygon& pointsList);
71
72 void ICCSettingsChanged();
73 void exposureSettingsChanged();
74
75Q_SIGNALS:
76
79
80public Q_SLOTS:
81
82 void slotPreviewModeChanged(int mode);
83 void slotOriginalImageRegionChanged(bool targetDone=true);
84
85protected:
86
87 void mousePressEvent(QMouseEvent*) override;
88 void mouseReleaseEvent(QMouseEvent*) override;
89
90private:
91
92 void emitCapturedPointFromOriginal(const QPointF&);
93
94private Q_SLOTS:
95
96 void slotOriginalImageRegionChangedDelayed();
97
98private:
99
100 class Private;
101 Private* const d_ptr = nullptr;
102};
103
104} // namespace Digikam
Definition dcolor.h:33
Definition dimg.h:52
Definition graphicsdimgview.h:34
Definition imageregionwidget.h:40
void signalCapturedPointFromOriginal(const Digikam::DColor &, const QPoint &)
Definition datefolderview.cpp:34