diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2006-12-24 18:19:22 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2006-12-24 18:19:22 +0000 |
commit | 958d2b758ce55a01af8f926c5a6c450ba2620805 (patch) | |
tree | 294e5be056d4ba9a0e9f6e55bcee84583fd213c3 /lib/libpamcolor.c | |
parent | 1dcdceadbc56a51c209628498d0edcf62c7fdce8 (diff) | |
download | netpbm-mirror-958d2b758ce55a01af8f926c5a6c450ba2620805.tar.gz netpbm-mirror-958d2b758ce55a01af8f926c5a6c450ba2620805.tar.xz netpbm-mirror-958d2b758ce55a01af8f926c5a6c450ba2620805.zip |
Add pnm_colorname()
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@175 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'lib/libpamcolor.c')
-rw-r--r-- | lib/libpamcolor.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/libpamcolor.c b/lib/libpamcolor.c index e11415ca..ef8546b3 100644 --- a/lib/libpamcolor.c +++ b/lib/libpamcolor.c @@ -11,6 +11,10 @@ #define _FILE_OFFSET_BITS 64 #define _LARGE_FILES +#define _BSD_SOURCE 1 /* Make sure strdup() is in string.h */ +#define _XOPEN_SOURCE 500 /* Make sure strdup() is in string.h */ + +#include <string.h> #include <limits.h> #include "pm_c_util.h" @@ -44,6 +48,34 @@ pnm_parsecolor(const char * const colorname, +const char * +pnm_colorname(struct pam * const pamP, + tuple const color, + int const hexok) { + + const char * retval; + pixel colorp; + char * colorname; + + if (pamP->depth < 3) + PPM_ASSIGN(colorp, color[0], color[0], color[0]); + else + PPM_ASSIGN(colorp, + color[PAM_RED_PLANE], + color[PAM_GRN_PLANE], + color[PAM_BLU_PLANE]); + + colorname = ppm_colorname(&colorp, pamP->maxval, hexok); + + retval = strdup(colorname); + if (retval == NULL) + pm_error("Couldn't get memory for color name string"); + + return retval; +} + + + double pnm_lumin_factor[3] = {PPM_LUMINR, PPM_LUMING, PPM_LUMINB}; void |