Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_strokes_queue.cpp File Reference
#include "kis_strokes_queue.h"
#include <QQueue>
#include <QMutex>
#include <QMutexLocker>
#include "kis_stroke.h"
#include "kis_updater_context.h"
#include "kis_stroke_job_strategy.h"
#include "kis_stroke_strategy.h"
#include "kis_undo_stores.h"
#include "kis_post_execution_undo_adapter.h"
#include "KisCppQuirks.h"
#include "kis_image_interfaces.h"

Go to the source code of this file.

Classes

class  KisStrokesQueue
 
class  KisStrokesQueue::LodNUndoStrokesFacade
 

Typedefs

typedef QQueue< KisStrokeSPStrokesQueue
 
typedef QQueue< KisStrokeSP >::iterator StrokesQueueIterator
 

Functions

template<class StrokePair , class StrokesQueue >
StrokesQueue::iterator executeStrokePair (const StrokePair &pair, StrokesQueue &queue, typename StrokesQueue::iterator it, KisStroke::Type type, int levelOfDetail, KisStrokesQueueMutatedJobInterface *mutatedJobsInterface)
 

Typedef Documentation

◆ StrokesQueue

typedef QQueue<KisStrokeSP> StrokesQueue

Definition at line 20 of file kis_strokes_queue.cpp.

◆ StrokesQueueIterator

typedef QQueue<KisStrokeSP>::iterator StrokesQueueIterator

Definition at line 21 of file kis_strokes_queue.cpp.

Function Documentation

◆ executeStrokePair()

template<class StrokePair , class StrokesQueue >
StrokesQueue::iterator executeStrokePair ( const StrokePair & pair,
StrokesQueue & queue,
typename StrokesQueue::iterator it,
KisStroke::Type type,
int levelOfDetail,
KisStrokesQueueMutatedJobInterface * mutatedJobsInterface )

Definition at line 130 of file kis_strokes_queue.cpp.

130 {
131 KisStrokeStrategy *strategy = pair.first;
132 QList<KisStrokeJobData*> jobsData = pair.second;
133
134 KisStrokeSP stroke(new KisStroke(strategy, type, levelOfDetail));
135 strategy->setMutatedJobsInterface(mutatedJobsInterface, stroke);
136 it = queue.insert(it, stroke);
137 Q_FOREACH (KisStrokeJobData *jobData, jobsData) {
138 stroke->addJob(jobData);
139 }
140 stroke->endStroke();
141
142 return it;
143}
void setMutatedJobsInterface(KisStrokesQueueMutatedJobInterface *mutatedJobsInterface, KisStrokeId strokeId)

References KisStrokeStrategy::setMutatedJobsInterface().