Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Fl_Color.h

00001 /*
00002  * $Id: Fl_Color.h,v 1.7 2003/03/26 20:58:03 laza2000 Exp $
00003  *
00004  * Extended Fast Light Toolkit (EFLTK)
00005  * Copyright (C) 2002-2003 by EDE-Team
00006  * WWW: http://www.sourceforge.net/projects/ede
00007  *
00008  * Fast Light Toolkit (FLTK)
00009  * Copyright (C) 1998-2003 by Bill Spitzak and others.
00010  * WWW: http://www.fltk.org
00011  *
00012  * This library is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE
00013  * version 2. See COPYING for details.
00014  *
00015  * Author : Mikko Lahteenmaki
00016  * Email  : mikko@fltk.net
00017  *
00018  * Please report all bugs and problems to "efltk-bugs@fltk.net"
00019  *
00020  */
00021 
00022 #ifndef _FL_COLOR_H_
00023 #define _FL_COLOR_H_
00024 
00025 #include "Enumerations.h" // for FL_API and uchar
00026 #include "Fl_Flags.h" // for Fl_Flags & FL_INACTIVE
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, // older selection color
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

Generated on Thu Jul 31 15:33:43 2003 for eFLTK by doxygen1.2.15