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

Renamed the namespace, functions and macros in CompatGdiDcFunctions

This commit is contained in:
narzoul 2016-03-19 13:22:30 +01:00
parent ffc74aeb26
commit 27eec14ee1
3 changed files with 79 additions and 79 deletions

View File

@ -284,7 +284,7 @@ namespace CompatGdi
return; return;
} }
CompatGdiFunctions::installHooks(); CompatGdiDcFunctions::installHooks();
CompatGdiWinProc::installHooks(); CompatGdiWinProc::installHooks();
CompatGdiCaret::installHooks(); CompatGdiCaret::installHooks();
} }

View File

@ -56,7 +56,7 @@ namespace
} }
template <typename OrigFuncPtr, OrigFuncPtr origFunc, typename Result, typename... Params> template <typename OrigFuncPtr, OrigFuncPtr origFunc, typename Result, typename... Params>
Result WINAPI compatGdiFunc(Params... params) Result WINAPI compatGdiDcFunc(Params... params)
{ {
#ifdef _DEBUG #ifdef _DEBUG
Compat::LogEnter(CompatGdi::g_funcNames[origFunc], params...); Compat::LogEnter(CompatGdi::g_funcNames[origFunc], params...);
@ -97,9 +97,9 @@ namespace
} }
template <typename OrigFuncPtr, OrigFuncPtr origFunc, typename Result, typename... Params> template <typename OrigFuncPtr, OrigFuncPtr origFunc, typename Result, typename... Params>
OrigFuncPtr getCompatGdiFuncPtr(FuncPtr<Result, Params...>) OrigFuncPtr getCompatGdiDcFuncPtr(FuncPtr<Result, Params...>)
{ {
return &compatGdiFunc<OrigFuncPtr, origFunc, Result, Params...>; return &compatGdiDcFunc<OrigFuncPtr, origFunc, Result, Params...>;
} }
BOOL WINAPI scrollWindow( BOOL WINAPI scrollWindow(
@ -128,110 +128,110 @@ namespace
} }
} }
#define HOOK_GDI_FUNCTION_CUSTOM(module, func, newFunc) \ #define HOOK_GDI_FUNCTION(module, func, newFunc) \
CompatGdi::hookGdiFunction<decltype(&func), &func>( \ CompatGdi::hookGdiFunction<decltype(&func), &func>( \
#module, #func, &newFunc); #module, #func, &newFunc);
#define HOOK_GDI_FUNCTION(module, func) \ #define HOOK_GDI_DC_FUNCTION(module, func) \
CompatGdi::hookGdiFunction<decltype(&func), &func>( \ CompatGdi::hookGdiFunction<decltype(&func), &func>( \
#module, #func, getCompatGdiFuncPtr<decltype(&func), &func>(&func)); #module, #func, getCompatGdiDcFuncPtr<decltype(&func), &func>(&func));
#define HOOK_GDI_TEXT_FUNCTION(module, func) \ #define HOOK_GDI_TEXT_DC_FUNCTION(module, func) \
HOOK_GDI_FUNCTION(module, func##A); \ HOOK_GDI_DC_FUNCTION(module, func##A); \
HOOK_GDI_FUNCTION(module, func##W) HOOK_GDI_DC_FUNCTION(module, func##W)
namespace CompatGdiFunctions namespace CompatGdiDcFunctions
{ {
void installHooks() void installHooks()
{ {
DetourTransactionBegin(); DetourTransactionBegin();
// Bitmap functions // Bitmap functions
HOOK_GDI_FUNCTION(msimg32, AlphaBlend); HOOK_GDI_DC_FUNCTION(msimg32, AlphaBlend);
HOOK_GDI_FUNCTION(gdi32, BitBlt); HOOK_GDI_DC_FUNCTION(gdi32, BitBlt);
HOOK_GDI_FUNCTION(gdi32, CreateCompatibleBitmap); HOOK_GDI_DC_FUNCTION(gdi32, CreateCompatibleBitmap);
HOOK_GDI_FUNCTION(gdi32, CreateDIBitmap); HOOK_GDI_DC_FUNCTION(gdi32, CreateDIBitmap);
HOOK_GDI_FUNCTION(gdi32, CreateDIBSection); HOOK_GDI_DC_FUNCTION(gdi32, CreateDIBSection);
HOOK_GDI_FUNCTION(gdi32, CreateDiscardableBitmap); HOOK_GDI_DC_FUNCTION(gdi32, CreateDiscardableBitmap);
HOOK_GDI_FUNCTION(gdi32, ExtFloodFill); HOOK_GDI_DC_FUNCTION(gdi32, ExtFloodFill);
HOOK_GDI_FUNCTION(gdi32, GdiAlphaBlend); HOOK_GDI_DC_FUNCTION(gdi32, GdiAlphaBlend);
HOOK_GDI_FUNCTION(gdi32, GdiGradientFill); HOOK_GDI_DC_FUNCTION(gdi32, GdiGradientFill);
HOOK_GDI_FUNCTION(gdi32, GdiTransparentBlt); HOOK_GDI_DC_FUNCTION(gdi32, GdiTransparentBlt);
HOOK_GDI_FUNCTION(gdi32, GetDIBits); HOOK_GDI_DC_FUNCTION(gdi32, GetDIBits);
HOOK_GDI_FUNCTION(gdi32, GetPixel); HOOK_GDI_DC_FUNCTION(gdi32, GetPixel);
HOOK_GDI_FUNCTION(msimg32, GradientFill); HOOK_GDI_DC_FUNCTION(msimg32, GradientFill);
HOOK_GDI_FUNCTION(gdi32, MaskBlt); HOOK_GDI_DC_FUNCTION(gdi32, MaskBlt);
HOOK_GDI_FUNCTION(gdi32, PlgBlt); HOOK_GDI_DC_FUNCTION(gdi32, PlgBlt);
HOOK_GDI_FUNCTION(gdi32, SetDIBits); HOOK_GDI_DC_FUNCTION(gdi32, SetDIBits);
HOOK_GDI_FUNCTION(gdi32, SetDIBitsToDevice); HOOK_GDI_DC_FUNCTION(gdi32, SetDIBitsToDevice);
HOOK_GDI_FUNCTION(gdi32, SetPixel); HOOK_GDI_DC_FUNCTION(gdi32, SetPixel);
HOOK_GDI_FUNCTION(gdi32, SetPixelV); HOOK_GDI_DC_FUNCTION(gdi32, SetPixelV);
HOOK_GDI_FUNCTION(gdi32, StretchBlt); HOOK_GDI_DC_FUNCTION(gdi32, StretchBlt);
HOOK_GDI_FUNCTION(gdi32, StretchDIBits); HOOK_GDI_DC_FUNCTION(gdi32, StretchDIBits);
HOOK_GDI_FUNCTION(msimg32, TransparentBlt); HOOK_GDI_DC_FUNCTION(msimg32, TransparentBlt);
// Brush functions // Brush functions
HOOK_GDI_FUNCTION(gdi32, PatBlt); HOOK_GDI_DC_FUNCTION(gdi32, PatBlt);
// Device context functions // Device context functions
HOOK_GDI_FUNCTION(gdi32, CreateCompatibleDC); HOOK_GDI_DC_FUNCTION(gdi32, CreateCompatibleDC);
HOOK_GDI_FUNCTION(gdi32, DrawEscape); HOOK_GDI_DC_FUNCTION(gdi32, DrawEscape);
// Filled shape functions // Filled shape functions
HOOK_GDI_FUNCTION(gdi32, Chord); HOOK_GDI_DC_FUNCTION(gdi32, Chord);
HOOK_GDI_FUNCTION(gdi32, Ellipse); HOOK_GDI_DC_FUNCTION(gdi32, Ellipse);
HOOK_GDI_FUNCTION(user32, FillRect); HOOK_GDI_DC_FUNCTION(user32, FillRect);
HOOK_GDI_FUNCTION(user32, FrameRect); HOOK_GDI_DC_FUNCTION(user32, FrameRect);
HOOK_GDI_FUNCTION(user32, InvertRect); HOOK_GDI_DC_FUNCTION(user32, InvertRect);
HOOK_GDI_FUNCTION(gdi32, Pie); HOOK_GDI_DC_FUNCTION(gdi32, Pie);
HOOK_GDI_FUNCTION(gdi32, Polygon); HOOK_GDI_DC_FUNCTION(gdi32, Polygon);
HOOK_GDI_FUNCTION(gdi32, PolyPolygon); HOOK_GDI_DC_FUNCTION(gdi32, PolyPolygon);
HOOK_GDI_FUNCTION(gdi32, Rectangle); HOOK_GDI_DC_FUNCTION(gdi32, Rectangle);
HOOK_GDI_FUNCTION(gdi32, RoundRect); HOOK_GDI_DC_FUNCTION(gdi32, RoundRect);
// Font and text functions // Font and text functions
HOOK_GDI_TEXT_FUNCTION(user32, DrawText); HOOK_GDI_TEXT_DC_FUNCTION(user32, DrawText);
HOOK_GDI_TEXT_FUNCTION(user32, DrawTextEx); HOOK_GDI_TEXT_DC_FUNCTION(user32, DrawTextEx);
HOOK_GDI_TEXT_FUNCTION(gdi32, ExtTextOut); HOOK_GDI_TEXT_DC_FUNCTION(gdi32, ExtTextOut);
HOOK_GDI_TEXT_FUNCTION(gdi32, PolyTextOut); HOOK_GDI_TEXT_DC_FUNCTION(gdi32, PolyTextOut);
HOOK_GDI_TEXT_FUNCTION(user32, TabbedTextOut); HOOK_GDI_TEXT_DC_FUNCTION(user32, TabbedTextOut);
HOOK_GDI_TEXT_FUNCTION(gdi32, TextOut); HOOK_GDI_TEXT_DC_FUNCTION(gdi32, TextOut);
// Icon functions // Icon functions
HOOK_GDI_FUNCTION(user32, DrawIcon); HOOK_GDI_DC_FUNCTION(user32, DrawIcon);
HOOK_GDI_FUNCTION(user32, DrawIconEx); HOOK_GDI_DC_FUNCTION(user32, DrawIconEx);
// Line and curve functions // Line and curve functions
HOOK_GDI_FUNCTION(gdi32, AngleArc); HOOK_GDI_DC_FUNCTION(gdi32, AngleArc);
HOOK_GDI_FUNCTION(gdi32, Arc); HOOK_GDI_DC_FUNCTION(gdi32, Arc);
HOOK_GDI_FUNCTION(gdi32, ArcTo); HOOK_GDI_DC_FUNCTION(gdi32, ArcTo);
HOOK_GDI_FUNCTION(gdi32, LineTo); HOOK_GDI_DC_FUNCTION(gdi32, LineTo);
HOOK_GDI_FUNCTION(gdi32, PolyBezier); HOOK_GDI_DC_FUNCTION(gdi32, PolyBezier);
HOOK_GDI_FUNCTION(gdi32, PolyBezierTo); HOOK_GDI_DC_FUNCTION(gdi32, PolyBezierTo);
HOOK_GDI_FUNCTION(gdi32, PolyDraw); HOOK_GDI_DC_FUNCTION(gdi32, PolyDraw);
HOOK_GDI_FUNCTION(gdi32, Polyline); HOOK_GDI_DC_FUNCTION(gdi32, Polyline);
HOOK_GDI_FUNCTION(gdi32, PolylineTo); HOOK_GDI_DC_FUNCTION(gdi32, PolylineTo);
HOOK_GDI_FUNCTION(gdi32, PolyPolyline); HOOK_GDI_DC_FUNCTION(gdi32, PolyPolyline);
// Painting and drawing functions // Painting and drawing functions
HOOK_GDI_FUNCTION(user32, DrawCaption); HOOK_GDI_DC_FUNCTION(user32, DrawCaption);
HOOK_GDI_FUNCTION(user32, DrawEdge); HOOK_GDI_DC_FUNCTION(user32, DrawEdge);
HOOK_GDI_FUNCTION(user32, DrawFocusRect); HOOK_GDI_DC_FUNCTION(user32, DrawFocusRect);
HOOK_GDI_FUNCTION(user32, DrawFrameControl); HOOK_GDI_DC_FUNCTION(user32, DrawFrameControl);
HOOK_GDI_TEXT_FUNCTION(user32, DrawState); HOOK_GDI_TEXT_DC_FUNCTION(user32, DrawState);
HOOK_GDI_TEXT_FUNCTION(user32, GrayString); HOOK_GDI_TEXT_DC_FUNCTION(user32, GrayString);
HOOK_GDI_FUNCTION(user32, PaintDesktop); HOOK_GDI_DC_FUNCTION(user32, PaintDesktop);
// Region functions // Region functions
HOOK_GDI_FUNCTION(gdi32, FillRgn); HOOK_GDI_DC_FUNCTION(gdi32, FillRgn);
HOOK_GDI_FUNCTION(gdi32, FrameRgn); HOOK_GDI_DC_FUNCTION(gdi32, FrameRgn);
HOOK_GDI_FUNCTION(gdi32, InvertRgn); HOOK_GDI_DC_FUNCTION(gdi32, InvertRgn);
HOOK_GDI_FUNCTION(gdi32, PaintRgn); HOOK_GDI_DC_FUNCTION(gdi32, PaintRgn);
// Scroll bar functions // Scroll bar functions
HOOK_GDI_FUNCTION(user32, ScrollDC); HOOK_GDI_DC_FUNCTION(user32, ScrollDC);
HOOK_GDI_FUNCTION_CUSTOM(user32, ScrollWindow, scrollWindow); HOOK_GDI_FUNCTION(user32, ScrollWindow, scrollWindow);
HOOK_GDI_FUNCTION_CUSTOM(user32, ScrollWindowEx, scrollWindowEx); HOOK_GDI_FUNCTION(user32, ScrollWindowEx, scrollWindowEx);
DetourTransactionCommit(); DetourTransactionCommit();
} }

View File

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