Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_async_merger.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2009 Dmitry Kazakov <dimula73@gmail.com>
2 *
3 * SPDX-License-Identifier: LGPL-2.0-or-later
4 */
5
6#ifndef __KIS_ASYNC_MERGER_H
7#define __KIS_ASYNC_MERGER_H
8
9#include "kritaimage_export.h"
10#include "kis_types.h"
11#include "KisRenderPassFlags.h"
12
13class QRect;
15
16class KRITAIMAGE_EXPORT KisAsyncMerger
17{
18public:
19 void startMerge(KisBaseRectsWalker &walker, bool notifyClones = true);
20
21private:
22 inline void resetProjection();
23 inline void setupProjection(KisProjectionLeafSP currentLeaf, const QRect& rect, bool useTempProjection);
24 inline void writeProjection(KisProjectionLeafSP topmostLeaf, bool useTempProjection, const QRect &rect);
25 inline bool compositeWithProjection(KisProjectionLeafSP leaf, const QRect &rect);
26 inline void doNotifyClones(KisBaseRectsWalker &walker);
27
28private:
36
45
53};
54
55
56#endif /* __KIS_ASYNC_MERGER_H */
57
KisPaintDeviceSP m_finalProjection
KisPaintDeviceSP m_currentProjection
KisPaintDeviceSP m_cachedPaintDevice