00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "LampBasic.h"
00026 #include "Core/Primitive/Color3c.h"
00027 #include "Core/Primitive/Color4c.h"
00028 #include "Core/Primitive/Color3f.h"
00029 #include "Core/Primitive/Color4f.h"
00030
00031 namespace Lamp{
00032
00033
00034
00035
00036
00037 const Color3c Color3c::white(255, 255, 255);
00038
00039
00040 const Color3c Color3c::gray(128, 128, 128);
00041
00042
00043 const Color3c Color3c::black(0, 0, 0);
00044
00045
00046 const Color3c Color3c::red(255, 0, 0);
00047
00048
00049 const Color3c Color3c::green(0, 255, 0);
00050
00051
00052 const Color3c Color3c::blue(0, 0, 255);
00053
00054
00055 const Color3c Color3c::yellow(255, 255, 0);
00056
00057
00058 const Color3c Color3c::cyan(0, 255, 255);
00059
00060
00061 const Color3c Color3c::magenta(255, 0, 255);
00062
00063
00064
00065 Color3c::Color3c(const Color4c& source) :
00066 r(source.r), g(source.g), b(source.b){
00067 }
00068
00069
00070 Color3c::Color3c(const Color3f& source){
00071 set(source);
00072 }
00073
00074
00075 Color3c::Color3c(const Color4f& source){
00076 set(source);
00077 }
00078
00079
00080 void Color3c::set(const Color4c& source){
00081 set(source.r, source.g, source.b);
00082 }
00083
00084
00085 void Color3c::set(const Color3f& source){
00086 int srcR = (int)(source.r * 255.f);
00087 if(srcR > 255){ srcR = 255; }
00088 else if(srcR < 0){ srcR = 0; }
00089
00090 int srcG = (int)(source.g * 255.f);
00091 if(srcG > 255){ srcG = 255; }
00092 else if(srcG < 0){ srcG = 0; }
00093
00094 int srcB = (int)(source.b * 255.f);
00095 if(srcB > 255){ srcB = 255; }
00096 else if(srcB < 0){ srcB = 0; }
00097
00098 set(srcR, srcG, srcB);
00099 }
00100
00101
00102 void Color3c::set(const Color4f& source){
00103 int srcR = (int)(source.r * 255.f);
00104 if(srcR > 255){ srcR = 255; }
00105 else if(srcR < 0){ srcR = 0; }
00106
00107 int srcG = (int)(source.g * 255.f);
00108 if(srcG > 255){ srcG = 255; }
00109 else if(srcG < 0){ srcG = 0; }
00110
00111 int srcB = (int)(source.b * 255.f);
00112 if(srcB > 255){ srcB = 255; }
00113 else if(srcB < 0){ srcB = 0; }
00114
00115 set(srcR, srcG, srcB);
00116 }
00117
00118 }
00119