9#include <QGlobalStatic>
11#include <klocalizedstring.h>
23 static const KoID compositeOver(
COMPOSITE_OVER, i18nc(
"Blending mode - Normal",
"Normal"));
30 <<
KoID(
"arithmetic", i18nc(
"Blending mode - category Arithmetic",
"Arithmetic"))
31 <<
KoID(
"binary" , i18nc(
"Blending mode - category Binary",
"Binary"))
32 <<
KoID(
"dark" , i18nc(
"Blending mode - category Darken",
"Darken"))
33 <<
KoID(
"light" , i18nc(
"Blending mode - category Lighten",
"Lighten"))
34 <<
KoID(
"modulo" , i18nc(
"Blending mode - category Modulo",
"Modulo"))
35 <<
KoID(
"negative" , i18nc(
"Blending mode - category Negative",
"Negative"))
36 <<
KoID(
"mix" , i18nc(
"Blending mode - category Mix",
"Mix"))
37 <<
KoID(
"misc" , i18nc(
"Blending mode - category Misc",
"Misc"))
38 <<
KoID(
"hsy" , i18nc(
"Blending mode - category HSY",
"HSY"))
39 <<
KoID(
"hsi" , i18nc(
"Blending mode - category HSI",
"HSI"))
40 <<
KoID(
"hsl" , i18nc(
"Blending mode - category HSL",
"HSL"))
41 <<
KoID(
"hsv" , i18nc(
"Blending mode - category HSV",
"HSV"))
42 <<
KoID(
"quadratic" , i18nc(
"Blending mode - category Quadratic",
"Quadratic"));
208 KoIDMap::const_iterator itr = std::find(
m_map.begin(),
m_map.end(),
KoID(compositeOpID));
209 return (itr !=
m_map.end()) ? *itr :
KoID();
222 const QString name =
getKoID(compositeOpID).
name();
224 warnPigment <<
"Got null display name for composite op" << compositeOpID;
225 return compositeOpID;
271 Q_FOREACH (
const QString &
id, ids) {
272 KoIDMap::const_iterator iter = std::find(
m_map.begin(),
m_map.end(),
KoID(
id));
275 result.insert(iter.key(), iter.value());
289 const QString name = (itr !=
m_categories.end()) ? itr->name() : QString();
291 warnPigment <<
"Got null display name for composite op category" << categoryID;
299 qint32 num =
m_map.count(category);
300 KoIDMap::const_iterator beg =
m_map.find(category);
301 KoIDMap::const_iterator end = beg + num;
307 for(; beg!=end; ++beg){
309 list.push_back(*beg);
313 for(; beg!=end; ++beg)
314 list.push_back(*beg);
322 KoIDMap::const_iterator beg =
m_map.begin();
323 KoIDMap::const_iterator end =
m_map.end();
326 list.reserve(
m_map.size());
329 for(; beg!=end; ++beg){
331 list.push_back(*beg);
335 for(; beg!=end; ++beg)
336 list.push_back(*beg);
Q_GLOBAL_STATIC(KisStoragePluginRegistry, s_instance)
static KoID koidCompositeOverStatic()
const QString COMPOSITE_SOFT_LIGHT_IFS_ILLUSIONS
const QString COMPOSITE_GLOW
const QString COMPOSITE_DEC_SATURATION_HSI
const QString COMPOSITE_OVER
const QString COMPOSITE_INC_SATURATION
const QString COMPOSITE_COPY
const QString COMPOSITE_DARKEN
const QString COMPOSITE_DIVISIVE_MOD_CON
const QString COMPOSITE_ALLANON
const QString COMPOSITE_EQUIVALENCE
const QString COMPOSITE_NEGATION
const QString COMPOSITE_OVERLAY
const QString COMPOSITE_DIVIDE
const QString COMPOSITE_LIGHTNESS
const QString COMPOSITE_DODGE
const QString COMPOSITE_SOFT_LIGHT_SVG
const QString COMPOSITE_HELOW
const QString COMPOSITE_GAMMA_LIGHT
const QString COMPOSITE_ADD
const QString COMPOSITE_FOG_DARKEN_IFS_ILLUSIONS
const QString COMPOSITE_SATURATION_HSI
const QString COMPOSITE_LIGHTEN
const QString COMPOSITE_COPY_RED
const QString COMPOSITE_LINEAR_BURN
const QString COMPOSITE_FREEZE
const QString COMPOSITE_FOG_LIGHTEN_IFS_ILLUSIONS
const QString COMPOSITE_CONVERSE
const QString COMPOSITE_VALUE
const QString COMPOSITE_GRAIN_MERGE
const QString COMPOSITE_SOFT_LIGHT_PHOTOSHOP
const QString COMPOSITE_PARALLEL
const QString COMPOSITE_PENUMBRAA
const QString COMPOSITE_LIGHTER_COLOR
const QString COMPOSITE_INVERSE_SUBTRACT
const QString COMPOSITE_TINT_IFS_ILLUSIONS
const QString COMPOSITE_DIVISIVE_MOD
const QString COMPOSITE_MULT
const QString COMPOSITE_INC_INTENSITY
const QString COMPOSITE_LAMBERT_LIGHTING_GAMMA_2_2
const QString COMPOSITE_REFLECT
const QString COMPOSITE_DEC_VALUE
const QString COMPOSITE_PNORM_B
const QString COMPOSITE_INC_SATURATION_HSL
const QString COMPOSITE_OR
const QString COMPOSITE_SATURATION
const QString COMPOSITE_LINEAR_LIGHT
const QString COMPOSITE_OUT
const QString COMPOSITE_LAMBERT_LIGHTING
const QString COMPOSITE_XNOR
const QString COMPOSITE_VIVID_LIGHT_HDR
const QString COMPOSITE_DESTINATION_ATOP
const QString COMPOSITE_INC_SATURATION_HSI
const QString COMPOSITE_FHYRD
const QString COMPOSITE_HUE_HSL
const QString COMPOSITE_COPY_GREEN
const QString COMPOSITE_HARD_LIGHT
const QString COMPOSITE_INTERPOLATION
const QString COMPOSITE_LUMINOSITY_SAI
const QString COMPOSITE_INC_SATURATION_HSV
const QString COMPOSITE_HUE_HSV
const QString COMPOSITE_PENUMBRAB
const QString COMPOSITE_IMPLICATION
const QString COMPOSITE_SHADE_IFS_ILLUSIONS
const QString COMPOSITE_NOT_IMPLICATION
const QString COMPOSITE_DEC_SATURATION
const QString COMPOSITE_COPY_BLUE
const QString COMPOSITE_SOFT_LIGHT_PEGTOP_DELPHI
const QString COMPOSITE_INC_LIGHTNESS
const QString COMPOSITE_EASY_BURN
const QString COMPOSITE_COLOR_HSV
const QString COMPOSITE_HARD_OVERLAY
const QString COMPOSITE_FLAT_LIGHT
const QString COMPOSITE_SCREEN
const QString COMPOSITE_PIN_LIGHT
const QString COMPOSITE_DEC_SATURATION_HSV
const QString COMPOSITE_DIFF
const QString COMPOSITE_GREATER
const QString COMPOSITE_DEC_LIGHTNESS
const QString COMPOSITE_MOD_CON
const QString COMPOSITE_GAMMA_DARK
const QString COMPOSITE_ERASE
const QString COMPOSITE_PENUMBRAD
const QString COMPOSITE_PNORM_A
const QString COMPOSITE_COLOR_HSI
const QString COMPOSITE_HARD_MIX
const QString COMPOSITE_HUE
const QString COMPOSITE_INTENSITY
const QString COMPOSITE_BEHIND
const QString COMPOSITE_DODGE_HDR
const QString COMPOSITE_NOR
const QString COMPOSITE_PENUMBRAC
const QString COMPOSITE_ALPHA_DARKEN
const QString COMPOSITE_SUBTRACT
const QString COMPOSITE_DISSOLVE
const QString COMPOSITE_BURN
const QString COMPOSITE_LINEAR_DODGE
const QString COMPOSITE_GLEAT
const QString COMPOSITE_ADDITIVE_SUBTRACTIVE
const QString COMPOSITE_MOD
const QString COMPOSITE_EASY_DODGE
const QString COMPOSITE_DEC_LUMINOSITY
const QString COMPOSITE_NAND
const QString COMPOSITE_COLOR_HSL
const QString COMPOSITE_COLOR
const QString COMPOSITE_MARKER
const QString COMPOSITE_HARD_MIX_SOFTER_PHOTOSHOP
const QString COMPOSITE_HEAT
const QString COMPOSITE_TANGENT_NORMALMAP
const QString COMPOSITE_HARD_MIX_HDR
const QString COMPOSITE_SUPER_LIGHT
const QString COMPOSITE_HARD_OVERLAY_HDR
const QString COMPOSITE_DEC_INTENSITY
const QString COMPOSITE_EXCLUSION
const QString COMPOSITE_FRECT
const QString COMPOSITE_NOT_CONVERSE
const QString COMPOSITE_REEZE
const QString COMPOSITE_INC_LUMINOSITY
const QString COMPOSITE_GAMMA_ILLUMINATION
const QString COMPOSITE_MODULO_SHIFT_CON
const QString COMPOSITE_DARKER_COLOR
const QString COMPOSITE_TINT
const QString COMPOSITE_COMBINE_NORMAL
const QString COMPOSITE_SATURATION_HSL
const QString COMPOSITE_GEOMETRIC_MEAN
const QString COMPOSITE_AND
const QString COMPOSITE_GRAIN_EXTRACT
const QString COMPOSITE_SATURATION_HSV
const QString COMPOSITE_ARC_TANGENT
const QString COMPOSITE_DEC_SATURATION_HSL
const QString COMPOSITE_BUMPMAP
const QString COMPOSITE_INTERPOLATIONB
const QString COMPOSITE_INC_VALUE
const QString COMPOSITE_DESTINATION_IN
const QString COMPOSITE_XOR
const QString COMPOSITE_HUE_HSI
const QString COMPOSITE_VIVID_LIGHT
const QString COMPOSITE_LUMINIZE
const QString COMPOSITE_HARD_MIX_PHOTOSHOP
const QString COMPOSITE_IN
const QString COMPOSITE_MODULO_SHIFT
virtual bool hasCompositeOp(const QString &id, const KoColorSpace *srcSpace=nullptr) const
QMultiMap< KoID, KoID > KoIDMap
KoIDMap getCompositeOps() const
QString getCategoryDisplayName(const QString &categoryID) const
QString getCompositeOpDisplayName(const QString &compositeOpID) const
static const KoCompositeOpRegistry & instance()
KoIDMap getLayerStylesCompositeOps() const
KoID getDefaultCompositeOp() const
KoIDList getCategories() const
KoID getKoID(const QString &compositeOpID) const
bool colorSpaceHasCompositeOp(const KoColorSpace *colorSpace, const KoID &compositeOp) const
#define KIS_SAFE_ASSERT_RECOVER(cond)