178 lines
4.3 KiB
C++
178 lines
4.3 KiB
C++
#ifdef _COUNTRY_ME_
|
|
|
|
#pragma once
|
|
#include "KUIControl.h"
|
|
#include "KPrimitiveSprite.h"
|
|
|
|
/*
|
|
TODO :
|
|
KBUTTON_????? 등은 "버튼" 의 공통적 특성이므로 이것들은 KUIControlButtonBase 등으로
|
|
구현해놓고 각 버튼 컨트롤들은 KUIControlButtonBase 을 상속받는것이 올바른 디자인으로
|
|
보이네요.. 고치고 싶지만 일단 바빠서 넘어갑니다. UI 담당하실 님이 고쳐주셈. -_-/ by Testors
|
|
*/
|
|
|
|
class KUIControlSimpleButton : public KUIControl
|
|
{
|
|
public:
|
|
public:
|
|
enum KBUTTON_STATE
|
|
{
|
|
KBUTTON_NORMAL = 0,
|
|
KBUTTON_ACTIVATE,
|
|
KBUTTON_DOWN,
|
|
KBUTTON_DISABLE,
|
|
KBUTTON_MAX = 4,
|
|
};
|
|
|
|
KUIControlSimpleButton();
|
|
virtual ~KUIControlSimpleButton();
|
|
|
|
virtual DWORD OnMouseMessage(DWORD dwMessage, int x, int y);
|
|
virtual DWORD OnKeyMessage(DWORD dwMessage, DWORD dwKeyCode);
|
|
virtual void Render(KViewportObject * pViewport, bool isFront = false );
|
|
virtual void Create(KUIWND_CREATE_ARG& CREATE_ARG);
|
|
|
|
virtual void UpdateBack();
|
|
|
|
const bool GetLeftButton() { return m_bLeftButton; }
|
|
|
|
void SetButtonState(DWORD dwState) {
|
|
m_dwButtonState = dwState;
|
|
#ifdef _KUI_INVALIDATION
|
|
InvalidateWnd();
|
|
#endif
|
|
}
|
|
int GetButtonWidth();
|
|
// 2012. 5. 30 - marine 비활성화시 버튼의 상태를 유지 해야 할경우 사용
|
|
void DisableAndButtonState(DWORD dwState);
|
|
virtual void Enable();
|
|
|
|
protected:
|
|
virtual void _destroyControl();
|
|
virtual void _initControl();
|
|
|
|
bool m_bLeftButton;
|
|
KSpritePrimitive m_ButtonSprite[KBUTTON_MAX];
|
|
DWORD m_dwButtonState;
|
|
DWORD m_dwDisableButtonState; // 2012. 5 . 30 - marine 비활성화 상태일 때 버튼의 상태 저장
|
|
};
|
|
|
|
|
|
class KUIControlButton : public KUIControl
|
|
{
|
|
public:
|
|
enum KBUTTON_STATE
|
|
{
|
|
KBUTTON_NORMAL = 0,
|
|
KBUTTON_ACTIVATE,
|
|
KBUTTON_DOWN,
|
|
KBUTTON_MAX = 4,
|
|
};
|
|
|
|
KUIControlButton();
|
|
virtual ~KUIControlButton();
|
|
|
|
virtual DWORD OnMouseMessage(DWORD dwMessage, int x, int y);
|
|
virtual DWORD OnKeyMessage(DWORD dwMessage, DWORD dwKeyCode);
|
|
virtual void Render(KViewportObject * pViewport, bool isFront = false );
|
|
|
|
virtual void OnChangeCaptionNotify();
|
|
|
|
void SetButtonState(DWORD dwState)
|
|
{
|
|
m_dwButtonState = dwState;
|
|
#ifdef _KUI_INVALIDATION
|
|
// { [sonador]
|
|
InvalidateWnd();
|
|
// }
|
|
#endif
|
|
}
|
|
|
|
int GetButtonWidth();
|
|
protected:
|
|
virtual void _initControl();
|
|
|
|
void _initHorizontal();
|
|
void _initVertical();
|
|
|
|
bool m_bLeftButton;
|
|
KSpritePrimitive m_ButtonSprite[KBUTTON_MAX][3];
|
|
DWORD m_dwButtonState;
|
|
};
|
|
|
|
class KUIControlCaptionButton : public KUIControlButton
|
|
{
|
|
public:
|
|
KUIControlCaptionButton();
|
|
virtual ~KUIControlCaptionButton();
|
|
|
|
virtual void Render(KViewportObject * pViewport, bool isFront = false );
|
|
const char* GetAniCaption() const { return m_sCaptionAniName.c_str(); };
|
|
virtual void UpdateCaption(DWORD maxWidth = 0); // 2010.09.03 - prodongi
|
|
|
|
virtual void OnChangeCaptionNotify();
|
|
|
|
protected:
|
|
virtual void _initControl();
|
|
|
|
protected:
|
|
std::string m_sCaptionAniName;
|
|
KSpritePrimitive m_CaptionSprite[KUIControlButton::KBUTTON_MAX];
|
|
};
|
|
|
|
class KUIControlCheck : public KUIControlSimpleButton
|
|
{
|
|
public:
|
|
KUIControlCheck();
|
|
virtual DWORD OnMouseMessage(DWORD dwMessage, int x, int y);
|
|
|
|
virtual void Process( DWORD dwTime );
|
|
virtual void Render(KViewportObject * pViewport, bool isFront = false );
|
|
|
|
bool GetCheck();
|
|
void SetCheck(bool bCheck);
|
|
void SetDisableCheck();
|
|
|
|
protected:
|
|
virtual void _initControl();
|
|
};
|
|
|
|
class KUIControlButtonCheck : public KUIControlButton
|
|
{
|
|
public:
|
|
KUIControlButtonCheck();
|
|
virtual DWORD OnMouseMessage(DWORD dwMessage, int x, int y);
|
|
virtual void Render(KViewportObject * pViewport, bool isFront = false );
|
|
|
|
bool GetCheck();
|
|
void SetCheck(bool bCheck);
|
|
void SetDisableCheck();
|
|
|
|
protected:
|
|
virtual void _initControl();
|
|
};
|
|
class KUIControlCaptionCheck : public KUIControlButton
|
|
{
|
|
public:
|
|
KUIControlCaptionCheck();
|
|
|
|
virtual DWORD OnMouseMessage(DWORD dwMessage, int x, int y);
|
|
virtual void Render(KViewportObject * pViewport, bool isFront = false );
|
|
|
|
const char* GetAniCaption() const { return m_sCaptionAniName.c_str(); };
|
|
|
|
bool GetCheck();
|
|
void SetCheck(bool bCheck);
|
|
void SetDisableCheck();
|
|
|
|
virtual void UpdateCaption(DWORD maxWidth = 0); // 2010.09.03 - prodongi
|
|
|
|
protected:
|
|
virtual void _initControl();
|
|
|
|
protected:
|
|
std::string m_sCaptionAniName;
|
|
KSpritePrimitive m_CaptionSprite[KUIControlButton::KBUTTON_MAX];
|
|
};
|
|
|
|
#endif |