home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume15 / touchup / part05 / cms_rainbow.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-06-14  |  2.8 KB  |  105 lines

  1.  
  2. /**************************************************************************
  3.    Touchup a bitmap graphics editor for the Sun Workstation running SunView
  4.    Copyright (c) 1988 by Raymond Kreisel
  5.    1/22/88 @ Suny Stony Brook
  6.  
  7.    This program may be redistributed without fee as long as this copyright
  8.    notice is intact.
  9.  
  10. ==> PLEASE send comments and bug reports to one of the following addresses:
  11.  
  12.        Ray Kreisel
  13.        CS Dept., SUNY at Stony Brook, Stony Brook NY 11794
  14.  
  15.        UUCP: {allegra, philabs, pyramid, research}!sbcs!rayk   
  16.        ARPA-Internet: rayk@sbcs.sunysb.edu            
  17.        CSnet: rayk@suny-sb
  18.        (If nobody is home at any of the above addresses try:
  19.         S72QKRE@TOWSONVX.BITNET                    )
  20.  
  21.  "If I get home before daylight, I just might get some sleep tonight...."
  22.  
  23. **************************************************************************/
  24. /**************************************************************************
  25.     file:  cms_rainbow.c
  26.     purpose: this file contains that funciton that initalizes the
  27.         the default color table for color sun usage
  28.  
  29.     modifications:
  30.         date:    Tue Mar 22 22:04:58 EST 1988
  31.         author:    rayk
  32.         changes:add comments
  33. **************************************************************************/
  34.  
  35. extern unsigned char red[256],green[256],blue[256];
  36.  
  37. set_colorentry(i, r, g, b)
  38. {
  39.   red[i] =r;
  40.   green[i] =g;
  41.   blue[i]=b;
  42. }
  43.  
  44.  
  45.  
  46. void init_colortable()
  47.  
  48. {
  49.     int i, red, green, blue;
  50.     set_colorentry(0, 255, 255, 255);    /* white */
  51.     set_colorentry(1, 0, 0, 0);        /* black */
  52.     red = blue = green = 0;
  53.  
  54.     for (i = 2; i < 30; i++) {
  55.     red += 9;
  56.     set_colorentry(i, red, green, blue);
  57.     }
  58.     set_colorentry(30, 255, 0, 0);    /* red */
  59.     red = 255; blue = green = 0;
  60.     for (i = 30; i < 62; i++) {
  61.     green += 6;
  62.     set_colorentry(i, red, green, blue);
  63.     }
  64.     set_colorentry(62, 255, 195, 0);    /* orange */ /* note diff = 33 */
  65.     red = 255; blue = 0; green = 195;
  66.     for (i = 63; i < 96; i++) {
  67.     green += 2;
  68.     set_colorentry(i, red, green, blue);
  69.     }
  70.     set_colorentry(96, 255, 255, 0);    /* yellow */
  71.     red = 255; blue = 0; green = 255;
  72.     for (i = 97; i < 133; i++) {
  73.     red -= 7;
  74.     set_colorentry(i, red, green, blue);
  75.     }
  76.     set_colorentry(133, 0, 255, 0);    /* green */
  77.     red = blue = 0; green = 255;
  78.     for (i = 134; i < 165; i++) {
  79.     green -= 8;
  80.     blue += 8;
  81.     set_colorentry(i, red, green, blue);
  82.     }
  83.     set_colorentry(165, 0, 0, 255);    /* blue */
  84.     red = green = 0; blue = 255;
  85.     for (i = 165; i < 202; i++) {
  86.     red += 7;
  87.     set_colorentry(i, red, green, blue);
  88.     }
  89.     set_colorentry(202, 255, 0, 255);    /* violet */
  90.     red = blue = 255; green = 0;
  91.     for (i = 203; i < 239; i++) {
  92.     green += 7;
  93.     set_colorentry(i, red, green, blue);
  94.     }
  95.     set_colorentry(239, 255, 255, 255);    /* white */
  96.     red = blue = green = 255;
  97.     for (i = 239; i <= 255; i++) {
  98.     green -= 9;
  99.     red -= 9;
  100.     blue -= 9;
  101.     set_colorentry(i, red, green, blue);
  102.     }
  103. }
  104.  
  105.