comparison src/color-man.c @ 1549:7302ff300a52

show color management status on statusbar
author nadvornik
date Mon, 13 Apr 2009 14:39:50 +0000
parents b5608391f479
children 956aab097ea7
comparison
equal deleted inserted replaced
1548:b5608391f479 1549:7302ff300a52
410 return color_man_new_real(imd, pixbuf, 410 return color_man_new_real(imd, pixbuf,
411 COLOR_PROFILE_MEM, NULL, input_data, input_data_len, 411 COLOR_PROFILE_MEM, NULL, input_data, input_data_len,
412 screen_type, screen_file, screen_data, screen_data_len); 412 screen_type, screen_file, screen_data, screen_data_len);
413 } 413 }
414 414
415 static gchar *color_man_get_profile_name(ColorManProfileType type, cmsHPROFILE profile)
416 {
417 switch (type)
418 {
419 case COLOR_PROFILE_SRGB:
420 return g_strdup(_("sRGB"));
421 case COLOR_PROFILE_ADOBERGB:
422 return g_strdup(_("Adobe RGB compatible"));
423 break;
424 case COLOR_PROFILE_MEM:
425 case COLOR_PROFILE_FILE:
426 if (profile)
427 {
428 return g_strdup(cmsTakeProductName(profile));
429 }
430 return g_strdup(_("Custom profile"));
431 break;
432 case COLOR_PROFILE_NONE:
433 default:
434 return g_strdup("");
435 }
436 }
437
438 gboolean color_man_get_status(ColorMan *cm, gchar **image_profile, gchar **screen_profile)
439 {
440 ColorManCache *cc;
441 if (!cm) return FALSE;
442
443 cc = cm->profile;
444
445 if (image_profile) *image_profile = color_man_get_profile_name(cc->profile_in_type, cc->profile_in);
446 if (screen_profile) *screen_profile = color_man_get_profile_name(cc->profile_out_type, cc->profile_out);
447 return TRUE;
448 }
449
415 void color_man_free(ColorMan *cm) 450 void color_man_free(ColorMan *cm)
416 { 451 {
417 if (!cm) return; 452 if (!cm) return;
418 453
419 if (cm->idle_id) g_source_remove(cm->idle_id); 454 if (cm->idle_id) g_source_remove(cm->idle_id);
469 void color_man_start_bg(ColorMan *cm, ColorManDoneFunc done_func, gpointer done_data) 504 void color_man_start_bg(ColorMan *cm, ColorManDoneFunc done_func, gpointer done_data)
470 { 505 {
471 /* no op */ 506 /* no op */
472 } 507 }
473 508
509 gboolean color_man_get_status(ColorMan *cm, gchar **image_profile, gchar **screen_profile)
510 {
511 return FALSE;
512 }
513
474 #endif /* define HAVE_LCMS */ 514 #endif /* define HAVE_LCMS */
475 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */ 515 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */