Author: jimtabor Date: Mon Nov 12 04:26:32 2007 New Revision: 30370
URL: http://svn.reactos.org/svn/reactos?rev=30370&view=rev Log: 1st Sort out gdi device mess.
Modified: trunk/reactos/include/reactos/win32k/ntgdihdl.h trunk/reactos/subsystems/win32/win32k/include/dc.h trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c
Modified: trunk/reactos/include/reactos/win32k/ntgdihdl.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntgd... ============================================================================== --- trunk/reactos/include/reactos/win32k/ntgdihdl.h (original) +++ trunk/reactos/include/reactos/win32k/ntgdihdl.h Mon Nov 12 04:26:32 2007 @@ -495,28 +495,34 @@ ULONG lucExcLock; ULONG Tid;
- DHPDEV PDev; + DHPDEV PDev; // Handle GDIDEVICE? INT DC_Type; INT DC_Flags; + PVOID pPDev; // PGDIDEVICE? + FLONG flGraphics; + FLONG flGraphics2; PDC_ATTR pDc_Attr; DC_ATTR Dc_Attr; - HDC hSelf; // Used only for MemoryDC & SaveDC. HDC hNext; - HSURF FillPatternSurfaces[HS_DDI_MAX]; - PGDIINFO GDIInfo; - PDEVINFO DevInfo; - HDEV GDIDevice; - + HDC hPrev; +// Old tymerz! Cant code? So just Haxzorcise it! +// How many pointers to devices do we need? + HSURF FillPatternSurfaces[HS_DDI_MAX]; // In GDIDEVICE + PGDIINFO GDIInfo; // In GDIDEVICE + PDEVINFO DevInfo; // In GDIDEVICE + HDEV GDIDevice; // Should be PDev or pPDev? + DRIVER_FUNCTIONS DriverFunctions; // In GDIDEVICE UNICODE_STRING DriverName; - HANDLE DeviceDriver; + HANDLE DeviceDriver; // ?DHPDEV?
CLIPOBJ *CombinedClip;
XLATEOBJ *XlateBrush; XLATEOBJ *XlatePen;
- INT saveLevel; - BOOL IsIC; + INT saveLevel; // DCLEVEL lSaveDepth + HDC hSelf; // DCLEVEL hdcSave Used only for MemoryDC & SaveDC. + BOOL IsIC; // Use DC_Type
HPALETTE PalIndexed;
@@ -524,13 +530,6 @@
HANDLE hFile; LPENHMETAHEADER emh; - // This belongs in DHPDEV not in DC. 8^( - // So I'm putting it down here with the rest of misfits. - // DRIVER_FUNCTIONS does not belong in DC. It should go PVOID in dpdev. - DRIVER_FUNCTIONS DriverFunctions; - struct _EDD_DIRECTDRAW_GLOBAL * pEDDgpl; - // - } DC, *PDC;
#endif
Modified: trunk/reactos/subsystems/win32/win32k/include/dc.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/inc... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/dc.h (original) +++ trunk/reactos/subsystems/win32/win32k/include/dc.h Mon Nov 12 04:26:32 2007 @@ -56,7 +56,10 @@ UINT SafetyRemoveLevel; /* at what level was the cursor removed? 0 for not removed */ UINT SafetyRemoveCount; -} GDIDEVICE; + + struct _EDD_DIRECTDRAW_GLOBAL * pEDDgpl; + +} GDIDEVICE, *PGDIDEVICE;
/* Internal functions */
Modified: trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntd... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c (original) +++ trunk/reactos/subsystems/win32/win32k/ntddraw/dxeng.c Mon Nov 12 04:26:32 2007 @@ -388,10 +388,13 @@ UNIMPLEMENTED; return 0; case 3: - pEDDgpl = pDC->pEDDgpl; + { +/* PGDIDEVICE GDIDevice = (PGDIDEVICE)pDC->PDev; //This one is right,, we have two.*/ + PGDIDEVICE GDIDevice = (PGDIDEVICE)pDC->GDIDevice; //Until now noone noticed. + pEDDgpl = GDIDevice->pEDDgpl; DC_UnlockDc(pDC); return (DWORD)pEDDgpl; - + } default: UNIMPLEMENTED; break;