[Openicc] XICC specification draft
Boudewijn Rempt
boud at valdyas.org
Sat Jun 25 17:54:15 EST 2005
On Friday 24 June 2005 22:32, Craig Bradney wrote:
> On Friday 24 June 2005 22:00, Hubert Figuiere wrote:
> > Sven Neumann wrote:
> > > But
> > > I am sure we will come up with some code that deals with all of this
> > > and push it into GTK+ as gdk_screen_get_icc_profile().
> >
> > That would be a great as it would allow non X11 platform to implement it
> > and have color correction.
>
> Does anyone know if Qt supports the required X11 calls? From some small
> investigation by Craig Ringer and I, it doesnt look like it. So, for
> Scribus, we will be using pure X11 then it seems. Hmm.
>
I've already (with the help of Lubos Lunak) implemented this for krita as
follows:
#ifdef QT_WS_X11
#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include <lcms.h>
#endif
static KisProfileSP KisProfile::getScreenProfile (int screen)
{
#ifdef QT_WS_X11
Display *dpy;
Atom icc_atom, type;
int format;
long nitems;
long bytes_after;
unsigned char *str;
int result;
cmsHPROFILE *profile = NULL;
static Atom icc_atom = XInternAtom( qt_xdisplay(), "_ICC_PROFILE", False );
if ( XGetWindowProperty ( qt_xdisplay(), qt_xrootwin( screen ), icc_atom, 0,
INT_MAX, False, XA_CARDINAL, &type, &format, &nitems, &bytes_after, (unsigned
char **)&str)) {
if( nitems )
profile = cmsOpenProfileFromMem(str, nitems);
XFree (str);
return new KisProfile(profile);
} else {
kdDebug() << "No profile, not correcting" << endl;
return NULL;
}
#else
return NULL;
#endif;
}
The one thing I haven't done is setting krita up to receive notification of
changes in the display profile, and I haven't decided whether I want Krita to
use this by default and enable the user to override using the app settings,
or whether I will disable the display profile setting in Krita's settings if
the atom is set.
--
Boudewijn Rempt
http://www.valdyas.org/fading/index.cgi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/openicc/attachments/20050625/d58ad67e/attachment.pgp
More information about the openicc
mailing list