diff options
Diffstat (limited to 'src/blind-colour-srgb.c')
| -rw-r--r-- | src/blind-colour-srgb.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/blind-colour-srgb.c b/src/blind-colour-srgb.c index e5d1925..c7a5d91 100644 --- a/src/blind-colour-srgb.c +++ b/src/blind-colour-srgb.c @@ -1,7 +1,7 @@ /* See LICENSE file for copyright and license details. */ #include "common.h" -USAGE("[-d depth] [-l] red green blue") +USAGE("[-% format] [-d depth] [-l] red green blue") int main(int argc, char *argv[]) @@ -9,6 +9,7 @@ main(int argc, char *argv[]) unsigned long long int max; double red, green, blue, X, Y, Z; int depth = 8, linear = 0; + const char *fmt = NULL; ARGBEGIN { case 'd': @@ -17,6 +18,9 @@ main(int argc, char *argv[]) case 'l': linear = 1; break; + case '%': + fmt = UARGF(); + break; default: usage(); } ARGEND; @@ -24,6 +28,8 @@ main(int argc, char *argv[]) if (argc != 3) usage(); + fmt = select_print_format("%! %! %!\n", DOUBLE, fmt); + max = 1ULL << (depth - 1); max |= max - 1; red = etolf_arg("the red value", argv[0]) / (double)max; @@ -36,7 +42,7 @@ main(int argc, char *argv[]) } srgb_to_ciexyz(red, green, blue, &X, &Y, &Z); - printf("%.50lf %.50lf %.50lf\n", X, Y, Z); + printf(fmt, X, Y, Z); efshut(stdout, "<stdout>"); return 0; } |
