summaryrefslogtreecommitdiff
path: root/src/cmap.cxx
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2022-03-27 17:03:25 +0200
committerAlbrecht Schlosser <albrechts.fltk@online.de>2022-03-27 17:05:55 +0200
commitb0374726496265cb3ee05087cbd3f750f2446fbc (patch)
treeca49bfcab65a8945876d2289713f00788394bfc0 /src/cmap.cxx
parentdc8c4b5676f81173271c0cface5fea53c815cbdc (diff)
Move src/cmap.cxx to util/cmap.cxx (utilities folder)
Regenerated src/fl_cmap.h with less spaces, updated copyright year. Only whitespace and comments are changed in this file. Note that src/cmap.cxx is not compiled to build the FLTK libs, it's only used to generate src/fl_cmap.h.
Diffstat (limited to 'src/cmap.cxx')
-rw-r--r--src/cmap.cxx197
1 files changed, 0 insertions, 197 deletions
diff --git a/src/cmap.cxx b/src/cmap.cxx
deleted file mode 100644
index 7484d7642..000000000
--- a/src/cmap.cxx
+++ /dev/null
@@ -1,197 +0,0 @@
-//
-// Colormap generation program for the Fast Light Tool Kit (FLTK).
-//
-// Copyright 1998-2020 by Bill Spitzak and others.
-//
-// This library is free software. Distribution and use rights are outlined in
-// the file "COPYING" which should have been included with this file. If this
-// file is missing or damaged, see the license at:
-//
-// https://www.fltk.org/COPYING.php
-//
-// Please see the following page on how to report bugs and issues:
-//
-// https://www.fltk.org/bugs.php
-//
-
-//
-// This program produces the contents of "fl_cmap.h" as stdout
-//
-// Compile, link, run and delete the program 'cmap' (for instance on a
-// Linux system) to generate fl_cmap.h:
-//
-// $ gcc -o cmap cmap.cxx -lm && ./cmap > fl_cmap.h && rm -f ./cmap
-
-#include <stdio.h>
-#include <math.h>
-#include <time.h>
-
-// This table is initialized with color values I got by reading the
-// colormap on an IRIX 4.3 machine:
-
-// "full intensity colors" have been turned down some to make white
-// background less intense by default. The hope is that this will make
-// fltk programs more friendly on color-adjusted screens. If you want
-// pure colors you should get them out of the colormap.
-
-// #define III 244 // maximum intensity of the basic colors
-
-// that results in errors and unshared colormap entries, so full intensity:
-
-#define III 255 // maximum intensity of the basic colors
-
-static short cmap[256][3] = {
-
- // 3-bit colormap:
-
- { 0, 0, 0}, // black
- {III, 0, 0}, // red
- { 0,III, 0}, // green
- {III,III, 0}, // yellow
- { 0, 0,III}, // blue
- {III, 0,III}, // magenta
- { 0,III,III}, // cyan
- {III,III,III}, // white
-
- // pastel versions of those colors, from SGI's standard color map:
-
- { 85, 85, 85}, // 1/3 gray
- {198,113,113}, // salmon? pale red?
- {113,198,113}, // pale green
- {142,142, 56}, // khaki
- {113,113,198}, // pale blue
- {142, 56,142}, // purple, orchid, pale magenta
- { 56,142,142}, // cadet blue, aquamarine, pale cyan
-
- // The next location (15) is used for FL_SELECTION_COLOR. It formerly was
- // 2/3 gray but this is changed to be the Windows blue color. This allows
- // the default behavior on both X and Windows to match:
- // {170,170,170}, // old 2/3 gray color
-
- { 0, 0,128}, // 15 = FL_SELECTION_COLOR
-
- // These next 16 (index 16 - 31) are the FL_FREE_COLOR area. In some
- // versions of fltk these were filled with random colors that a Irix 5.3
- // machine placed in these locations.
-
- // This version uses colors that NewTek has assigned for their GUI
- // (from George Yohng):
-
- {168,168,152}, // 16 = FL_FREE_COLOR
- {232,232,216},
- {104,104, 88},
- {152,168,168},
- {216,232,232},
- { 88,104,104},
- {156,156,168},
- {220,220,232},
- { 92, 92,104},
- {156,168,156},
- {220,232,220},
- { 92,104, 92},
- {144,144,144},
- {192,192,192},
- { 80, 80, 80},
- {160,160,160}, // 31
-
- // The rest of the colormap is a gray ramp and table, filled in below:
-};
-
-// This is Fl::background from Fl_get_system_colors.cxx, with modifications:
-
-#define FL_GRAY_RAMP 32
-#define FL_NUM_GRAY 24
-#define FL_GRAY 49 // old value is 47
-typedef unsigned char uchar;
-
-void background(uchar r, uchar g, uchar b) {
- // replace the gray ramp so that color 47 (by default 2/3) is this color
- if (!r)
- r = 1;
- else if (r == 255)
- r = 254;
- double powr = log(r / 255.0) / log((FL_GRAY - FL_GRAY_RAMP) / (FL_NUM_GRAY - 1.0));
- if (!g)
- g = 1;
- else if (g == 255)
- g = 254;
- double powg = log(g / 255.0) / log((FL_GRAY - FL_GRAY_RAMP) / (FL_NUM_GRAY - 1.0));
- if (!b)
- b = 1;
- else if (b == 255)
- b = 254;
- double powb = log(b / 255.0) / log((FL_GRAY - FL_GRAY_RAMP) / (FL_NUM_GRAY - 1.0));
- for (int i = 0; i < FL_NUM_GRAY; i++) {
- double gray = i / (FL_NUM_GRAY - 1.0);
- cmap[i + FL_GRAY_RAMP][0] = uchar(pow(gray, powr) * 255 + .5);
- cmap[i + FL_GRAY_RAMP][1] = uchar(pow(gray, powg) * 255 + .5);
- cmap[i + FL_GRAY_RAMP][2] = uchar(pow(gray, powb) * 255 + .5);
- }
-}
-
-int main() {
-
- int i, r, g, b, year;
- time_t t = time(0);
- struct tm *lt = localtime(&t);
- year = lt->tm_year + 1900; // copyright year
-
- // fill in the gray ramp:
- // background(170, 170, 170); // old fltk colors
- background(0xc0, 0xc0, 0xc0); // microsoft colors
-
- // copy the 1/3 and 2/3 gray to the closest locations in gray ramp:
- cmap[39][0] = cmap[39][1] = cmap[39][2] = 85;
- cmap[47][0] = cmap[47][1] = cmap[47][2] = 170;
-
- // fill in the color cube
- i = 56;
- for (b = 0; b < 5; b++) {
- for (r = 0; r < 5; r++) {
- for (g = 0; g < 8; g++) {
- cmap[i][0] = r * 255 / 4;
- cmap[i][1] = g * 255 / 7;
- cmap[i][2] = b * 255 / 4;
- i++;
- }
- }
- }
-
- // write comment into 'cmap.h' so the reader knows what it is good for
-
- printf("//\n");
- printf("// DO NOT EDIT THIS FILE !\n");
- printf("//\n");
- printf("// This file must be created with \"src/cmap.cxx\".\n");
- printf("//\n");
- printf("// Copyright 1998-%d by Bill Spitzak and others.\n", year);
- printf("//\n");
- printf("// This library is free software. Distribution and use rights are outlined in\n");
- printf("// the file \"COPYING\" which should have been included with this file. If this\n");
- printf("// file is missing or damaged, see the license at:\n");
- printf("//\n");
- printf("// https://www.fltk.org/COPYING.php\n");
- printf("//\n");
- printf("// Please see the following page on how to report bugs and issues:\n");
- printf("//\n");
- printf("// https://www.fltk.org/bugs.php\n");
- printf("//\n");
-
- // write color map values
-
- for (i = 0; i < 256; i++) {
- printf("\t0x%02x%02x%02x00", cmap[i][0], cmap[i][1], cmap[i][2]);
- if (i < 255)
- printf(", // %3d\n", i);
- else
- printf(" // %3d\n", i);
- }
-
- // write final comment
-
- printf("//\n");
- printf("// End of fl_cmap.h - generated by cmap.cxx\n");
- printf("//\n");
-
- return 0;
-}