File indexing completed on 2025-02-23 04:08:59
0001 /* 0002 * SPDX-FileCopyrightText: 2014 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef __KIS_EXPOSURE_GAMMA_CORRECTION_INTERFACE_H 0008 #define __KIS_EXPOSURE_GAMMA_CORRECTION_INTERFACE_H 0009 0010 #include <QtGlobal> 0011 #include <kritaui_export.h> 0012 0013 /** 0014 * A special interface for OCIO filter providing functionality for the 0015 * main UI module. See Dependency Inversion Principle for more. 0016 */ 0017 struct KRITAUI_EXPORT KisExposureGammaCorrectionInterface { 0018 virtual ~KisExposureGammaCorrectionInterface(); 0019 virtual bool canChangeExposureAndGamma() const = 0; 0020 virtual qreal currentExposure() const = 0; 0021 virtual void setCurrentExposure(qreal value) = 0; 0022 virtual qreal currentGamma() const = 0; 0023 virtual void setCurrentGamma(qreal value) = 0; 0024 }; 0025 0026 struct KRITAUI_EXPORT KisDumbExposureGammaCorrectionInterface : public KisExposureGammaCorrectionInterface 0027 { 0028 static KisDumbExposureGammaCorrectionInterface* instance(); 0029 0030 bool canChangeExposureAndGamma() const override; 0031 qreal currentExposure() const override; 0032 void setCurrentExposure(qreal value) override; 0033 qreal currentGamma() const override; 0034 void setCurrentGamma(qreal value) override; 0035 }; 0036 0037 #endif /* __KIS_EXPOSURE_GAMMA_CORRECTION_INTERFACE_H */