1
0
mirror of https://github.com/narzoul/DDrawCompat synced 2024-12-30 08:55:36 +01:00

Moved unrelated functions from CompatGdiDcFunctions to a new namespace

This commit is contained in:
narzoul 2016-03-19 13:33:07 +01:00
parent 0b5247d93d
commit 53ae753ae0
6 changed files with 59 additions and 27 deletions

View File

@ -4,6 +4,7 @@
#include "CompatGdiCaret.h"
#include "CompatGdiDcCache.h"
#include "CompatGdiDcFunctions.h"
#include "CompatGdiScrollFunctions.h"
#include "CompatGdiWinProc.h"
#include "CompatPrimarySurface.h"
#include "DDrawProcs.h"
@ -285,6 +286,7 @@ namespace CompatGdi
}
CompatGdiDcFunctions::installHooks();
CompatGdiScrollFunctions::installHooks();
CompatGdiWinProc::installHooks();
CompatGdiCaret::installHooks();
}

View File

@ -101,31 +101,6 @@ namespace
{
return &compatGdiDcFunc<OrigFuncPtr, origFunc, Result, Params...>;
}
BOOL WINAPI scrollWindow(
_In_ HWND hWnd,
_In_ int XAmount,
_In_ int YAmount,
_In_ const RECT *lpRect,
_In_ const RECT *lpClipRect)
{
InvalidateRect(hWnd, nullptr, TRUE);
return CALL_ORIG_GDI(ScrollWindow)(hWnd, XAmount, YAmount, lpRect, lpClipRect);
}
int WINAPI scrollWindowEx(
_In_ HWND hWnd,
_In_ int dx,
_In_ int dy,
_In_ const RECT *prcScroll,
_In_ const RECT *prcClip,
_In_ HRGN hrgnUpdate,
_Out_ LPRECT prcUpdate,
_In_ UINT flags)
{
InvalidateRect(hWnd, nullptr, TRUE);
return CALL_ORIG_GDI(ScrollWindowEx)(hWnd, dx, dy, prcScroll, prcClip, hrgnUpdate, prcUpdate, flags);
}
}
#define HOOK_GDI_DC_FUNCTION(module, func) \
@ -226,8 +201,6 @@ namespace CompatGdiDcFunctions
// Scroll bar functions
HOOK_GDI_DC_FUNCTION(user32, ScrollDC);
HOOK_GDI_FUNCTION(user32, ScrollWindow, scrollWindow);
HOOK_GDI_FUNCTION(user32, ScrollWindowEx, scrollWindowEx);
DetourTransactionCommit();
}

View File

@ -0,0 +1,43 @@
#include "CompatGdi.h"
#include "CompatGdiScrollFunctions.h"
#include <detours.h>
namespace
{
BOOL WINAPI scrollWindow(
_In_ HWND hWnd,
_In_ int XAmount,
_In_ int YAmount,
_In_ const RECT *lpRect,
_In_ const RECT *lpClipRect)
{
InvalidateRect(hWnd, nullptr, TRUE);
return CALL_ORIG_GDI(ScrollWindow)(hWnd, XAmount, YAmount, lpRect, lpClipRect);
}
int WINAPI scrollWindowEx(
_In_ HWND hWnd,
_In_ int dx,
_In_ int dy,
_In_ const RECT *prcScroll,
_In_ const RECT *prcClip,
_In_ HRGN hrgnUpdate,
_Out_ LPRECT prcUpdate,
_In_ UINT flags)
{
InvalidateRect(hWnd, nullptr, TRUE);
return CALL_ORIG_GDI(ScrollWindowEx)(hWnd, dx, dy, prcScroll, prcClip, hrgnUpdate, prcUpdate, flags);
}
}
namespace CompatGdiScrollFunctions
{
void installHooks()
{
DetourTransactionBegin();
HOOK_GDI_FUNCTION(user32, ScrollWindow, scrollWindow);
HOOK_GDI_FUNCTION(user32, ScrollWindowEx, scrollWindowEx);
DetourTransactionCommit();
}
}

View File

@ -0,0 +1,6 @@
#pragma once
namespace CompatGdiScrollFunctions
{
void installHooks();
};

View File

@ -151,6 +151,7 @@
<ClInclude Include="CompatGdiDcCache.h" />
<ClInclude Include="CompatGdiDcFunctions.h" />
<ClInclude Include="CompatGdiScrollBar.h" />
<ClInclude Include="CompatGdiScrollFunctions.h" />
<ClInclude Include="CompatGdiTitleBar.h" />
<ClInclude Include="CompatGdiWinProc.h" />
<ClInclude Include="Config.h" />
@ -178,6 +179,7 @@
<ClCompile Include="CompatGdiDcCache.cpp" />
<ClCompile Include="CompatGdiDcFunctions.cpp" />
<ClCompile Include="CompatGdiScrollBar.cpp" />
<ClCompile Include="CompatGdiScrollFunctions.cpp" />
<ClCompile Include="CompatGdiTitleBar.cpp" />
<ClCompile Include="CompatGdiWinProc.cpp" />
<ClCompile Include="CompatVtable.cpp" />

View File

@ -87,6 +87,9 @@
<ClInclude Include="CompatGdiDcFunctions.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="CompatGdiScrollFunctions.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="DllMain.cpp">
@ -146,6 +149,9 @@
<ClCompile Include="CompatGdiDcFunctions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="CompatGdiScrollFunctions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="DDrawCompat.def">