Krita Source Code Documentation
Loading...
Searching...
No Matches
lutdocker_dock.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2004 Boudewijn Rempt <boud@valdyas.org>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef LUT_DOCKER_DOCK_H
8#define LUT_DOCKER_DOCK_H
9
10#include "ui_wdglut.h"
11
12#include <QWidget>
13#include <QPointer>
14#include <QDockWidget>
15
16#include <KoDockFactoryBase.h>
18
19#include <kis_types.h>
20#include <kis_canvas2.h>
22
23#include <OpenColorIO.h>
24
25#include <config-ocio.h>
26
27#ifndef HAVE_OCIO_V2
28#define OCIO_VERSION_FULL_STR OCIO_VERSION
29#endif
30
31namespace OCIO = OCIO_NAMESPACE;
32
34
35#include <config-ocio.h>
36
37#ifdef HAVE_OCIO_V2
39#else
41#endif
42
44
45
46class LutDockerDock : public QDockWidget, public KoCanvasObserverBase, public Ui_WdgLut, public KisExposureGammaCorrectionInterface
47{
48 Q_OBJECT
49
50public:
51
53 ~LutDockerDock() override;
54 QString observerName() override
55 {
56 return "LutDockerDock";
57 }
59 void setCanvas(KoCanvasBase *canvas) override;
60 void unsetCanvas() override;
61
62 bool canChangeExposureAndGamma() const override;
63 qreal currentExposure() const override;
64 void setCurrentExposure(qreal value) override;
65 void setCurrentGamma(qreal value) override;
66 qreal currentGamma() const override;
67
68private Q_SLOTS:
69
71
72 void exposureValueChanged(double exposure);
73 void gammaValueChanged(double exposure);
74
76
78
79 void writeControls();
82 void refillViewCombobox();
83 void selectLut();
84 void clearLut();
85
87
88 void slotUpdateIcons();
89
90private:
91 void enableControls();
92 void refillControls();
93
94private:
95
96 QWidget *m_page;
97
99 OCIO::ConstConfigRcPtr m_ocioConfig;
101
102 QScopedPointer<KisSignalCompressorWithParam<qreal> > m_exposureCompressor;
103 QScopedPointer<KisSignalCompressorWithParam<qreal> > m_gammaCompressor;
104
106};
107
108
109#endif // LUT_DOCKER_DOCK_H
110
float value(const T *src, size_t ch)
void unsetCanvas() override
void setCurrentExposure(qreal value) override
OCIO::ConstConfigRcPtr m_ocioConfig
~LutDockerDock() override
void exposureValueChanged(double exposure)
void resetOcioConfiguration()
qreal currentExposure() const override
BlackWhitePointChooser * m_bwPointChooser
QPointer< KisCanvas2 > m_canvas
void setCurrentGamma(qreal value) override
QScopedPointer< KisSignalCompressorWithParam< qreal > > m_exposureCompressor
void updateDisplaySettings()
QScopedPointer< KisSignalCompressorWithParam< qreal > > m_gammaCompressor
void setCanvas(KoCanvasBase *canvas) override
reimplemented from KoCanvasObserverBase
QSharedPointer< KisDisplayFilter > m_displayFilter
void slotImageColorSpaceChanged()
QString observerName() override
qreal currentGamma() const override
QWidget * m_page
void selectOcioConfiguration()
bool canChangeExposureAndGamma() const override
void slotShowBWConfiguration()
void gammaValueChanged(double exposure)
void slotColorManagementModeChanged()