forked from metin-server/m2dev-client-src
init
This commit is contained in:
77
src/EterLib/GrpColor.cpp
Normal file
77
src/EterLib/GrpColor.cpp
Normal file
@@ -0,0 +1,77 @@
|
||||
#include "StdAfx.h"
|
||||
#include "GrpColor.h"
|
||||
|
||||
CGraphicColor::CGraphicColor()
|
||||
{
|
||||
Clear();
|
||||
}
|
||||
|
||||
CGraphicColor::CGraphicColor(const CGraphicColor& c_rSrcColor)
|
||||
{
|
||||
Set(c_rSrcColor);
|
||||
}
|
||||
|
||||
CGraphicColor::CGraphicColor(float r, float g, float b, float a)
|
||||
{
|
||||
Set(r, g, b, a);
|
||||
}
|
||||
|
||||
CGraphicColor::CGraphicColor(DWORD color)
|
||||
{
|
||||
Set(color);
|
||||
}
|
||||
|
||||
CGraphicColor::~CGraphicColor()
|
||||
{
|
||||
}
|
||||
|
||||
void CGraphicColor::Clear()
|
||||
{
|
||||
Set(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
void CGraphicColor::Set(float r, float g, float b, float a)
|
||||
{
|
||||
m_r=r;
|
||||
m_g=g;
|
||||
m_b=b;
|
||||
m_a=a;
|
||||
}
|
||||
|
||||
void CGraphicColor::Set(const CGraphicColor& c_rSrcColor)
|
||||
{
|
||||
m_r=c_rSrcColor.m_r;
|
||||
m_g=c_rSrcColor.m_g;
|
||||
m_b=c_rSrcColor.m_b;
|
||||
m_a=c_rSrcColor.m_a;
|
||||
}
|
||||
|
||||
void CGraphicColor::Blend(float p, const CGraphicColor& c_rSrcColor, const CGraphicColor& c_rDstColor)
|
||||
{
|
||||
float q=1.0f-p;
|
||||
m_r=c_rSrcColor.m_r*q+c_rDstColor.m_r*p;
|
||||
m_g=c_rSrcColor.m_g*q+c_rDstColor.m_g*p;
|
||||
m_b=c_rSrcColor.m_b*q+c_rDstColor.m_b*p;
|
||||
m_a=c_rSrcColor.m_a*q+c_rDstColor.m_a*p;
|
||||
}
|
||||
|
||||
void CGraphicColor::Set(DWORD pack)
|
||||
{
|
||||
m_b = (pack & 0xff) / 255.0f; pack >>= 8;
|
||||
m_g = (pack & 0xff) / 255.0f; pack >>= 8;
|
||||
m_r = (pack & 0xff) / 255.0f; pack >>= 8;
|
||||
m_a = (pack) / 255.0f;
|
||||
}
|
||||
|
||||
DWORD CGraphicColor::GetPackValue() const
|
||||
{
|
||||
DWORD packValue=0;
|
||||
|
||||
packValue = int(255.0f * m_a);packValue <<= 8;
|
||||
packValue |= int(255.0f * m_r);packValue <<= 8;
|
||||
packValue |= int(255.0f * m_g);packValue <<= 8;
|
||||
packValue |= int(255.0f * m_b);
|
||||
|
||||
return packValue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user