diff --git a/reactos/include/reactos/win32k/ntgdihdl.h b/reactos/include/reactos/win32k/ntgdihdl.h index 20e91a4139e..e421a456e38 100644 --- a/reactos/include/reactos/win32k/ntgdihdl.h +++ b/reactos/include/reactos/win32k/ntgdihdl.h @@ -339,15 +339,18 @@ typedef struct tagGdiPath typedef struct _WIN_DC_INFO { - int flags; - HRGN hClipRgn; /* Clip region (may be 0) */ - HRGN hVisRgn; /* Visible region (must never be 0) */ - HRGN hGCClipRgn; /* GC clip region (ClipRgn AND VisRgn) */ + int flags; + + HRGN hClipRgn; /* Clip region (may be 0) */ + HRGN hrgnMeta; /* Meta region (may be 0) */ + HRGN hMetaClipRgn; /* Intersection of meta and clip regions (may be 0) */ + HRGN hVisRgn; /* Should me to DC. Visible region (must never be 0) */ + + HRGN hGCClipRgn; /* GC clip region (ClipRgn AND VisRgn) */ HBITMAP hBitmap; HBITMAP hFirstBitmap; /* Bitmap selected at creation of the DC */ /* #if 0 */ - HANDLE hDevice; HPALETTE hPalette; GdiPath path; @@ -381,12 +384,15 @@ typedef struct _DC FLONG flGraphics; FLONG flGraphics2; PDC_ATTR pDc_Attr; + WIN_DC_INFO w; DC_ATTR Dc_Attr; HDC hNext; HDC hPrev; - + RECTL erclClip; RECTL erclWindow; RECTL erclBounds; + HRGN hprgnAPI; + HRGN hprgnVis; CLIPOBJ *CombinedClip; XLATEOBJ *XlateBrush; @@ -398,7 +404,6 @@ typedef struct _DC HPALETTE PalIndexed; UNICODE_STRING DriverName; - WIN_DC_INFO w; HANDLE hFile; LPENHMETAHEADER emh; diff --git a/reactos/subsystems/win32/win32k/objects/dc.c b/reactos/subsystems/win32/win32k/objects/dc.c index 39939e2f6d8..6609c679ad9 100644 --- a/reactos/subsystems/win32/win32k/objects/dc.c +++ b/reactos/subsystems/win32/win32k/objects/dc.c @@ -1213,9 +1213,6 @@ IntGdiCopyToSaveState(PDC dc, PDC newdc) nDc_Attr->hlfntNew = Dc_Attr->hlfntNew; newdc->w.hBitmap = dc->w.hBitmap; newdc->w.hFirstBitmap = dc->w.hFirstBitmap; -#if 0 - newdc->w.hDevice = dc->w.hDevice; -#endif newdc->PalIndexed = dc->PalIndexed; newdc->w.hPalette = dc->w.hPalette; newdc->w.totalExtent = dc->w.totalExtent; @@ -1287,10 +1284,6 @@ IntGdiCopyFromSaveState(PDC dc, PDC dcs, HDC hDC) dc->w.hFirstBitmap = dcs->w.hFirstBitmap; -#if 0 - dc->w.hDevice = dcs->w.hDevice; -#endif - Dc_Attr->dwLayout = sDc_Attr->dwLayout; dc->w.totalExtent = dcs->w.totalExtent; Dc_Attr->jROP2 = sDc_Attr->jROP2;