mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 22:05:49 +00:00
[NtGDI] Fix ExtSelectClipRgn Tests
Fix results from tests, add (last one) gdi batch support for ExtSelectClipRgn. Left commented out test code in tree this time. Pass Katayama Hirofumi MZ SelectClipRgn tests. After commit will plug in the last batch. After 12 years. See CORE-13817 and CORE-15906.
This commit is contained in:
parent
e1e6cfd312
commit
94b4b5c127
8 changed files with 364 additions and 94 deletions
|
@ -112,6 +112,11 @@ DC_InitHack(PDC pdc)
|
|||
DC_vCopyState(pdc, defaultDCstate, TRUE);
|
||||
}
|
||||
|
||||
if (prgnDefault == NULL)
|
||||
{
|
||||
prgnDefault = IntSysCreateRectpRgn(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
TextIntRealizeFont(pdc->pdcattr->hlfntNew,NULL);
|
||||
pdc->pdcattr->iCS_CP = ftGdiGetTextCharsetInfo(pdc,NULL,0);
|
||||
|
||||
|
@ -247,6 +252,9 @@ DC_vInitDc(
|
|||
pdc->prgnVis = IntSysCreateRectpRgn(0, 0, pdc->dclevel.sizl.cx, pdc->dclevel.sizl.cy);
|
||||
ASSERT(pdc->prgnVis);
|
||||
|
||||
/* Setup Vis Region Attribute information */
|
||||
UpdateVisRgn(pdc);
|
||||
|
||||
/* Initialize Clip object */
|
||||
IntEngInitClipObj(&pdc->co);
|
||||
|
||||
|
@ -637,7 +645,7 @@ GreOpenDCW(
|
|||
BOOL bDisplay,
|
||||
HANDLE hspool,
|
||||
VOID *pDriverInfo2,
|
||||
VOID *pUMdhpdev)
|
||||
PVOID *pUMdhpdev)
|
||||
{
|
||||
PPDEVOBJ ppdev;
|
||||
PDC pdc;
|
||||
|
@ -667,6 +675,7 @@ GreOpenDCW(
|
|||
|
||||
/* Lock ppdev and initialize the new DC */
|
||||
DC_vInitDc(pdc, iType, ppdev);
|
||||
if (pUMdhpdev) *pUMdhpdev = ppdev->dhpdev;
|
||||
/* FIXME: HACK! */
|
||||
DC_InitHack(pdc);
|
||||
|
||||
|
@ -689,6 +698,7 @@ NtGdiOpenDCW(
|
|||
_In_ ULONG iType,
|
||||
_In_ BOOL bDisplay,
|
||||
_In_opt_ HANDLE hspool,
|
||||
/*_In_opt_ DRIVER_INFO2W *pdDriverInfo2, Need this soon!!!! */
|
||||
_At_((PUMDHPDEV*)pUMdhpdev, _Out_) PVOID pUMdhpdev)
|
||||
{
|
||||
UNICODE_STRING ustrDevice;
|
||||
|
@ -752,6 +762,7 @@ NtGdiOpenDCW(
|
|||
{
|
||||
pdmInit = NULL;
|
||||
pUMdhpdev = NULL;
|
||||
// return UserGetDesktopDC(iType, FALSE, TRUE);
|
||||
}
|
||||
|
||||
/* FIXME: HACK! */
|
||||
|
@ -777,7 +788,7 @@ NtGdiOpenDCW(
|
|||
/* If we got a HDC and a UM dhpdev is requested,... */
|
||||
if (hdc && pUMdhpdev)
|
||||
{
|
||||
/* Copy dhpdev to caller (FIXME: use dhpdev?) */
|
||||
/* Copy dhpdev to caller */
|
||||
_SEH2_TRY
|
||||
{
|
||||
/* Pointer was already probed */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue