7#ifndef KOSHAPEBULKACTIONLOCK_H
8#define KOSHAPEBULKACTIONLOCK_H
10#include "kritaflake_export.h"
21 using Update = std::pair<KoShape*, QRectF>;
31 void tryAddBulkInterfaceShape(
KoShape *shape);
44 using BaseClass::BaseClass;
46 template <
typename T,
typename = std::enable_if_t<std::is_base_of_v<KoShape, T>>>
53 using BaseClass::Update;
54 using BaseClass::UpdatesList;
56 using BaseClass::lock;
63 using BaseClass::owns_lock;
64 using BaseClass::swap;
65 using BaseClass::release;
66 using BaseClass::operator bool;
68 static void bulkShapesUpdate(
const UpdatesList &updates);
QList< KoShapeBulkActionInterface * > m_bulkInterfaceShapes
std::vector< Update > UpdatesList
std::pair< KoShape *, QRectF > Update
UpdatesList takeFinalUpdatesList()
std::unordered_map< KoShape *, QRectF > m_finalUpdates
QList< KoShape * > m_normalUpdateShapes
KoShapeBulkActionLock(T *shape)
Interface for bulk actions on shapes.