Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
81 lines
1.7 KiB
C++
81 lines
1.7 KiB
C++
// GUITooltipManager.cpp: implementation of the CGUITooltipManager class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#include "ClientMain.h"
|
|
#include "resource.h"
|
|
#include "WinInput.h"
|
|
#include "GUITooltipManager.h"
|
|
|
|
CGUITooltipManager g_TooltipManager;
|
|
CGUITooltip *CGUITooltipManager::m_ttRenderTarget = NULL;
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
// Construction/Destruction
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
CGUITooltipManager::CGUITooltipManager()
|
|
{
|
|
m_ttRenderTarget = NULL;
|
|
}
|
|
|
|
CGUITooltipManager::~CGUITooltipManager()
|
|
{
|
|
DestroyAllTooltip();
|
|
}
|
|
|
|
BOOL CGUITooltipManager::AddTooltip(CGUITooltip *pTooltip)
|
|
{
|
|
m_lstTooltip.push_back(pTooltip);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CGUITooltipManager::DestroyAllTooltip()
|
|
{
|
|
vector<CGUITooltip *>::iterator it;
|
|
CGUITooltip *lpTooltip;
|
|
for(it = m_lstTooltip.begin(); it != m_lstTooltip.end();)
|
|
{
|
|
lpTooltip = (*it);
|
|
it = m_lstTooltip.erase(it);
|
|
delete lpTooltip;
|
|
lpTooltip = NULL;
|
|
}
|
|
|
|
m_lstTooltip.clear();
|
|
}
|
|
|
|
void CGUITooltipManager::Update(long lMoveX, long lMoveY)
|
|
{
|
|
vector<CGUITooltip *>::iterator it;
|
|
CGUITooltip *pTooltip;
|
|
|
|
for(it = m_lstTooltip.begin(); it != m_lstTooltip.end(); it++)
|
|
{
|
|
pTooltip = *it;
|
|
|
|
if(pTooltip->m_bShow)
|
|
{
|
|
if(g_DeviceInput.InRect(pTooltip->m_rcEdge.left + lMoveX, pTooltip->m_rcEdge.top + lMoveY,
|
|
pTooltip->m_rcEdge.right + lMoveX - 1, pTooltip->m_rcEdge.bottom + lMoveY - 1))
|
|
{
|
|
m_ttRenderTarget = pTooltip;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
void CGUITooltipManager::Render(LPDIRECT3DDEVICE8 lpD3DDevice)
|
|
{
|
|
if(m_ttRenderTarget && m_ttRenderTarget->m_bShow)
|
|
{
|
|
// g_DeviceInput.ShowCursor(FALSE);
|
|
m_ttRenderTarget->Render(lpD3DDevice);
|
|
} else
|
|
{
|
|
// g_DeviceInput.ShowCursor(TRUE);
|
|
}
|
|
}
|