From: Udi F. <udi...@us...> - 2007-03-22 21:46:34
|
Update of /cvsroot/ufraw/ufraw In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv22023 Modified Files: ufraw.h ufraw_conf.c ufraw_developer.c ufraw_preview.c Log Message: Use the rendering and proofing intent correctly. Changed the names for the two intent's to make their role a bit clearer. Index: ufraw.h =================================================================== RCS file: /cvsroot/ufraw/ufraw/ufraw.h,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** ufraw.h 15 Mar 2007 23:50:55 -0000 1.45 --- ufraw.h 22 Mar 2007 20:52:06 -0000 1.46 *************** *** 74,78 **** char profileFile[profile_types][max_path]; void *profile[profile_types]; ! Intent intent, proofingIntent; gboolean updateTransform; void *colorTransform; --- 74,78 ---- char profileFile[profile_types][max_path]; void *profile[profile_types]; ! Intent intent[profile_types]; gboolean updateTransform; void *colorTransform; *************** *** 143,147 **** int profileIndex[profile_types], profileCount[profile_types]; profile_data profile[profile_types][max_profiles]; ! Intent intent, proofingIntent; int interpolation; char darkframeFile[max_path]; --- 143,147 ---- int profileIndex[profile_types], profileCount[profile_types]; profile_data profile[profile_types][max_profiles]; ! Intent intent[profile_types]; int interpolation; char darkframeFile[max_path]; Index: ufraw_developer.c =================================================================== RCS file: /cvsroot/ufraw/ufraw/ufraw_developer.c,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** ufraw_developer.c 20 Mar 2007 19:30:41 -0000 1.32 --- ufraw_developer.c 22 Mar 2007 20:52:08 -0000 1.33 *************** *** 42,47 **** TransferFunction[1] = TransferFunction[2] = cmsBuildGamma(0x100, 1.0); d->saturationProfile = NULL; ! d->intent = -1; ! d->proofingIntent = -1; d->updateTransform = TRUE; d->colorTransform = NULL; --- 42,47 ---- TransferFunction[1] = TransferFunction[2] = cmsBuildGamma(0x100, 1.0); d->saturationProfile = NULL; ! d->intent[out_profile] = -1; ! d->intent[display_profile] = -1; d->updateTransform = TRUE; d->colorTransform = NULL; *************** *** 166,170 **** d->colorTransform = cmsCreateTransform( d->profile[in_profile], TYPE_RGB_16, ! sRGBprofile, TYPE_RGB_16, d->intent, 0); cmsCloseProfile(sRGBprofile); return; --- 166,170 ---- d->colorTransform = cmsCreateTransform( d->profile[in_profile], TYPE_RGB_16, ! sRGBprofile, TYPE_RGB_16, d->intent[out_profile], 0); cmsCloseProfile(sRGBprofile); return; *************** *** 176,181 **** targetProfile = display_profile; } ! if ( d->proofingIntent==disable_intent || ! strcmp(d->profile[out_profile], d->profile[targetProfile])==0 ) { /* No need for proofing transformation. */ if ( strcmp(d->profileFile[in_profile],"")==0 && --- 176,182 ---- targetProfile = display_profile; } ! /* When softproofing is disabled, use the out_profile intent. */ ! if ( mode==file_developer || ! d->intent[display_profile]==disable_intent ) { /* No need for proofing transformation. */ if ( strcmp(d->profileFile[in_profile],"")==0 && *************** *** 188,192 **** d->colorTransform = cmsCreateTransform( d->profile[in_profile], TYPE_RGB_16, ! d->profile[targetProfile], TYPE_RGB_16, d->intent, 0); #endif } else { --- 189,194 ---- d->colorTransform = cmsCreateTransform( d->profile[in_profile], TYPE_RGB_16, ! d->profile[targetProfile], TYPE_RGB_16, ! d->intent[out_profile], 0); #endif } else { *************** *** 200,204 **** prof[i++] = d->profile[targetProfile]; d->colorTransform = cmsCreateMultiprofileTransform(prof, i, ! TYPE_RGB_16, TYPE_RGB_16, d->intent, 0); } } else { --- 202,206 ---- prof[i++] = d->profile[targetProfile]; d->colorTransform = cmsCreateMultiprofileTransform(prof, i, ! TYPE_RGB_16, TYPE_RGB_16, d->intent[out_profile], 0); } } else { *************** *** 210,214 **** d->profile[display_profile], TYPE_RGB_16, d->profile[out_profile], ! d->intent, d->proofingIntent, cmsFLAGS_SOFTPROOFING); } else { --- 212,216 ---- d->profile[display_profile], TYPE_RGB_16, d->profile[out_profile], ! d->intent[display_profile], d->intent[out_profile], cmsFLAGS_SOFTPROOFING); } else { *************** *** 224,228 **** prof[i++] = d->saturationProfile; d->colorTransform = cmsCreateMultiprofileTransform(prof, i, ! TYPE_RGB_16, TYPE_RGB_16, d->intent, cmsFLAGS_SOFTPROOFING); prof[0] = cmsTransform2DeviceLink(d->colorTransform, cmsFLAGS_GUESSDEVICECLASS); --- 226,231 ---- prof[i++] = d->saturationProfile; d->colorTransform = cmsCreateMultiprofileTransform(prof, i, ! TYPE_RGB_16, TYPE_RGB_16, d->intent[display_profile], ! cmsFLAGS_SOFTPROOFING); prof[0] = cmsTransform2DeviceLink(d->colorTransform, cmsFLAGS_GUESSDEVICECLASS); *************** *** 232,236 **** d->profile[display_profile], TYPE_RGB_16, d->profile[out_profile], ! d->intent, d->proofingIntent, cmsFLAGS_SOFTPROOFING); } --- 235,239 ---- d->profile[display_profile], TYPE_RGB_16, d->profile[out_profile], ! d->intent[display_profile], d->intent[out_profile], cmsFLAGS_SOFTPROOFING); } *************** *** 335,344 **** developer_profile(d, out_profile, out); developer_profile(d, display_profile, display); ! if ( conf->intent!=d->intent ) { ! d->intent = conf->intent; d->updateTransform = TRUE; } ! if ( conf->proofingIntent!=d->proofingIntent ) { ! d->proofingIntent = conf->proofingIntent; d->updateTransform = TRUE; } --- 338,347 ---- developer_profile(d, out_profile, out); developer_profile(d, display_profile, display); ! if ( conf->intent[out_profile]!=d->intent[out_profile] ) { ! d->intent[out_profile] = conf->intent[out_profile]; d->updateTransform = TRUE; } ! if ( conf->intent[display_profile]!=d->intent[display_profile] ) { ! d->intent[display_profile] = conf->intent[display_profile]; d->updateTransform = TRUE; } Index: ufraw_conf.c =================================================================== RCS file: /cvsroot/ufraw/ufraw/ufraw_conf.c,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -d -r1.52 -r1.53 *** ufraw_conf.c 16 Mar 2007 15:31:59 -0000 1.52 --- ufraw_conf.c 22 Mar 2007 20:52:07 -0000 1.53 *************** *** 68,72 **** { { N_("sRGB"), "", "", 0.0, 0.0, FALSE }, { "Some ICC Profile", "", "", 0.0, 0.0, FALSE } } }, ! 0, 0, /* intent, proofingIntent */ ahd_interpolation, /* interpolation */ "", NULL, /* darkframeFile, darkframe */ --- 68,72 ---- { { N_("sRGB"), "", "", 0.0, 0.0, FALSE }, { "Some ICC Profile", "", "", 0.0, 0.0, FALSE } } }, ! { 0, 0, 0 }, /* intent */ ahd_interpolation, /* interpolation */ "", NULL, /* darkframeFile, darkframe */ *************** *** 511,520 **** if ( strcmp("Intent", element)==0 ) { /* Keep compatibility with numbers from ufraw-0.11 */ ! if (sscanf(temp, "%d", &i)==1) c->intent = i; ! else c->intent = conf_find_name(temp, intentNames, conf_default.intent); } ! if ( strcmp("ProofingIntent", element)==0 ) ! c->proofingIntent = conf_find_name(temp, intentNames, ! conf_default.proofingIntent); if (!strcmp("Make", element)) g_strlcpy(c->make, temp, max_name); if (!strcmp("Model", element)) g_strlcpy(c->model, temp, max_name); --- 511,525 ---- if ( strcmp("Intent", element)==0 ) { /* Keep compatibility with numbers from ufraw-0.11 */ ! if (sscanf(temp, "%d", &i)==1) c->intent[out_profile] = i; ! else c->intent[out_profile] = conf_find_name(temp, intentNames, ! conf_default.intent[out_profile]); } ! /* OutputIntent replaces Intent starting from ufraw-0.12. */ ! if ( strcmp("OutputIntent", element)==0 ) ! c->intent[out_profile] = conf_find_name(temp, intentNames, ! conf_default.intent[out_profile]); ! if ( strcmp("DisplayIntent", element)==0 ) ! c->intent[display_profile] = conf_find_name(temp, intentNames, ! conf_default.intent[display_profile]); if (!strcmp("Make", element)) g_strlcpy(c->make, temp, max_name); if (!strcmp("Model", element)) g_strlcpy(c->model, temp, max_name); *************** *** 891,900 **** } } ! if (c->intent!=conf_default.intent) ! buf = uf_markup_buf(buf, "<Intent>%s</Intent>\n", ! conf_get_name(intentNames, c->intent)); ! if (c->proofingIntent!=conf_default.proofingIntent) ! buf = uf_markup_buf(buf, "<ProofingIntent>%s</ProofingIntent>\n", ! conf_get_name(intentNames, c->proofingIntent)); /* We always write the Make and Mode information * to know if the WB setting is relevant */ --- 896,905 ---- } } ! if (c->intent[out_profile]!=conf_default.intent[out_profile]) ! buf = uf_markup_buf(buf, "<OutputIntent>%s</OutputIntent>\n", ! conf_get_name(intentNames, c->intent[out_profile])); ! if (c->intent[display_profile]!=conf_default.intent[display_profile]) ! buf = uf_markup_buf(buf, "<DisplayIntent>%s</DisplayIntent>\n", ! conf_get_name(intentNames, c->intent[display_profile])); /* We always write the Make and Mode information * to know if the WB setting is relevant */ *************** *** 1055,1060 **** } } ! dst->intent = src->intent; ! dst->proofingIntent = src->proofingIntent; } --- 1060,1065 ---- } } ! dst->intent[out_profile] = src->intent[out_profile]; ! dst->intent[display_profile] = src->intent[display_profile]; } Index: ufraw_preview.c =================================================================== RCS file: /cvsroot/ufraw/ufraw/ufraw_preview.c,v retrieving revision 1.81 retrieving revision 1.82 diff -C2 -d -r1.81 -r1.82 *** ufraw_preview.c 19 Mar 2007 20:03:07 -0000 1.81 --- ufraw_preview.c 22 Mar 2007 20:52:08 -0000 1.82 *************** *** 2462,2467 **** G_CALLBACK(button_update), NULL); ! label = gtk_label_new(_("Intent")); ! gtk_table_attach(table, label, 0, 1, 6, 7, 0, 0, 0, 0); combo = GTK_COMBO_BOX(gtk_combo_box_new_text()); gtk_combo_box_append_text(combo, _("Perceptual")); --- 2462,2467 ---- G_CALLBACK(button_update), NULL); ! label = gtk_label_new(_("Output intent")); ! gtk_table_attach(table, label, 0, 3, 6, 7, 0, 0, 0, 0); combo = GTK_COMBO_BOX(gtk_combo_box_new_text()); gtk_combo_box_append_text(combo, _("Perceptual")); *************** *** 2469,2478 **** gtk_combo_box_append_text(combo, _("Saturation")); gtk_combo_box_append_text(combo, _("Absolute colorimetric")); ! gtk_combo_box_set_active(GTK_COMBO_BOX(combo), CFG->intent); g_signal_connect(G_OBJECT(combo), "changed", ! G_CALLBACK(combo_update), &CFG->intent); ! gtk_table_attach(table, GTK_WIDGET(combo), 1, 7, 6, 7, GTK_FILL, 0, 0, 0); ! label = gtk_label_new(_("Proofing intent")); gtk_table_attach(table, label, 0, 3, 10, 11, 0, 0, 0, 0); combo = GTK_COMBO_BOX(gtk_combo_box_new_text()); --- 2469,2478 ---- gtk_combo_box_append_text(combo, _("Saturation")); gtk_combo_box_append_text(combo, _("Absolute colorimetric")); ! gtk_combo_box_set_active(GTK_COMBO_BOX(combo), CFG->intent[out_profile]); g_signal_connect(G_OBJECT(combo), "changed", ! G_CALLBACK(combo_update), &CFG->intent[out_profile]); ! gtk_table_attach(table, GTK_WIDGET(combo), 3, 7, 6, 7, GTK_FILL, 0, 0, 0); ! label = gtk_label_new(_("Display intent")); gtk_table_attach(table, label, 0, 3, 10, 11, 0, 0, 0, 0); combo = GTK_COMBO_BOX(gtk_combo_box_new_text()); *************** *** 2482,2488 **** gtk_combo_box_append_text(combo, _("Absolute colorimetric")); gtk_combo_box_append_text(combo, _("Disable soft proofing")); ! gtk_combo_box_set_active(GTK_COMBO_BOX(combo), CFG->proofingIntent); g_signal_connect(G_OBJECT(combo), "changed", ! G_CALLBACK(combo_update), &CFG->proofingIntent); gtk_table_attach(table, GTK_WIDGET(combo), 3, 7, 10, 11, GTK_FILL, 0, 0, 0); /* End of Color management page */ --- 2482,2488 ---- gtk_combo_box_append_text(combo, _("Absolute colorimetric")); gtk_combo_box_append_text(combo, _("Disable soft proofing")); ! gtk_combo_box_set_active(GTK_COMBO_BOX(combo),CFG->intent[display_profile]); g_signal_connect(G_OBJECT(combo), "changed", ! G_CALLBACK(combo_update), &CFG->intent[display_profile]); gtk_table_attach(table, GTK_WIDGET(combo), 3, 7, 10, 11, GTK_FILL, 0, 0, 0); /* End of Color management page */ |