Patch: Many composite/blend modes mostly compatible to Adobe Photoshop (c)

Sven Langkamp sven.langkamp at gmail.com
Sun Feb 6 23:57:36 CET 2011


On Sun, Feb 6, 2011 at 11:37 PM, Silvio Heinrich <plassy at web.de> wrote:

>  On 02/06/2011 10:56 PM, Sven Langkamp wrote:
>
> What compiler version do you use?
>
> gcc 4.4.3
>
>
>> And can you please try to add this include to the top of the
>> libs/pigment/compositeops/KoCompositeOps.h header:
>>
>> #include "KoColorSpaceMaths.h"
>>
>> and compile again.
>>
>
> Doesn't work.
>
>  Argg.. I hate when something like this happens :-/.
> I think we have to back-trace this then.
> It would be nice if you could erase the entire content of
> libs/pigment/compositeops/KoCompositeOps.h and try
> this two versions instead:
>
> #ifndef _KO_COMPOSITEOPS_H_
> #define _KO_COMPOSITEOPS_H_
>
> #include "KoColorSpace.h"
> #include "KoColorSpaceTraits.h"
> #include "KoCompositeOp.h"
> #include "compositeops/KoCompositeOpFunctions.h"
> #include "compositeops/KoCompositeOpGeneric.h"
>
> template<class Traits>
> void addStandardCompositeOps(KoColorSpace* cs)
> {
>     cs->addCompositeOp(new KoCompositeOpGenericSC<Traits,
> &cfVividLight>(cs, COMPOSITE_VIVID_LIGHT, i18n("Vivid Light"),
> KoCompositeOp::categoryLight(), true));
> }
>
>
> // _KO_COMPOSITEOPS_H_
>
>
> and:
>
> #ifndef _KO_COMPOSITEOPS_H_
> #define _KO_COMPOSITEOPS_H_
>
> #include "KoColorSpace.h"
> #include "KoColorSpaceTraits.h"
> #include "KoCompositeOp.h"
> #include "compositeops/KoCompositeOpFunctions.h"
> #include "compositeops/KoCompositeOpGeneric.h"
>
> template<class Traits>
> void addStandardCompositeOps(KoColorSpace* cs)
> {
>     typedef typename Traits::channels_type Arg;
>     cs->addCompositeOp(new KoCompositeOpGenericSC< Traits,
> &cfVividLight<Arg> >(cs, COMPOSITE_VIVID_LIGHT, i18n("Vivid Light"),
> KoCompositeOp::categoryLight(), true));
> }
>
>
> // _KO_COMPOSITEOPS_H_
>
> If you get some compiling errors instead of linking errors I made some
> mistake :D but I hope it will compile.
> So, please try the two versions an tell me what errors you get :D
> I have gcc 4.4.5 but I can just hardly believe that 4.4.3 isn't able to
> compile this :/
>
>
>
In both cases I get:

CMakeFiles/pigmentcms.dir/colorspaces/KoLabColorSpace.o: In function
`unsigned short cfVividLight<unsigned short>(unsigned short, unsigned
short)':

KoLabColorSpace.cpp:(.text._Z12cfVividLightItET_S0_S0_[unsigned short
cfVividLight<unsigned short>(unsigned short, unsigned short)]+0x31):
undefined reference to `KoColorSpaceMathsTraits<unsigned short>::unitValue'
KoLabColorSpace.cpp:(.text._Z12cfVividLightItET_S0_S0_[unsigned short
cfVividLight<unsigned short>(unsigned short, unsigned short)]+0x3d):
undefined reference to `KoColorSpaceMathsTraits<unsigned short>::zeroValue'
KoLabColorSpace.cpp:(.text._Z12cfVividLightItET_S0_S0_[unsigned short
cfVividLight<unsigned short>(unsigned short, unsigned short)]+0xb3):
undefined reference to `KoColorSpaceMathsTraits<unsigned short>::zeroValue'
KoLabColorSpace.cpp:(.text._Z12cfVividLightItET_S0_S0_[unsigned short
cfVividLight<unsigned short>(unsigned short, unsigned short)]+0xbf):
undefined reference to `KoColorSpaceMathsTraits<unsigned short>::unitValue'
CMakeFiles/pigmentcms.dir/colorspaces/KoRgbU8ColorSpace.o: In function
`unsigned char cfVividLight<unsigned char>(unsigned char, unsigned char)':
KoRgbU8ColorSpace.cpp:(.text._Z12cfVividLightIhET_S0_S0_[unsigned char
cfVividLight<unsigned char>(unsigned char, unsigned char)]+0x27): undefined
reference to `KoColorSpaceMathsTraits<unsigned char>::unitValue'
KoRgbU8ColorSpace.cpp:(.text._Z12cfVividLightIhET_S0_S0_[unsigned char
cfVividLight<unsigned char>(unsigned char, unsigned char)]+0x33): undefined
reference to `KoColorSpaceMathsTraits<unsigned char>::zeroValue'
KoRgbU8ColorSpace.cpp:(.text._Z12cfVividLightIhET_S0_S0_[unsigned char
cfVividLight<unsigned char>(unsigned char, unsigned char)]+0x97): undefined
reference to `KoColorSpaceMathsTraits<unsigned char>::zeroValue'
KoRgbU8ColorSpace.cpp:(.text._Z12cfVividLightIhET_S0_S0_[unsigned char
cfVividLight<unsigned char>(unsigned char, unsigned char)]+0xa3): undefined
reference to `KoColorSpaceMathsTraits<unsigned char>::unitValue'
collect2: ld returned 1 exit status
make[2]: *** [lib/libpigmentcms.so.8.0.0] Fehler 1
make[1]: *** [libs/pigment/CMakeFiles/pigmentcms.dir/all] Fehler 2
make: *** [all] Fehler 2
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kimageshop/attachments/20110206/d9ec7436/attachment.htm 


More information about the kimageshop mailing list