Files
Client/GameTools/NeoRylClient/GUITooltipManager.cpp
LGram16 dd97ddec92 Restructure repository to include all source folders
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>
2025-11-29 20:17:20 +09:00

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);
}
}