mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-05 19:46:15 +01:00
38 lines
818 B
C
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);
|
||
|
|
||
|
}
|