use originl DC if possible
This commit is contained in:
parent
4771d1f4ad
commit
9e61e993e8
1 changed files with 6 additions and 4 deletions
|
@ -806,7 +806,7 @@ BOOL WINAPI fake_StretchBlt(
|
||||||
else if (g_ddraw.width > 0 && g_ddraw.render.hdc)
|
else if (g_ddraw.width > 0 && g_ddraw.render.hdc)
|
||||||
{
|
{
|
||||||
return real_StretchBlt(
|
return real_StretchBlt(
|
||||||
g_ddraw.render.hdc,
|
hwnd == g_ddraw.hwnd ? hdcDest : g_ddraw.render.hdc,
|
||||||
(int)(xDest * g_ddraw.render.scale_w) + g_ddraw.render.viewport.x,
|
(int)(xDest * g_ddraw.render.scale_w) + g_ddraw.render.viewport.x,
|
||||||
(int)(yDest * g_ddraw.render.scale_h) + g_ddraw.render.viewport.y,
|
(int)(yDest * g_ddraw.render.scale_h) + g_ddraw.render.viewport.y,
|
||||||
(int)(wDest * g_ddraw.render.scale_w),
|
(int)(wDest * g_ddraw.render.scale_w),
|
||||||
|
@ -853,7 +853,9 @@ BOOL WINAPI fake_BitBlt(
|
||||||
int y1,
|
int y1,
|
||||||
DWORD rop)
|
DWORD rop)
|
||||||
{
|
{
|
||||||
if (g_ddraw.ref && g_ddraw.hwnd && WindowFromDC(hdc) == g_ddraw.hwnd)
|
HWND hwnd = WindowFromDC(hdc);
|
||||||
|
|
||||||
|
if (g_ddraw.ref && g_ddraw.hwnd && hwnd == g_ddraw.hwnd)
|
||||||
{
|
{
|
||||||
if (g_ddraw.primary && (g_ddraw.primary->bpp == 16 || g_ddraw.primary->bpp == 32 || g_ddraw.primary->palette))
|
if (g_ddraw.primary && (g_ddraw.primary->bpp == 16 || g_ddraw.primary->bpp == 32 || g_ddraw.primary->palette))
|
||||||
{
|
{
|
||||||
|
@ -882,7 +884,7 @@ BOOL WINAPI fake_BitBlt(
|
||||||
else if (g_ddraw.width > 0 && g_ddraw.render.hdc)
|
else if (g_ddraw.width > 0 && g_ddraw.render.hdc)
|
||||||
{
|
{
|
||||||
return real_StretchBlt(
|
return real_StretchBlt(
|
||||||
g_ddraw.render.hdc,
|
hwnd == g_ddraw.hwnd ? hdc : g_ddraw.render.hdc,
|
||||||
(int)(x * g_ddraw.render.scale_w) + g_ddraw.render.viewport.x,
|
(int)(x * g_ddraw.render.scale_w) + g_ddraw.render.viewport.x,
|
||||||
(int)(y * g_ddraw.render.scale_h) + g_ddraw.render.viewport.y,
|
(int)(y * g_ddraw.render.scale_h) + g_ddraw.render.viewport.y,
|
||||||
(int)(cx * g_ddraw.render.scale_w),
|
(int)(cx * g_ddraw.render.scale_w),
|
||||||
|
@ -1025,7 +1027,7 @@ int WINAPI fake_StretchDIBits(
|
||||||
{
|
{
|
||||||
return
|
return
|
||||||
real_StretchDIBits(
|
real_StretchDIBits(
|
||||||
g_ddraw.render.hdc,
|
hwnd == g_ddraw.hwnd ? hdc : g_ddraw.render.hdc,
|
||||||
(int)(xDest * g_ddraw.render.scale_w) + g_ddraw.render.viewport.x,
|
(int)(xDest * g_ddraw.render.scale_w) + g_ddraw.render.viewport.x,
|
||||||
(int)(yDest * g_ddraw.render.scale_h) + g_ddraw.render.viewport.y,
|
(int)(yDest * g_ddraw.render.scale_h) + g_ddraw.render.viewport.y,
|
||||||
(int)(DestWidth * g_ddraw.render.scale_w),
|
(int)(DestWidth * g_ddraw.render.scale_w),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue