Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_display_filter.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2012 Boudewijn Rempt <boud@valdyas.org>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef KIS_DISPLAY_FILTER_H
7#define KIS_DISPLAY_FILTER_H
8
9#include <QObject>
10
11#include <qopengl.h>
12
13#include <kritaui_export.h>
14
16
17#ifndef Q_MOC_RUN
18#ifndef Q_OS_MACOS
19#define GLFunctions QOpenGLFunctions
20#else
21#define GLFunctions QOpenGLFunctions_3_2_Core
22#endif
23#endif
24class GLFunctions;
25class QOpenGLShaderProgram;
26
31class KRITAUI_EXPORT KisDisplayFilter : public QObject
32{
33 Q_OBJECT
34public:
35 explicit KisDisplayFilter(QObject *parent = 0);
36
37 virtual QString program() const = 0;
38 virtual void setupTextures(GLFunctions *f, QOpenGLShaderProgram *program) const = 0;
39 virtual void filter(quint8 *pixels, quint32 numPixels) = 0;
40 virtual void approximateInverseTransformation(quint8 *pixels, quint32 numPixels) = 0;
41 virtual void approximateForwardTransformation(quint8 *pixels, quint32 numPixels) = 0;
42 virtual bool useInternalColorManagement() const = 0;
44 virtual bool lockCurrentColorVisualRepresentation() const = 0;
48 virtual bool updateShader() = 0;
49};
50
51
52#endif
The KisDisplayFilter class is the base class for filters that are applied by the canvas to the projec...
virtual bool useInternalColorManagement() const =0
virtual void setupTextures(GLFunctions *f, QOpenGLShaderProgram *program) const =0
virtual bool updateShader()=0
virtual void approximateInverseTransformation(quint8 *pixels, quint32 numPixels)=0
virtual KisExposureGammaCorrectionInterface * correctionInterface() const =0
virtual QString program() const =0
virtual void filter(quint8 *pixels, quint32 numPixels)=0
virtual bool lockCurrentColorVisualRepresentation() const =0
virtual void approximateForwardTransformation(quint8 *pixels, quint32 numPixels)=0