Mercurial > geeqie.yaz
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 | f1d22c2174c1 |
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: */ |