Hello, Here comes what I have put in CinePaints standard plugin header : void gimp_image_set_icc_profile_by_name (gint32 image_ID, gchar *data); void gimp_image_set_icc_profile_by_mem (gint32 image_ID, gint size, gchar *data); void gimp_image_set_lab_profile (gint32 image_ID); void gimp_image_set_xyz_profile (gint32 image_ID); void gimp_image_set_srgb_profile (gint32 image_ID); gboolean gimp_image_has_icc_profile (gint32 image_ID); char* gimp_image_get_icc_profile_by_mem (gint32 image_ID, gint *size); char* gimp_image_get_icc_profile_info (gint32 image_ID); char* gimp_image_get_icc_profile_pcs (gint32 image_ID); char* gimp_image_get_icc_profile_color_space_name (gint32 image_ID); char* gimp_image_get_icc_profile_device_class_name (gint32 image_ID); gint32 gimp_display_get_cms_intent (gint32 display_ID); void gimp_display_set_cms_intent (gint32 display_ID, gint32 intent); gint32 gimp_display_get_cms_flags (gint32 display_ID); void gimp_display_set_cms_flags (gint32 display_ID, gint32 flags); gint32 gimp_display_is_colormanaged (gint32 display_ID); void gimp_display_set_colormanaged (gint32 display_ID, gboolean True_False); void gimp_display_all_set_colormanaged (gboolean True_False); void gimp_display_image_set_colormanaged(gint32 display_ID, gboolean True_False); flags and intents are identical to lcms.h and at least flags are specific to lcms. About proofing: as CinePaints print plug-in shows the separated CMYK image as an softproof on output, there is currently no function for proofing in the API. The namespace macro below was intended to show different examples. The real life part would be the first define. Ifdefs are not! needed related to an color management API. I expect a lot of ICC handling plug-ins, once CMS is established in more applications :) regards Kai-Uwe Am 15.08.04, 00:21 +0200 schrieb Sven Neumann: > Hi, > > Kai-Uwe Behrmann <ku.b@xxxxxx> writes: > > > As long as there is somthing simple possible like: > > > > #define cinepaint_func gimp-func > > > > #namespace_GIMP > > gimp_func (whatever_You_like, arguments); > > #endif > > #namespace_CinePaint > > cinepaint_func (whatever_You_like, arguments); > > #endif > > > > possible, I think all is fine. > > I wouldn't call such a mess fine. But if you think so... > > The real question here is if the API is sane, fits our needs and goes > well with the rest of the GIMP API. So if you want to suggest that we > consider something similar to the CinePaint API, you should show us > that API. > > > Do You have any concerns using gimp_func(....) in CinePaint? > > Yes indeed and I have expressed these concerns in the past. The GIMP > namespace and the GIMP fileformats are reserved for use by the GIMP > project and shouldn't be abused by other apps. Do I really need to > explain the purpose of namespaces? > > > Sven >