open source

This commit is contained in:
lvfulong
2020-11-11 16:17:13 +08:00
parent 4d989f3ecb
commit bc4ca748de
2441 changed files with 623057 additions and 2 deletions
+56
View File
@@ -0,0 +1,56 @@
#include "WinCtrl.h"
namespace laya {
std::map<HWND, WinControl*> WinCtrlEvtManager::ms_ctrlMap;
bool WinCtrlEvtManager::Add(HWND hwnd, WinControl* ctrl)
{
if (!ctrl)
return false;
if (!hwnd)
return false;
auto it = ms_ctrlMap.find(hwnd);
if (it != ms_ctrlMap.end())
{
it->second = ctrl;
}
else
{
ms_ctrlMap.insert(std::make_pair(hwnd, ctrl));
}
return true;
}
void WinCtrlEvtManager::Remove(HWND hwnd)
{
auto it = ms_ctrlMap.find(hwnd);
if (it != ms_ctrlMap.end())
{
ms_ctrlMap.erase(it);
}
}
WinControl* WinCtrlEvtManager::Get(HWND hwnd)
{
auto it = ms_ctrlMap.find(hwnd);
if (it != ms_ctrlMap.end())
{
return it->second;
}
return nullptr;
}
void WinCtrlEvtManager::Clear()
{
auto it = ms_ctrlMap.begin();
while (it != ms_ctrlMap.end())
{
it = ms_ctrlMap.erase(it);
}
}
};