欢迎来到虫虫下载站 | 资源下载 资源专辑 关于我们
虫虫下载站

gs_ui_button.cpp

混乱竞技场的全套代码,客户端资源可以网上搜
CPP
字号:
   // GS_UI_Button.cpp: implementation of the GS_UI_Button class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "GsUI.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

GS_UI_Button::GS_UI_Button(CGsUIPanel*	pParent)
:CGsUIPanel(pParent)
{


	m_key_style				= "button";
//	m_image_normal			= NULL;
//	m_image_normal_touch	= NULL;
//	m_image_press			= NULL;
//	m_image_press_touch		= NULL;

}

GS_UI_Button::~GS_UI_Button()
{

}

BOOL GS_UI_Button::HitTest_Press(GPOINT point)
{
	return is_point_in_rect(point, m_rcHeader);
}

ID GS_UI_Button::OnMouseMove( UINT nFlags, GPOINT point )
{
	ID	idRet	= CGsUIPanel::OnMouseMove(nFlags, point);

	return idRet;
}


ID GS_UI_Button::OnLButtonDown( UINT nFlags, GPOINT point )
{
	BOOL bPress	= m_isPress;
	ID	idRet	= CGsUIPanel::OnLButtonDown(nFlags, point);
//	m_isPress	= 
	if(bPress!=m_isPress)
		OnPress(m_isPress);
	return idRet;
}


ID GS_UI_Button::OnLButtonUp( UINT nFlags, GPOINT point )
{
	ID	idRet	= CGsUIPanel::OnLButtonUp(nFlags, point);

	return idRet;
}

ID GS_UI_Button::OnLButtonDbClk(UINT nFlags, GPOINT point)
{
	ID	idRet	= CGsUIPanel::OnLButtonDbClk(nFlags, point);
//	if(HitTest_Press(point))
//	{
//		if(!m_isButtonOrCheckbox)
//		{
//			m_isChecked	^= 1;
//		}
//		OnClick();
//	}
	return idRet;
}


HRESULT GS_UI_Button::OnDraw(GPOINT point)
{
	if(NULL==m_pEngine)
		return E_FAIL;
	if(m_pImage)
		m_pImage->Draw(point.x, point.y, m_isBackLayer ? 1.0f : 0.0f);

	return S_OK;
}


BOOL GS_UI_Button::Restore()
{
	if(!CGsUIPanel::Restore())
		return FALSE;
	OnTouch(m_isTouch);

	SetBackMost();
	return TRUE;

}



BOOL GS_UI_Button::OnSaveConfig(CConfig &cfg)
{
	BOOL bRet = CGsUIPanel::OnSaveConfig(cfg);


	return bRet;
}


VOID GS_UI_Button::Cleanup()
{
	CGsUIPanel::Cleanup();
}

LONG GS_UI_Button::OnUpdate()
{
//	m_image_normal.Update();
//	m_image_normal_touch.Update();
	if(m_pImage)
		m_pImage->Update();
	return CGsUIPanel::OnUpdate();

}

VOID GS_UI_Button::OnTouch(BOOL bTouch)
{
	if(m_isTouch)
	{
		if(m_isPress || m_isChecked)
		{
			if(m_image_press_touch.IsReady())
				m_pImage	= &m_image_press_touch;
		}
		else
		{
			if(m_image_normal_touch.IsReady())
				m_pImage	= &m_image_normal_touch;
		}
	}
	else
	{
		if(m_isPress || m_isChecked)
		{
			if(m_image_press.IsReady())
				m_pImage	= &m_image_press_touch;
		}
		else
		{
			if(m_image_normal.IsReady())
				m_pImage	= &m_image_normal_touch;
		}

	}
	if(m_pImage)
		m_pImage->Play(GS_ANI_PLAY_LOOP);
	//To do: sound...

}

VOID GS_UI_Button::OnPress(BOOL bPress)
{
	if(m_isTouch)
	{
		if(m_isPress || m_isChecked)
		{
			if(m_image_press_touch.IsReady())
				m_pImage	= &m_image_press_touch;
		}
		else
		{
			if(m_image_normal_touch.IsReady())
				m_pImage	= &m_image_normal_touch;
		}
	}
	else
	{
		if(m_isPress || m_isChecked)
		{
			if(m_image_press.IsReady())
				m_pImage	= &m_image_press_touch;
		}
		else
		{
			if(m_image_normal.IsReady())
				m_pImage	= &m_image_normal_touch;
		}
	}
	if(m_pImage)
		m_pImage->Play(GS_ANI_PLAY_LOOP);
	//To do: sound...
}




/*
VOID GS_UI_Button::SetImage(const char *strKey, const char *strImage)
{
	CGsUIPanel::SetImage(strKey, strImage);
	if(strKey && KEY("press")==KEY(strKey))
	{
		m_image_press.SetGsEngine(m_pEngine);
		m_image_press.Create(strImage);
		return;
	}
	if(strKey && KEY("press_touch")==KEY(strKey))
	{
		m_image_press_touch.SetGsEngine(m_pEngine);
		m_image_press_touch.Create(strImage);
		return;
	}

}

*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -