Sourceforge.net - The VCF's Project Host
   The VCF Website Home   |   Online Discussion Forums   |   Sourceforge.net Project Page   

vcf/GraphicsKit/Color.h File Reference


Namespaces

namespace  VCF

Classes

class  VCF::ColorSpace
 A class for managing all the color transformations between different color spaces. More...
struct  VCF::ColorSpace::RGBtype
struct  VCF::ColorSpace::RGBrangetype
struct  VCF::ColorSpace::HWBtype
struct  VCF::ColorSpace::HSVtype
struct  VCF::ColorSpace::HSLtype
struct  VCF::ColorSpace::HSLrangetype
class  VCF::Color
 The Color class is used to represent a given color with 4 values, with each value representing a separate red, green, blue, and alpha color component (RGBA). More...
class  VCF::ColorNames
 struct with all color names not included by VCF: they are essentially grays we need to instantiate it somewhere: unfortunately non-integer constant have no external linkage otherwise ColorName would be replaced by a namespace with the same String constants and put in the VCF library More...

Defines

#define SYSCOLOR_SHADOW   0
 standard system color defines
#define SYSCOLOR_FACE   1
#define SYSCOLOR_HIGHLIGHT   2
#define SYSCOLOR_ACTIVE_CAPTION   3
#define SYSCOLOR_ACTIVE_BORDER   4
#define SYSCOLOR_DESKTOP   5
#define SYSCOLOR_CAPTION_TEXT   6
#define SYSCOLOR_SELECTION   7
#define SYSCOLOR_SELECTION_TEXT   8
#define SYSCOLOR_INACTIVE_BORDER   9
#define SYSCOLOR_INACTIVE_CAPTION   10
#define SYSCOLOR_TOOLTIP   11
#define SYSCOLOR_TOOLTIP_TEXT   12
#define SYSCOLOR_MENU   13
#define SYSCOLOR_MENU_TEXT   14
#define SYSCOLOR_WINDOW   15
#define SYSCOLOR_WINDOW_TEXT   16
#define SYSCOLOR_WINDOW_FRAME   17
#define HUE_UNDEFINED   -1
 Theoretically, hue 0 (pure red) is identical to hue 6 in these transforms.
#define HUECRITICALMAX   ( 1.0 - 1.0 / 6.0 )
#define MAKE_RGB(rgb, r, g, b)   {rgb.R = (r); rgb.G = (g); rgb.B = (b);}
#define MAKE_HSV(hsv, h, s, v)   {hsv.H = (h); hsv.S = (s); hsv.V = (v);}
#define MAKE_HSL(hsl, h, s, l)   {hsl.H = (h); hsl.S = (s); hsl.L = (l);}
#define MAKE_HWB(hwb, h, w, b)   {hwb.H = (h); hwb.W = (w); hwb.B = (b);}
#define SPLIT_RGB(rgb, r, g, b)   r = rgb.R; g = rgb.G; b = rgb.B;
#define SPLIT_HSV(hsv, h, s, v)   h = hsv.H; s = hsv.S; v = hsv.V;
#define SPLIT_HSL(hsl, h, s, l)   h = hsl.H; s = hsl.S; l = hsl.L;
#define SPLIT_HWB(hwb, h, w, b)   h = hwb.H; w = hwb.W; b = hwb.B;
#define COLOR_CLASSID   "AA34A97B-8294-4697-857D-398FB355EB2D"

Define Documentation

#define COLOR_CLASSID   "AA34A97B-8294-4697-857D-398FB355EB2D"
 

#define HUE_UNDEFINED   -1
 

Theoretically, hue 0 (pure red) is identical to hue 6 in these transforms.

Pure red always maps to 6 in this implementation. Therefore UNDEFINED can be defined as 0 in situations where only unsigned numbers are desired.

#define HUECRITICALMAX   ( 1.0 - 1.0 / 6.0 )
 

#define MAKE_HSL hsl,
h,
s,
 )     {hsl.H = (h); hsl.S = (s); hsl.L = (l);}
 

#define MAKE_HSV hsv,
h,
s,
v   )     {hsv.H = (h); hsv.S = (s); hsv.V = (v);}
 

#define MAKE_HWB hwb,
h,
w,
b   )     {hwb.H = (h); hwb.W = (w); hwb.B = (b);}
 

#define MAKE_RGB rgb,
r,
g,
b   )     {rgb.R = (r); rgb.G = (g); rgb.B = (b);}
 

#define SPLIT_HSL hsl,
h,
s,
 )     h = hsl.H; s = hsl.S; l = hsl.L;
 

#define SPLIT_HSV hsv,
h,
s,
v   )     h = hsv.H; s = hsv.S; v = hsv.V;
 

#define SPLIT_HWB hwb,
h,
w,
b   )     h = hwb.H; w = hwb.W; b = hwb.B;
 

#define SPLIT_RGB rgb,
r,
g,
b   )     r = rgb.R; g = rgb.G; b = rgb.B;
 

#define SYSCOLOR_ACTIVE_BORDER   4
 

#define SYSCOLOR_ACTIVE_CAPTION   3
 

#define SYSCOLOR_CAPTION_TEXT   6
 

#define SYSCOLOR_DESKTOP   5
 

#define SYSCOLOR_FACE   1
 

#define SYSCOLOR_HIGHLIGHT   2
 

#define SYSCOLOR_INACTIVE_BORDER   9
 

#define SYSCOLOR_INACTIVE_CAPTION   10
 

#define SYSCOLOR_MENU   13
 

#define SYSCOLOR_MENU_TEXT   14
 

#define SYSCOLOR_SELECTION   7
 

#define SYSCOLOR_SELECTION_TEXT   8
 

#define SYSCOLOR_SHADOW   0
 

standard system color defines

#define SYSCOLOR_TOOLTIP   11
 

#define SYSCOLOR_TOOLTIP_TEXT   12
 

#define SYSCOLOR_WINDOW   15
 

#define SYSCOLOR_WINDOW_FRAME   17
 

#define SYSCOLOR_WINDOW_TEXT   16
 

   Comments or Suggestions?    License Information