Author: fireball
Date: Thu Oct 4 12:47:13 2007
New Revision: 29389
URL:
http://svn.reactos.org/svn/reactos?rev=29389&view=rev
Log:
- Comments, debug prints translation into readable english.
Modified:
trunk/reactos/subsystems/win32/win32k/ntddraw/dd.c
Modified: trunk/reactos/subsystems/win32/win32k/ntddraw/dd.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntddraw/dd.c (original)
+++ trunk/reactos/subsystems/win32/win32k/ntddraw/dd.c Thu Oct 4 12:47:13 2007
@@ -5,7 +5,7 @@
* FILE: subsys/win32k/ntddraw/dd.c
* PROGRAMER: Magnus Olsen (greatlord(a)reactos.org)
* REVISION HISTORY:
- * 19/7-2006 Magnus Olsen
+ * 19/7-2006 Magnus Olsen
*/
#include <w32k.h>
@@ -16,17 +16,16 @@
#define DdHandleTable GdiHandleTable
/*
- DdMapMemory, DdDestroyDriver are not exported as NtGdi Call
- This file is compelete for DD_CALLBACKS setup
-
- ToDO fix the NtGdiDdCreateSurface, shall we fix it
- from GdiEntry or gdientry callbacks for DdCreateSurface
- have we miss some thing there
+ DdMapMemory, DdDestroyDriver are not exported as NtGdi calls
+ This file is complete for DD_CALLBACKS setup
+
+ TODO: Fix the NtGdiDdCreateSurface (something is missing in
+ either GdiEntry or GdiEntry's callback for DdCreateSurface)
*/
/************************************************************************/
/* NtGdiDdCreateSurface */
-/* status : Bugs out */
+/* Status : Bugs out */
/************************************************************************/
DWORD STDCALL NtGdiDdCreateSurface(
@@ -52,12 +51,11 @@
DD_CREATESURFACEDATA CreateSurfaceData;
- /* FIXME alloc so mayne we need */
+ /* FIXME: Alloc as much as needed */
PHANDLE *myhSurface;
- /* GCC4 warnns on value are unisitaed,
- but they are initated in seh
- */
+ /* GCC4 gives warnings about uninitialized
+ values, but they are initialized in SEH */
DPRINT1("NtGdiDdCreateSurface\n");
@@ -79,11 +77,12 @@
return ddRVal;
}
- /* FIXME we only support one surface at moment
- this is a hack to prevent more that one surface being create
- */
+ /* FIXME: There is only support for one surface at the moment.
+ This is a hack to prevent more than one surface creation */
if (CreateSurfaceData.dwSCnt > 1)
{
+ DPRINT1("HACK: Limiting quantity of created surfaces from %d to 1!\n",
+ CreateSurfaceData.dwSCnt);
CreateSurfaceData.dwSCnt = 1;
}
@@ -110,8 +109,7 @@
return ddRVal;
}
- /* see if a surface have been create or not */
-
+ /* Check if a surface has been created */
for (i=0;i<CreateSurfaceData.dwSCnt;i++)
{
if (!myhSurface[i])
@@ -119,21 +117,21 @@
myhSurface[i] = GDIOBJ_AllocObj(DdHandleTable, GDI_OBJECT_TYPE_DD_SURFACE);
if (!myhSurface[i])
{
- /* FIXME lock myhSurface*/
- /* FIXME free myhSurface, and the contain */
- /* add to attach list */
+ /* FIXME: lock myhSurface*/
+ /* FIXME: free myhSurface, and the contain */
+ /* FIXME: add to attach list */
return ddRVal;
}
else
{
- /* FIXME lock myhSurface*/
- /* FIXME add to attach list */
- }
- }
- }
-
- /* FIXME we need continue fix more that one createsurface */
- /* FIXME we need release myhSurface before any exits*/
+ /* FIXME: lock myhSurface*/
+ /* FIXME: add to attach list */
+ }
+ }
+ }
+
+ /* FIXME: more than one surface is not supported here, once again */
+ /* FIXME: we need release myhSurface before any exits */
phsurface = GDIOBJ_LockObj(DdHandleTable, myhSurface[0],
GDI_OBJECT_TYPE_DD_SURFACE);
if (!phsurface)
@@ -247,10 +245,13 @@
}
- /* FIXME unlock phsurface free phsurface at fail*/
- /* FIXME unlock hsurface free phsurface at fail*/
- /* FIXME add support for more that one surface create */
- /* FIXME alloc memory if it more that one surface */
+ /* FIXME: unlock phsurface, free phsurface at failure */
+ /* FIXME: unlock hsurface, free phsurface at failure */
+ /* FIXME: add support for more than one surface create, once more */
+ /* FIXME: alloc memory if it's more than one surface (5th mention
+ that this long function doesn't support more than one
+ surface creation. I guess it was easier to support it
+ than to write such comments 10 times). */
pLocal = &phsurface->Local;
pMore = &phsurface->More;
@@ -267,18 +268,18 @@
pLocal->lpAttachListFrom;
*/
- /* FIXME a countup to next pLocal, pMore, pGlobal */
-
- }
-
- /* setup DD_CREATESURFACEDATA CreateSurfaceData for the driver */
+ /* FIXME: a countup to next pLocal, pMore, pGlobal */
+
+ }
+
+ /* Setup DD_CREATESURFACEDATA CreateSurfaceData for the driver */
CreateSurfaceData.lplpSList = (PDD_SURFACE_LOCAL *) &phsurface->lcllist;
CreateSurfaceData.lpDDSurfaceDesc = &phsurface->desc;
CreateSurfaceData.CreateSurface = NULL;
CreateSurfaceData.ddRVal = DDERR_GENERIC;
CreateSurfaceData.lpDD = &pDirectDraw->Global;
- /* the CreateSurface crash with lcl convering */
+ /* CreateSurface must crash with lcl converting */
if ((pDirectDraw->DD.dwFlags & DDHAL_CB32_CREATESURFACE))
{
DPRINT1("0x%04x",pDirectDraw->DD.CreateSurface);
@@ -288,7 +289,7 @@
DPRINT1("Retun value is %04x and driver return code is
%04x\n",ddRVal,CreateSurfaceData.ddRVal);
- /* FIXME support for more that one surface */
+ /* FIXME: support for more that one surface (once more!!!!) */
_SEH_TRY
{
ProbeForWrite(puSurfaceDescription, sizeof(DDSURFACEDESC), 1);
@@ -364,17 +365,18 @@
}
- /* FIXME fillin the return handler */
+ /* FIXME: Fil the return handler */
DPRINT1("GDIOBJ_UnlockObjByPtr\n");
GDIOBJ_UnlockObjByPtr(DdHandleTable, pDirectDraw);
- DPRINT1("Retun value is %04x and driver return code is
%04x\n",ddRVal,CreateSurfaceData.ddRVal);
+ DPRINT1("Return value is %04x and driver return code is %04x\n",
+ ddRVal, CreateSurfaceData.ddRVal);
return ddRVal;
}
/************************************************************************/
/* NtGdiDdWaitForVerticalBlank */
-/* status : OK working as it should */
+/* status : Works as intended */
/************************************************************************/
@@ -440,7 +442,7 @@
/************************************************************************/
/* CanCreateSurface */
-/* status : OK working as it should */
+/* status : Works as intended */
/************************************************************************/
DWORD STDCALL NtGdiDdCanCreateSurface(
@@ -523,8 +525,8 @@
/************************************************************************/
/* GetScanLine */
-/* status : is now documented in MSDN and I checked the code it works */
-/* like windows 2000 */
+/* status : This func is now documented in MSDN, and now it's compatible*/
+/* with Windows 2000 implementation */
/************************************************************************/
DWORD STDCALL
NtGdiDdGetScanLine( HANDLE hDirectDrawLocal, PDD_GETSCANLINEDATA puGetScanLineData)