extern LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
LRESULT __stdcall WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
if (GUI::getIsInit())
{
if (msg == WM_KEYDOWN && wParam == 0x11)
GUI::setDoDraw(!GUI::getDoDraw());
if (GUI::getDoDraw() && ImGui_ImplWin32_WndProcHandler(hWnd, msg, wParam, lParam))
return true;
if (GUI::getDoDraw())
{
switch (msg)
{
case WM_MOUSEMOVE:
case WM_MOUSEWHEEL:
case WM_MOUSEHWHEEL:
case WM_LBUTTONDOWN:
case WM_LBUTTONUP:
case WM_RBUTTONDOWN:
case WM_RBUTTONUP:
case WM_MBUTTONDOWN:
case WM_MBUTTONUP:
case WM_XBUTTONDOWN:
case WM_XBUTTONUP:
return true;
case WM_KEYDOWN:
case WM_KEYUP:
case WM_CHAR:
if (wParam != 0x11)
return true;
break;
}
}
}
return CallWindowProcA(origin_wndproc, hWnd, msg, wParam, lParam);
}