1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
//===============================================================
// vcolor.cxx: vColor class for drawing - Windows
//
// Copyright (C) 1995,1996, 1997, 1998 Bruce E. Wampler
//
// This file is part of the V C++ GUI Framework, and is covered
// under the terms of the GNU Library General Public License,
// Version 2. This library has NO WARRANTY. See the source file
// vapp.cxx for more complete information about license terms.
//===============================================================
#include <v/vwin32.h> // for Win 32 stuff
#include <v/vapp.h>
#include <v/vcolor.h>
// Define 16 standard colors for use by everyone
vColor vGlobalStdColors[16] =
{
vColor( 0, 0, 0), // vC_Black
vColor( 255, 0, 0), // vC_Red
vColor( 127, 0, 0), // vC_DimRed
vColor( 0, 255, 0), // vC_Green
vColor( 0, 127, 0), // vC_DimGreen
vColor( 0, 0, 255), // vC_Blue
vColor( 0, 0, 127), // vC_DimBlue
vColor( 255, 255, 0), // vC_Yellow
vColor( 127, 127, 0), // vC_DimYellow
vColor( 255, 0, 255), // vC_Magenta
vColor( 127, 0, 127), // vC_DimMagenta
vColor( 0, 255, 255), // vC_Cyan
vColor( 0, 127, 127), // vC_DimCyan
vColor( 63, 63, 63), // vC_DarkGray
vColor( 127, 127, 127), // vC_MedGray
vColor( 255, 255, 255) // vC_White
};
char* vGlobalColorNames[16] =
{
"Black", "Red", "Dim Red", "Green", "Dim Green", "Blue",
"Dim Blue", "Yellow", "Dim Yellow", "Magenta", "Dim Magenta",
"Cyan", "Dim Cyan", "Dark Gray", "Med Gray", "White"
};
// Following added in 1.21 for DLL
//=======================>>> vGetStdColors <<<===========================
vColor* vGetStdColors()
{
return &vGlobalStdColors[0];
}
//=======================>>> vGetColorNames <<<===========================
char** vGetColorNames()
{
return &vGlobalColorNames[0];
}
//=======================>>> vColor::vColor <<<===========================
vColor::vColor(unsigned int rd, unsigned int gr, unsigned int bl)
{
_r = (unsigned char) rd;
_g = (unsigned char) gr;
_b = (unsigned char) bl;
_pixel = RGB(_r,_g,_b);
}
//=======================>>> vColor::BitsOfColor <<<===========================
int vColor::BitsOfColor() VCONST
{
HDC hdc = ::GetDC(theApp->winHwnd());
int bits = ::GetDeviceCaps(hdc,BITSPIXEL);
::ReleaseDC(theApp->winHwnd(),hdc);
return bits;
}
//=======================>>> vColor::ResetColor <<<===========================
void vColor::ResetColor(unsigned int rd, unsigned int gr, unsigned int bl)
{
_r = (unsigned char) rd;
_g = (unsigned char) gr;
_b = (unsigned char) bl;
_pixel = RGB(_r,_g,_b);
}
//=======================>>> vColor::ResetColor <<<===========================
void vColor::ResetColor(VCONST vColor& c)
{
_r = c.r();
_g = c.g();
_b = c.b();
_pixel = RGB(_r,_g,_b);
}
//=======================>>> vColor::Set <<<===========================
void vColor::Set(unsigned int rd, unsigned int gr, unsigned int bl)
{
_r = (unsigned char) rd;
_g = (unsigned char) gr;
_b = (unsigned char) bl;
_pixel = RGB(_r,_g,_b);
}
//=======================>>> vColor::Set <<<===========================
void vColor::Set(VCONST vColor& c)
{
_r = c.r();
_g = c.g();
_b = c.b();
_pixel = RGB(_r,_g,_b);
}
//=======================>>> vColor::SetR <<<===========================
void vColor::SetR(unsigned int rd)
{
_r = (unsigned char) rd;
_pixel = RGB(_r,_g,_b);
}
//=======================>>> vColor::SetG <<<===========================
void vColor::SetG(unsigned int gr)
{
_g = (unsigned char) gr;
_pixel = RGB(_r,_g,_b);
}
//=======================>>> vColor::SetB <<<===========================
void vColor::SetB(unsigned int bl)
{
_b = (unsigned char) bl;
_pixel = RGB(_r,_g,_b);
}
|