mirror of
https://github.com/VincentWei/MiniGUI.git
synced 2026-09-23 16:43:58 +08:00
Use ENTER_DRAWING_NOCHECK for BitBlt
This commit is contained in:
+8
-11
@@ -85,8 +85,6 @@ void _dc_fillbox_clip (PDC pdc, const GAL_Rect* rect)
|
||||
while (cliprect) {
|
||||
if (IntersectRect (&eff_rc, &pdc->rc_output, &cliprect->rc)) {
|
||||
SET_GAL_CLIPRECT (pdc, eff_rc);
|
||||
_DBG_PRINTF("%s (%d, %d, %d, %d)\n",
|
||||
__func__, rect->x, rect->y, rect->w, rect->h);
|
||||
GAL_FillRect (pdc->surface, rect, pdc->cur_pixel);
|
||||
}
|
||||
cliprect = cliprect->next;
|
||||
@@ -1128,18 +1126,17 @@ void GUIAPI BitBlt (HDC hsdc, int sx, int sy, int sw, int sh,
|
||||
goto empty_ret;
|
||||
GetBoundRect (&pddc->rc_output, &srcOutput, &dstOutput);
|
||||
}
|
||||
else
|
||||
else {
|
||||
pddc->rc_output = dstOutput;
|
||||
}
|
||||
|
||||
ENTER_DRAWING_NOCHECK (pddc);
|
||||
|
||||
if (pddc->surface != psdc->surface && (psdc->surface ==
|
||||
__gal_screen))
|
||||
__gal_screen)) {
|
||||
psdc->rc_output = srcOutput;
|
||||
|
||||
ENTER_DRAWING (pddc);
|
||||
|
||||
if (pddc->surface != psdc->surface && (psdc->surface ==
|
||||
__gal_screen))
|
||||
kernel_ShowCursorForGDI (FALSE, psdc);
|
||||
}
|
||||
|
||||
/*
|
||||
* The CLIPRECT's RECT order is: rc1 rc2 rc3 rc4 rc5 rc6
|
||||
@@ -1273,11 +1270,11 @@ void GUIAPI BitBlt (HDC hsdc, int sx, int sy, int sw, int sh,
|
||||
}
|
||||
}
|
||||
|
||||
if (pddc->surface != psdc->surface && (psdc->surface ==
|
||||
if (pddc->surface != psdc->surface && (psdc->surface ==
|
||||
__gal_screen))
|
||||
kernel_ShowCursorForGDI (TRUE, psdc);
|
||||
|
||||
LEAVE_DRAWING (pddc);
|
||||
LEAVE_DRAWING_NOCHECK (pddc);
|
||||
|
||||
empty_ret:
|
||||
UNLOCK_GCRINFO (pddc);
|
||||
|
||||
+2
-1
@@ -560,8 +560,9 @@ int __mg_enter_drawing (PDC pdc)
|
||||
goto fail;
|
||||
#endif
|
||||
|
||||
if (!IntersectRect (&pdc->rc_output, &pdc->rc_output, &pdc->ecrgn.rcBound))
|
||||
if (!IntersectRect (&pdc->rc_output, &pdc->rc_output, &pdc->ecrgn.rcBound)) {
|
||||
goto fail;
|
||||
}
|
||||
|
||||
LOCK (&__mg_gdilock);
|
||||
if (!dc_IsMemDC (pdc))
|
||||
|
||||
Reference in New Issue
Block a user