Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_image_interfaces.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2011 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef __KIS_IMAGE_INTERFACES_H
8#define __KIS_IMAGE_INTERFACES_H
9
10#include "kis_types.h"
11#include <kritaimage_export.h>
13
14class QRect;
18
19
20class KRITAIMAGE_EXPORT KisStrokesFacade
21{
22public:
23 virtual ~KisStrokesFacade();
24 virtual KisStrokeId startStroke(KisStrokeStrategy *strokeStrategy) = 0;
25 virtual void addJob(KisStrokeId id, KisStrokeJobData *data) = 0;
26 virtual void endStroke(KisStrokeId id) = 0;
27 virtual bool cancelStroke(KisStrokeId id) = 0;
28};
29
30class KRITAIMAGE_EXPORT KisUpdatesFacade
31{
32public:
33 virtual ~KisUpdatesFacade();
34
35 virtual void blockUpdates() = 0;
36 virtual void unblockUpdates() = 0;
37
38 virtual void disableUIUpdates() = 0;
40
41 virtual bool hasUpdatesRunning() const = 0;
42
43 virtual void notifyBatchUpdateStarted() = 0;
44 virtual void notifyBatchUpdateEnded() = 0;
45 virtual void notifyUIUpdateCompleted(const QRect &rc) = 0;
46
47 virtual QRect bounds() const = 0;
48
49 virtual void disableDirtyRequests() = 0;
50 virtual void enableDirtyRequests() = 0;
51
52 void refreshGraphAsync(KisNodeSP root = nullptr, KisProjectionUpdateFlags flags = KisProjectionUpdateFlag::None);
53 void refreshGraphAsync(KisNodeSP root, const QRect &rc, KisProjectionUpdateFlags flags = KisProjectionUpdateFlag::None);
54 void refreshGraphAsync(KisNodeSP root, const QRect &rc, const QRect &cropRect, KisProjectionUpdateFlags flags = KisProjectionUpdateFlag::None);
55 virtual void refreshGraphAsync(KisNodeSP root, const QVector<QRect> &rc, const QRect &cropRect, KisProjectionUpdateFlags flags = KisProjectionUpdateFlag::None) = 0;
56
60
61};
62
63class KRITAIMAGE_EXPORT KisProjectionUpdateListener
64{
65public:
67 virtual void notifyProjectionUpdated(const QRect &rc) = 0;
68};
69
70class KRITAIMAGE_EXPORT KisStrokeUndoFacade
71{
72public:
73 virtual ~KisStrokeUndoFacade();
75 virtual const KUndo2Command* lastExecutedCommand() const = 0;
76};
77
78#endif /* __KIS_IMAGE_INTERFACES_H */
virtual void notifyProjectionUpdated(const QRect &rc)=0
virtual const KUndo2Command * lastExecutedCommand() const =0
virtual KisPostExecutionUndoAdapter * postExecutionUndoAdapter() const =0
virtual KisStrokeId startStroke(KisStrokeStrategy *strokeStrategy)=0
virtual void endStroke(KisStrokeId id)=0
virtual void addJob(KisStrokeId id, KisStrokeJobData *data)=0
virtual bool cancelStroke(KisStrokeId id)=0
virtual KisProjectionUpdatesFilterCookie addProjectionUpdatesFilter(KisProjectionUpdatesFilterSP filter)=0
virtual void enableDirtyRequests()=0
virtual void refreshGraphAsync(KisNodeSP root, const QVector< QRect > &rc, const QRect &cropRect, KisProjectionUpdateFlags flags=KisProjectionUpdateFlag::None)=0
virtual void notifyBatchUpdateStarted()=0
virtual void disableDirtyRequests()=0
virtual bool hasUpdatesRunning() const =0
virtual void notifyBatchUpdateEnded()=0
virtual void blockUpdates()=0
virtual KisProjectionUpdatesFilterCookie currentProjectionUpdatesFilter() const =0
virtual KisProjectionUpdatesFilterSP removeProjectionUpdatesFilter(KisProjectionUpdatesFilterCookie cookie)=0
virtual void disableUIUpdates()=0
virtual void notifyUIUpdateCompleted(const QRect &rc)=0
virtual void unblockUpdates()=0
virtual QRect bounds() const =0
virtual QVector< QRect > enableUIUpdates()=0
void * KisProjectionUpdatesFilterCookie
Definition kis_types.h:285