8#ifndef KIS_OPENGL_CANVAS_RENDERER_H
9#define KIS_OPENGL_CANVAS_RENDERER_H
14#include <QOpenGLFunctions>
16#include <QOpenGLFunctions_3_2_Core>
20#include "kritaui_export.h"
27class QOpenGLShaderProgram;
33#define GLFunctions QOpenGLFunctions
35#define GLFunctions QOpenGLFunctions_3_2_Core
59 void resizeGL(
int width,
int height);
65 void paintCanvasOnly(
const QRect &canvasImageDirtyRect,
const QRect &viewportUpdateRect = QRect());
107 void drawImageTiles(
int firstCol,
int lastCol,
int firstRow,
int lastRow, qreal scaleX, qreal scaleY,
const QPoint &wrapAroundOffset);
109 void drawGrid(
const QRect &updateRect);
119 QOpenGLContext *
context()
const;
float value(const T *src, size_t ch)
KisDisplayConfig This class keeps track of the color management configuration for image to display....
The KisDisplayFilter class is the base class for filters that are applied by the canvas to the projec...
virtual KisCanvas2 * canvas() const =0
virtual QColor borderColor() const =0
virtual KisCoordinatesConverter * coordinatesConverter() const =0
virtual ~CanvasBridge()=default
virtual QOpenGLContext * openglContext() const =0
virtual GLenum internalTextureFormat() const =0
virtual qreal devicePixelRatioF() const =0
QRect updateCanvasProjection(KisUpdateInfoSP info)
void initializeDisplayShader()
void setDisplayFilter(QSharedPointer< KisDisplayFilter > displayFilter)
void drawImage(const QRect &updateRect)
void drawBackground(const QRect &updateRect)
QRectF surfaceToWidget(const QRectF &rc)
void resizeGL(int width, int height)
KisOpenGLImageTexturesSP openGLImageTextures() const
void channelSelectionChanged(const QBitArray &channelFlags)
QOpenGLContext * context() const
KisUpdateInfoSP startUpdateCanvasProjection(const QRect &rc)
void paintCanvasOnly(const QRect &canvasImageDirtyRect, const QRect &viewportUpdateRect=QRect())
void setDisplayFilterImpl(QSharedPointer< KisDisplayFilter > displayFilter, bool initializing)
QRectF widgetToSurface(const QRectF &rc)
void drawImageTiles(int firstCol, int lastCol, int firstRow, int lastRow, qreal scaleX, qreal scaleY, const QPoint &wrapAroundOffset)
void drawGrid(const QRect &updateRect)
void reportFailedShaderCompilation(const QString &context)
void setLodResetInProgress(bool value)
void setDisplayConfig(const KisDisplayConfig &config)
WrapAroundAxis wrapAroundViewingModeAxis() const
KisOpenGLCanvasRenderer(CanvasBridge *canvasBridge, KisImageWSP image, const KisDisplayConfig &displayConfig, QSharedPointer< KisDisplayFilter > displayFilter)
void setWrapAroundViewingModeAxis(WrapAroundAxis value)
void drawCheckers(const QRect &updateRect)
bool wrapAroundViewingMode() const
void updatePixelGridMode()
void finishResizingImage(qint32 w, qint32 h)
void paintToolOutline(const KisOptimizedBrushOutline &path, const QRect &viewportUpdateRect, const int thickness=1)
qreal devicePixelRatioF() const
void renderCanvasGL(const QRect &updateRect)
void setWrapAroundViewingMode(bool value)
KisCanvas2 * canvas() const
QColor borderColor() const
KisCoordinatesConverter * coordinatesConverter() const
~KisOpenGLCanvasRenderer()
void notifyImageColorSpaceChanged(const KoColorSpace *cs)