// GUIButton.h: interface for the CGUIButton class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_GUIBUTTON_H__69F2BC23_45CD_4DF9_86C8_597585E6AE49__INCLUDED_) #define AFX_GUIBUTTON_H__69F2BC23_45CD_4DF9_86C8_597585E6AE49__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #define BUTTON_NORMAL 0 #define BUTTON_CHECK 1 #define BUTTON_SIMPLE 2 #define BUTTON_SIMPLECHECK 3 #define BUTTON_NONE 0 #define BUTTON_OVER 1 #define BUTTON_PRESS 2 #define BUTTON_CLICK 3 #define BUTTON_ON 4 #define BUTTON_HOLD 5 #define BUTTON_OFF 6 #include "Sprite.h" #include "GUITooltipButton.h" #include "GUITooltipManager.h" class CGUIButton { public: void Update(void); long m_nMethod; CSprite *m_lpNormalButton; CSprite *m_lpOnMouseButton; CSprite *m_lpClickMouseButton; CGUITooltipButton *m_lpTooltip; BOOL m_bShow; long m_nState; long m_lMoveX; long m_lMoveY; BOOL m_bPress; BOOL m_bExistItemPress; CGUIButton(); ~CGUIButton(); void SetMove(long lMoveX, long lMoveY) { m_lMoveX = lMoveX; m_lMoveY = lMoveY; if(m_lpTooltip) { m_lpTooltip->SetRect( m_lpNormalButton->m_nPutX + m_lMoveX, m_lpNormalButton->m_nPutY + m_lMoveY, m_lpNormalButton->m_nPutX + m_lMoveX + m_lpNormalButton->GetSizeX(), m_lpNormalButton->m_nPutY + m_lMoveY + m_lpNormalButton->GetSizeY() ); } } long GetMoveX(void) { return m_lMoveX; } long GetMoveY(void) { return m_lMoveY; } void ShowButton(BOOL bShow) { m_bShow = bShow; if(m_lpTooltip && m_lpTooltip->GetIsTooltip()) m_lpTooltip->m_bShow = bShow; } void SetTooltip(CGUITooltipManager *lpTooltipManager, const char *strTooltip); void Render(LPDIRECT3DDEVICE8 lpD3DDevice, unsigned char cAlpha = 0xFF, long x = 0, long y = 0); }; #endif // !defined(AFX_GUIBUTTON_H__69F2BC23_45CD_4DF9_86C8_597585E6AE49__INCLUDED_)