yesterday I suggested the following struct:

> struct GimpColorConfig
> {
>   GObject          parent_instance;
>   gboolean         enabled;
>   gchar           *monitor_profile;
>   gchar           *working_profile;
>   gchar           *proof_profile;
>   GimpColorIntent  render_intent;
>   GimpColorIntent  proofing_intent;
> };

What we didn't talk about yet is whether the profiles are filenames
that specify what ICC color profile to load or whether they are
pointers to color profiles loaded into memory.

I suggest that we use filenames here and let the modules deal with
loading the profile. Is loading a profile using lcms an expensive task
or is the file just mmap'ed? If it turns out to be a problem we could
consider to add a color profile cache that is shared by all display
filters and color selectors. The profiles would be identified by their
filename so the struct that I suggested should be good enough.

For image-specific profiles, I suggest that we continue to do what
we've been doing so far and that's attaching the loaded profile to the
image using the "icc-profile" parasite.

Gimp-developer mailing list

Reply via email to