]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/base/lib_color.c
ncurses 5.9 - patch 20120310
[ncurses.git] / ncurses / base / lib_color.c
index 50d580ec72266561ee4330c020deda58b75e1eae..5495c6003dc54cf54468828aa18143f81b714843 100644 (file)
@@ -45,7 +45,7 @@
 #define CUR SP_TERMTYPE
 #endif
 
-MODULE_ID("$Id: lib_color.c,v 1.101 2011/05/28 21:57:59 tom Exp $")
+MODULE_ID("$Id: lib_color.c,v 1.104 2011/10/22 15:53:42 tom Exp $")
 
 #ifdef USE_TERM_DRIVER
 #define CanChange      InfoOf(SP_PARM).canchange
@@ -331,6 +331,13 @@ NCURSES_SP_NAME(start_color) (NCURSES_SP_DCL0)
                                 default_bg(NCURSES_SP_ARG),
                                 NCURSES_SP_NAME(_nc_outch));
        }
+#if !NCURSES_EXT_COLORS
+       /*
+        * Without ext-colors, we cannot represent more than 256 color pairs.
+        */
+       if (maxpairs > 256)
+           maxpairs = 256;
+#endif
 
        if (maxpairs > 0 && maxcolors > 0) {
            SP_PARM->_pair_limit = maxpairs;
@@ -383,10 +390,10 @@ start_color(void)
 
 /* This function was originally written by Daniel Weaver <danw@znyx.com> */
 static void
-rgb2hls(short r, short g, short b, short *h, short *l, short *s)
+rgb2hls(int r, int g, int b, short *h, short *l, short *s)
 /* convert RGB to HLS system */
 {
-    short min, max, t;
+    int min, max, t;
 
     if ((min = g < r ? g : r) > b)
        min = b;
@@ -416,7 +423,7 @@ rgb2hls(short r, short g, short b, short *h, short *l, short *s)
     else
        t = (short) (360 + ((r - g) * 60) / (max - min));
 
-    *h = t % 360;
+    *h = (short) (t % 360);
 }
 
 /*
@@ -775,9 +782,9 @@ pair_content(short pair, short *f, short *b)
 
 NCURSES_EXPORT(void)
 NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_DCLx
-                              short old_pair,
-                              short pair,
-                              bool reverse,
+                              int old_pair,
+                              int pair,
+                              int reverse,
                               NCURSES_SP_OUTC outc)
 {
 #ifdef USE_TERM_DRIVER
@@ -857,7 +864,7 @@ NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_DCLx
 
 #if NCURSES_SP_FUNCS
 NCURSES_EXPORT(void)
-_nc_do_color(short old_pair, short pair, bool reverse, NCURSES_OUTC outc)
+_nc_do_color(int old_pair, int pair, int reverse, NCURSES_OUTC outc)
 {
     SetSafeOutcWrapper(outc);
     NCURSES_SP_NAME(_nc_do_color) (CURRENT_SCREEN,