This looks like ultra-hax. Can you explain why this should be correct? It would mean DrvSetPixelFormat would be passed a SURFACE rather than a SURFOBJ.
jimtabor@svn.reactos.org schrieb:
Author: jimtabor Date: Tue Jun 2 10:50:36 2009 New Revision: 41250
URL: http://svn.reactos.org/svn/reactos?rev=41250&view=rev Log:
- Hax-implement NtGdiSetPixelFormat and add a support function UserGethWnd with some code cleanup.
Modified: [...]
- /*
Based on some rules! InfoDC to DC or, based on wiki information!All pointers, it's a "must be!", (CONTAINING_RECORD +10h = SURFOBJ), thepointer will start at SURFOBJ of the SURFACE structure.- */
pso = (SURFOBJ *)pdc->dclevel.pSurface;if (!pso) pso = pdc->pSurfInfo;if (!pso) pso = ppdev->pSurface;- }
- if (ppdev->flFlags & PDEV_META_DEVICE)
- {
UNIMPLEMENTED;goto Exit;- }
- if (ppdev->DriverFunctions.SetPixelFormat)
- {
Ret = ppdev->DriverFunctions.SetPixelFormat(pso,ipfd,hWnd);- }