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 "Graphics2D/SpriteState/ColorSpriteState.h"
00027 #include "Graphics/Renderer/RenderingDevice.h"
00028
00029 namespace Lamp{
00030
00031
00032 const ColorSpriteState ColorSpriteState::whiteState(Color4f(1.f, 1.f, 1.f));
00033
00034
00035 const ColorSpriteState ColorSpriteState::grayState(Color4f(0.5f, 0.5f, 0.5f));
00036
00037
00038 const ColorSpriteState ColorSpriteState::blackState(Color4f(0.f, 0.f, 0.f));
00039
00040
00041 const ColorSpriteState ColorSpriteState::redState(Color4f(1.f, 0.f, 0.f));
00042
00043
00044 const ColorSpriteState ColorSpriteState::greenState(Color4f(0.f, 1.f, 0.f));
00045
00046
00047 const ColorSpriteState ColorSpriteState::blueState(Color4f(0.f, 0.f, 1.f));
00048
00049
00050 const ColorSpriteState ColorSpriteState::yellowState(Color4f(1.f, 1.f, 0.f));
00051
00052
00053 const ColorSpriteState ColorSpriteState::cyanState(Color4f(0.f, 1.f, 1.f));
00054
00055
00056 const ColorSpriteState ColorSpriteState::magentaState(Color4f(1.f, 0.f, 1.f));
00057
00058
00059 const ColorSpriteState ColorSpriteState::defaultState(whiteState);
00060
00061
00062
00063 ColorSpriteState::ColorSpriteState() : color_(Color4f::white){
00064 }
00065
00066
00067 ColorSpriteState::ColorSpriteState(const Color4f& color) : color_(color){
00068 }
00069
00070
00071 ColorSpriteState::~ColorSpriteState(){
00072 }
00073
00074
00075
00076
00077 void ColorSpriteState::apply(SpriteRenderState* renderState){
00078 RenderingDevice* device = RenderingDevice::getInstance();
00079 Color4c color(Color4f(
00080 color_.r * 0.25f, color_.g * 0.25f, color_.b * 0.25f, color_.a));
00081 device->setRenderState(D3DRS_TEXTUREFACTOR, color.getARGB());
00082 }
00083
00084 }
00085