From 958d2b758ce55a01af8f926c5a6c450ba2620805 Mon Sep 17 00:00:00 2001 From: giraffedata Date: Sun, 24 Dec 2006 18:19:22 +0000 Subject: Add pnm_colorname() git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@175 9d0c8265-081b-0410-96cb-a4ca84ce46f8 --- lib/libpamcolor.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'lib/libpamcolor.c') 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 #include #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 -- cgit 1.4.1