nativeColor and endianness

Patrick Julien freak at codepimps.org
Fri Oct 24 18:37:52 CEST 2003


On October 24, 2003 05:25 pm, Boudewijn Rempt wrote:
> On Friday 24 October 2003 23:21, Boudewijn Rempt wrote:
> > On Friday 24 October 2003 23:13, Patrick Julien wrote:
> > > Consider placing both you CMYK and RGB class inside the cpp file.  same
> > > thing for the inline operator.
> >
> > Good point; will do that now.
>
> He said, enthusiastically. But what about the QMap -- that needs CMYK and
> RGB, and needs to be in the header, doesn't it?

Yes, because your not using pointers, if you have been tho, a simple forward 
reference would have done.

class KisStrategyColorSpaceCMYK {
	struct CMYK;
	struct RGB;
	typedef QMap<CMYK*, RGB*> ColorLUT;

	// The same from here
};

// In the CPP

struct KisStrategyColorSpaceCMYK::CMYK {
	// ...
};

struct KisStrategyColorSpaceCMYK::RGB {
	// ...
};

Now instead, just do...

class KisStrategyColorSpaceCMYK : public KisStrategyColorSpace {
	struct KisStrategyColorSpaceCMYKPriv;

private:
	- static ColorLUT m_rgbLUT;
	+ KisStrategyColorSpaceCMYKPriv *m_d;
};

from the cpp, just put your static inside struct 
KisStrategyColorSpaceCMYKPriv;

struct KisStrategyColorSpaceCMYK::KisStrategyColorSpaceCMYKPriv {
	static ColorLUT m_rgbLUT;
};

In any case, if you're willing to do the work to use littlecms, maybe you're 
willing to load the color strategies dynamically too :)


More information about the kimageshop mailing list