155 lines
3.2 KiB
C++
155 lines
3.2 KiB
C++
#pragma once
|
|
|
|
//#include "KUIControl.h"
|
|
#include "./Renderer/KPrimitiveSprite.h"
|
|
|
|
/// Primitivie
|
|
class KClockBoxPrimitive : public KSpritePrimitive
|
|
{
|
|
enum
|
|
{
|
|
CLOCK_VTX = 10,
|
|
};
|
|
public:
|
|
KClockBoxPrimitive();
|
|
virtual ~KClockBoxPrimitive();
|
|
bool SetClockDegree( int nDegree, bool bReverse = false );
|
|
virtual void Render( KViewportObject *viewport, class K3DRenderDevice *dev, bool bUseAccum = true );
|
|
/// @brief - prodongi
|
|
void changeAlpha(float alpha);
|
|
|
|
protected:
|
|
int m_nCurDegree;
|
|
bool m_bReverse;
|
|
|
|
KSpritePrimitive::TEMPEXTVERTEX m_ClockVtxBuf[CLOCK_VTX];
|
|
|
|
/// @brief - prodongi
|
|
enum { MAX_ALPHA = 200 };
|
|
float m_alpha;
|
|
};
|
|
|
|
/// Control
|
|
class KUIControlClockBox : public KUIControl
|
|
{
|
|
public:
|
|
KUIControlClockBox();
|
|
virtual ~KUIControlClockBox();
|
|
|
|
void SetColor(const KColor& color)
|
|
{
|
|
m_prClock.SetColor( color );
|
|
}
|
|
void SetMaxTime(DWORD dwMaxTime)
|
|
{
|
|
m_dwMaxTime = dwMaxTime;
|
|
}
|
|
DWORD GetMaxTime()
|
|
{
|
|
return m_dwMaxTime;
|
|
}
|
|
void SetCurTime(DWORD dwCurTime)
|
|
{
|
|
m_dwCurTime = dwCurTime;
|
|
}
|
|
DWORD GetCurTime()
|
|
{
|
|
return m_dwCurTime;
|
|
}
|
|
void Init(); // MJ 2004/11/10
|
|
bool IsInit() const { return m_bInit; }; // MJ 2004/11/10
|
|
|
|
void Begin( bool bReverse = false );
|
|
void Stop();
|
|
|
|
virtual void Process(DWORD dwTime);
|
|
virtual void Render(KViewportObject* pViewport, bool isFront = false );
|
|
/// @brief m_prClock의 알파를 조절하기 위래서 - prodongi
|
|
virtual void OnAlphaChangeNotify(float fAlpha);
|
|
|
|
protected:
|
|
virtual void _initControl();
|
|
|
|
protected:
|
|
DWORD m_dwBeginTime;
|
|
DWORD m_dwMaxTime;
|
|
DWORD m_dwCurTime;
|
|
DWORD m_dwTimeOffset;
|
|
bool m_bBegin;
|
|
bool m_bInit;
|
|
|
|
bool m_bReverse;
|
|
|
|
KClockBoxPrimitive m_prClock;
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// ColorBox Control
|
|
|
|
/// Primitivie
|
|
class KColorBoxPrimitive : public KSpritePrimitive
|
|
{
|
|
enum
|
|
{
|
|
COLOR_VTX = 4,
|
|
};
|
|
public:
|
|
KColorBoxPrimitive();
|
|
virtual ~KColorBoxPrimitive();
|
|
virtual void Render( KViewportObject *viewport, class K3DRenderDevice *dev, bool bUseAccum = true );
|
|
|
|
void SetVisibility( float vis );
|
|
void SetIndexColor ( int nIndex, const KColor &color );
|
|
|
|
protected:
|
|
void NoResUpdateSprite();
|
|
|
|
KSpritePrimitive::TEMPEXTVERTEX m_ColorVtxBuf[COLOR_VTX];
|
|
|
|
float m_fMasterVisibility[COLOR_VTX];
|
|
};
|
|
|
|
/// Control
|
|
class KUIControlColorBox : public KUIControl
|
|
{
|
|
public:
|
|
KUIControlColorBox();
|
|
virtual ~KUIControlColorBox();
|
|
|
|
virtual void OnAlphaChangeNotify(float fAlpha);
|
|
|
|
void SetEnableColorAni( bool bFlag )
|
|
{
|
|
m_bEnableColorAni = bFlag;
|
|
}
|
|
|
|
void SetIndexColor(int nIndex, const KColor& color)
|
|
{
|
|
if( nIndex >= 0 && nIndex < 4 )
|
|
m_prColor.SetIndexColor( nIndex, color );
|
|
}
|
|
|
|
void SetWeightColor(const KColor& color)
|
|
{
|
|
m_weightColor = color;
|
|
for( int i(0); 4>i; i++ )
|
|
m_prColor.SetIndexColor( i, m_weightColor );
|
|
}
|
|
|
|
virtual void Process(DWORD dwTime);
|
|
virtual void Render(KViewportObject* pViewport, bool isFront = false );
|
|
|
|
protected:
|
|
virtual void _initControl();
|
|
|
|
protected:
|
|
bool m_bEnableColorAni;
|
|
KColorBoxPrimitive m_prColor;
|
|
DWORD m_dwTime;
|
|
DWORD m_dwCheckTime;
|
|
|
|
KColor m_weightColor;
|
|
KColor m_Color[4];
|
|
short m_nFlag;
|
|
}; |