dxvk/src/d3d9/d3d9_window.h

38 lines
818 B
C++

#pragma once
#include <windows.h>
namespace dxvk {
class D3D9SwapChainEx;
class D3D9WindowMessageFilter {
public:
D3D9WindowMessageFilter(HWND window, bool filter = true);
~D3D9WindowMessageFilter();
D3D9WindowMessageFilter (const D3D9WindowMessageFilter&) = delete;
D3D9WindowMessageFilter& operator = (const D3D9WindowMessageFilter&) = delete;
private:
HWND m_window;
bool m_filter;
};
template <typename T, typename J, typename ... Args>
auto CallCharsetFunction(T unicode, J ascii, bool isUnicode, Args... args) {
return isUnicode
? unicode(args...)
: ascii (args...);
}
void ResetWindowProc(HWND window);
void HookWindowProc(HWND window, D3D9SwapChainEx* swapchain);
void SetActivateProcessed(HWND window, bool processed);
}