103template<
class HashType,
typename T>
106 typename HashType::const_iterator it = hash.constFind(path);
107 if (it != hash.constEnd()) {
110 warnKrita <<
"Unhandled:" << path <<
typeid(hash).name() <<
value;
114template<
class HashType,
typename T1,
typename T2>
115inline void passToCallback(
const QString &path,
const HashType &hash,
const T1 &value1,
const T2 &value2)
117 typename HashType::const_iterator it = hash.constFind(path);
118 if (it != hash.constEnd()) {
119 (*it)(value1, value2);
121 warnKrita <<
"Unhandled:" << path <<
typeid(hash).name() << value1 << value2;
137 MapHashEnum::const_iterator it =
m_d->mapEnum.constFind(path);
138 if (it !=
m_d->mapEnum.constEnd()) {
139 if (it->typeId == typeId) {
142 warnKrita <<
"KisAslCallbackObjectCatcher::addEnum: inconsistent typeId" <<
ppVar(typeId) <<
ppVar(it->typeId);
149 MapHashUnitFloat::const_iterator it =
m_d->mapUnitFloat.constFind(path);
150 if (it !=
m_d->mapUnitFloat.constEnd()) {
151 if (it->unitMap.contains(unit)) {
155 warnKrita <<
"KisAslCallbackObjectCatcher::addUnitFloat: inconsistent unit" <<
ppVar(unit) <<
ppVar(it->unitMap.keys());
182 MapHashCurve::const_iterator it =
m_d->mapCurve.constFind(path);
183 if (it !=
m_d->mapCurve.constEnd()) {
195 MapHashPatternRef::const_iterator it =
m_d->mapPatternRef.constFind(path);
196 if (it !=
m_d->mapPatternRef.constEnd()) {
197 (*it)(patternUuid, patternName);
208 if (
m_d->newStyleCallback) {
209 m_d->newStyleCallback();
230 MapHashUnitRect::const_iterator it =
m_d->mapUnitRect.constFind(path);
231 if (it !=
m_d->mapUnitRect.constEnd()) {
232 if (it->unit == unit) {
235 warnKrita <<
"KisAslCallbackObjectCatcher::addUnitRect: inconsistent unit" <<
ppVar(unit) <<
ppVar(it->unit);
246 m_d->mapDouble.insert(path, callback);
251 m_d->mapInteger.insert(path, callback);
261 if (
m_d->mapUnitFloat.contains(path)) {
263 mapping.
unitMap.insert(unit, callback);
264 m_d->mapUnitFloat.insert(path, mapping);
272 m_d->mapText.insert(path, callback);
277 m_d->mapBoolean.insert(path, callback);
282 m_d->mapColor.insert(path, callback);
287 m_d->mapPoint.insert(path, callback);
292 m_d->mapCurve.insert(path, callback);
297 m_d->mapPattern.insert(path, callback);
302 m_d->mapPatternRef.insert(path, callback);
307 m_d->mapGradient.insert(path, callback);
312 m_d->newStyleCallback = callback;
317 m_d->mapRawData.insert(path, callback);
322 m_d->mapTransform.insert(path, callback);
327 m_d->mapRect.insert(path, callback);
float value(const T *src, size_t ch)
void addGradient(const QString &path, KoAbstractGradientSP gradient) override
~KisAslCallbackObjectCatcher() override
void addCurve(const QString &path, const QString &name, const QVector< QPointF > &points) override
void addUnitFloat(const QString &path, const QString &unit, double value) override
void addUnitRect(const QString &path, const QString &unit, const QRectF &rect) override
void addBoolean(const QString &path, bool value) override
void subscribeDouble(const QString &path, ASLCallbackDouble callback)
void subscribeRawData(const QString &path, ASLCallbackRawData callback)
void subscribeEnum(const QString &path, const QString &typeId, ASLCallbackString callback)
void subscribeNewStyleStarted(ASLCallbackNewStyle callback)
void subscribeInteger(const QString &path, ASLCallbackInteger callback)
void subscribeUnitRect(const QString &path, const QString &unit, ASLCallbackRect callback)
void newStyleStarted() override
void subscribePattern(const QString &path, ASLCallbackPattern callback)
void subscribeCurve(const QString &path, ASLCallbackCurve callback)
void subscribeUnitFloat(const QString &path, const QString &unit, ASLCallbackDouble callback)
const QScopedPointer< Private > m_d
void addRawData(const QString &path, QByteArray ba) override
void addPattern(const QString &path, const KoPatternSP pattern, const QString &patternUuid) override
void addText(const QString &path, const QString &value) override
void addEnum(const QString &path, const QString &typeId, const QString &value) override
void subscribeRect(const QString &path, ASLCallbackRect callback)
void addPatternRef(const QString &path, const QString &patternUuid, const QString &patternName) override
void addRect(const QString &path, const QRectF &rect) override
void subscribeText(const QString &path, ASLCallbackString callback)
void addDouble(const QString &path, double value) override
void subscribeGradient(const QString &path, ASLCallbackGradient callback)
KisAslCallbackObjectCatcher()
void addTransform(const QString &path, const QTransform &transform) override
void addColor(const QString &path, const KoColor &value) override
void subscribeColor(const QString &path, ASLCallbackColor callback)
void addInteger(const QString &path, int value) override
void subscribePoint(const QString &path, ASLCallbackPoint callback)
void subscribeBoolean(const QString &path, ASLCallbackBoolean callback)
void subscribeTransform(const QString &path, ASLCallbackTransform callback)
void subscribePatternRef(const QString &path, ASLCallbackPatternRef callback)
void addPoint(const QString &path, const QPointF &value) override
QHash< QString, ASLCallbackGradient > MapHashGradient
QHash< QString, ASLCallbackDouble > MapHashDouble
QHash< QString, ASLCallbackPatternRef > MapHashPatternRef
QHash< QString, ASLCallbackPoint > MapHashPoint
QHash< QString, ASLCallbackBoolean > MapHashBoolean
QHash< QString, ASLCallbackTransform > MapHashTransform
QHash< QString, ASLCallbackPattern > MapHashPattern
QHash< QString, ASLCallbackRect > MapHashRect
QHash< QString, EnumMapping > MapHashEnum
QHash< QString, ASLCallbackCurve > MapHashCurve
void passToCallback(const QString &path, const HashType &hash, const T &value)
QHash< QString, ASLCallbackInteger > MapHashInt
QHash< QString, ASLCallbackString > MapHashText
QHash< QString, UnitRectMapping > MapHashUnitRect
QHash< QString, ASLCallbackColor > MapHashColor
QHash< QString, ASLCallbackRawData > MapHashRawData
QHash< QString, UnitFloatMapping > MapHashUnitFloat
std::function< void(bool)> ASLCallbackBoolean
std::function< void()> ASLCallbackNewStyle
std::function< void(const KoPatternSP, const QString &)> ASLCallbackPattern
std::function< void(const QString &, const QString &)> ASLCallbackPatternRef
std::function< void(QRectF)> ASLCallbackRect
std::function< void(KoAbstractGradientSP)> ASLCallbackGradient
std::function< void(QByteArray)> ASLCallbackRawData
std::function< void(const QString &)> ASLCallbackString
std::function< void(int)> ASLCallbackInteger
std::function< void(QTransform)> ASLCallbackTransform
std::function< void(const QPointF &)> ASLCallbackPoint
std::function< void(const KoColor &)> ASLCallbackColor
std::function< void(double)> ASLCallbackDouble
std::function< void(const QString &, const QVector< QPointF > &)> ASLCallbackCurve
EnumMapping(const QString &_typeId, ASLCallbackString _map)
MapHashUnitFloat mapUnitFloat
MapHashRawData mapRawData
MapHashPatternRef mapPatternRef
ASLCallbackNewStyle newStyleCallback
MapHashGradient mapGradient
MapHashTransform mapTransform
MapHashPattern mapPattern
MapHashUnitRect mapUnitRect
MapHashBoolean mapBoolean
UnitFloatMapping(const QString &_unit, ASLCallbackDouble _map)
QMap< QString, ASLCallbackDouble > unitMap
UnitRectMapping(const QString &_unit, ASLCallbackRect _map)