00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _FL_COLOR_H_
00023 #define _FL_COLOR_H_
00024
00025 #include "Enumerations.h"
00026 #include "Fl_Flags.h"
00027
00032
00033 typedef unsigned Fl_Color;
00034
00039 enum Colors {
00040 FL_NO_COLOR = 0,
00041 FL_GRAY_RAMP = 32,
00042 FL_GRAY = 49,
00043 FL_INACTIVE_COLOR = 39,
00044 FL_COLOR_CUBE = 0x38,
00045 FL_BLACK = 0x38,
00046 FL_RED = 0x58,
00047 FL_GREEN = 0x3f,
00048 FL_YELLOW = 0x5f,
00049 FL_BLUE = 0xd8,
00050 FL_MAGENTA = 0xf8,
00051 FL_CYAN = 0xdf,
00052 FL_WHITE = 0xff,
00053 #ifndef FLTK_2
00054 FL_GRAY0 = 32,
00055 FL_DARK3 = 39,
00056 FL_DARK2 = 45,
00057 FL_DARK1 = 47,
00058 FL_LIGHT1 = 51,
00059 FL_LIGHT2 = 53,
00060 FL_LIGHT3 = 55,
00061 FL_SELECTION_COLOR = FL_GRAY,
00062 FL_FREE_COLOR = 16,
00063 #endif
00064 FL_BLUE_SELECTION_COLOR = 0x88,
00065
00066 FL_INVALID_COLOR = 0xFFFFFFFE
00067 };
00068
00070 #define FL_NUM_GRAY 24
00071
00079 inline Fl_Color fl_gray_ramp(int i) {return (Fl_Color)(i+FL_GRAY_RAMP);}
00080
00081 #define FL_NUM_GREEN 8
00082 #define FL_GREEN_DELTA 1
00083 #define FL_NUM_RED 5
00084 #define FL_RED_DELTA 8
00085 #define FL_NUM_BLUE 5
00086 #define FL_BLUE_DELTA 40
00087
00089 inline Fl_Color fl_color_cube(int r, int g, int b) { return (Fl_Color)((b*FL_NUM_RED + r) * FL_NUM_GREEN + g + FL_COLOR_CUBE); }
00090
00094 inline Fl_Color fl_rgb(unsigned char r, unsigned char g, unsigned char b) { return Fl_Color((r<<24)+(g<<16)+(b<<8)); }
00095
00100 FL_API Fl_Color fl_rgb(const char *color);
00101
00107 FL_API Fl_Color fl_color_average(Fl_Color c1, Fl_Color c2, double weight);
00108
00110 FL_API Fl_Color fl_inactive(Fl_Color color);
00111
00115 FL_API Fl_Color fl_inactive(Fl_Color color, Fl_Flags f);
00116
00122 FL_API Fl_Color fl_contrast(Fl_Color fg, Fl_Color bg);
00123
00125 FL_API Fl_Color fl_invert(Fl_Color color);
00126
00131 FL_API Fl_Color fl_get_color(Fl_Color color);
00132
00136 FL_API void fl_get_color(Fl_Color c, uchar& r, uchar& g, uchar& b);
00137
00143 FL_API void fl_set_color(Fl_Color index, Fl_Color color);
00144
00149 FL_API void fl_free_color(Fl_Color c);
00150
00155 FL_API void fl_background(Fl_Color);
00156
00162 FL_API Fl_Color fl_nearest_color(Fl_Color color);
00163
00167 inline Fl_Color fl_lighter(Fl_Color c) { return fl_color_average(c, FL_WHITE, .67f); }
00168
00172 inline Fl_Color fl_darker(Fl_Color c) { return fl_color_average(c, FL_BLACK, .67f); }
00173
00174
00175
00176 #endif