more code, from alex patch I got over one year ago, thanks alex for all help and...
authorMagnus Olsen <magnus@greatlord.com>
Mon, 17 Jul 2006 16:27:13 +0000 (16:27 +0000)
committerMagnus Olsen <magnus@greatlord.com>
Mon, 17 Jul 2006 16:27:13 +0000 (16:27 +0000)
and sorry for the mess at moment in the file. it will be pretty large update to this file, for the patch have been lying on my
harddisk for some time.

svn path=/trunk/; revision=23126

reactos/dll/win32/gdi32/misc/gdientry.c

index 5db14fd..9463b30 100644 (file)
@@ -776,38 +776,26 @@ DdCreateSurfaceObject( LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
 }
 
 
-
-/*
- * @unimplemented
- */
-HBITMAP
-STDCALL
-DdCreateDIBSection(HDC hdc,
-                   CONST BITMAPINFO *pbmi,
-                   UINT iUsage,
-                   VOID **ppvBits,
-                   HANDLE hSectionApp,
-                   DWORD dwOffset)
-{
-       SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-       return 0;
-}
-
 /*
  * @implemented
  *
  * GDIEntry 5
  */
 BOOL 
-STDCALL 
+WINAPI 
 DdDeleteSurfaceObject(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal)
 {
-  if (!pSurfaceLocal->hDDSurface)
-  {
-    return FALSE;
-  }
+    BOOL Return = FALSE;
 
-  return NtGdiDdDeleteSurfaceObject((HANDLE)pSurfaceLocal->hDDSurface);
+    /* Make sure there is one */
+    if (pSurfaceLocal->hDDSurface)
+    {
+        /* Delete it */
+        Return = NtGdiDdDeleteSurfaceObject((HANDLE)pSurfaceLocal->hDDSurface);
+        pSurfaceLocal->hDDSurface = 0;
+    }
+
+    return Return;
 }
 
 /*
@@ -816,11 +804,12 @@ DdDeleteSurfaceObject(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal)
  * GDIEntry 6
  */
 BOOL 
-STDCALL 
+WINAPI 
 DdResetVisrgn(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal, 
               HWND hWnd)
 {
- return NtGdiDdResetVisrgn((HANDLE) pSurfaceLocal->hDDSurface, hWnd);
+    /* Call win32k directly */
+    return NtGdiDdResetVisrgn((HANDLE) pSurfaceLocal->hDDSurface, hWnd);
 }
 
 /*
@@ -828,12 +817,13 @@ DdResetVisrgn(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
  *
  * GDIEntry 7
  */
-HDC STDCALL DdGetDC( 
-LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
-LPPALETTEENTRY pColorTable
-)
+HDC
+WINAPI
+DdGetDC(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
+        LPPALETTEENTRY pColorTable)
 {
-       return NtGdiDdGetDC(pColorTable, (HANDLE) pSurfaceLocal->hDDSurface);
+    /* Call win32k directly */
+    return NtGdiDdGetDC(pColorTable, (HANDLE) pSurfaceLocal->hDDSurface);
 }
 
 /*
@@ -841,14 +831,30 @@ LPPALETTEENTRY pColorTable
  *
  * GDIEntry 8
  */
-BOOL STDCALL DdReleaseDC( 
-LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal
-)
+BOOL
+WINAPI
+DdReleaseDC(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal)
 {
- return NtGdiDdReleaseDC((HANDLE) pSurfaceLocal->hDDSurface);
+    /* Call win32k directly */
+    return NtGdiDdReleaseDC((HANDLE) pSurfaceLocal->hDDSurface);
 }
 
-
+/*
+ * @unimplemented
+ * GDIEntry 9
+ */
+HBITMAP
+STDCALL
+DdCreateDIBSection(HDC hdc,
+                   CONST BITMAPINFO *pbmi,
+                   UINT iUsage,
+                   VOID **ppvBits,
+                   HANDLE hSectionApp,
+                   DWORD dwOffset)
+{
+       SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+       return 0;
+}
 
 /*
  * @implemented
@@ -865,6 +871,7 @@ DdReenableDirectDrawObject(LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
                                            pbNewMode);
 } 
 
+
 /*
  * @implemented
  *
@@ -903,12 +910,14 @@ DdAttachSurface( LPDDRAWI_DDRAWSURFACE_LCL pSurfaceFrom,
  *
  * GDIEntry 12
  */
-VOID 
-STDCALL 
+VOID
+STDCALL
 DdUnattachSurface(LPDDRAWI_DDRAWSURFACE_LCL pSurface,
                   LPDDRAWI_DDRAWSURFACE_LCL pSurfaceAttached)
 {
-  NtGdiDdUnattachSurface((HANDLE) pSurface->hDDSurface, (HANDLE) pSurfaceAttached->hDDSurface);        
+    /* Call win32k */
+    NtGdiDdUnattachSurface((HANDLE)pSurface->hDDSurface,
+                           (HANDLE)pSurfaceAttached->hDDSurface);
 }
 
 /*
@@ -965,20 +974,21 @@ DdSetGammaRamp(LPDDRAWI_DIRECTDRAW_LCL pDDraw,
                                hdc,
                                lpGammaRamp);
 }
-
 /*
  * @implemented
  *
  * GDIEntry 16
  */
-DWORD STDCALL DdSwapTextureHandles( 
-LPDDRAWI_DIRECTDRAW_LCL pDDraw,
-LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl1,
-LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl2
-)
-{  
-       return TRUE;
+DWORD
+WINAPI
+DdSwapTextureHandles(LPDDRAWI_DIRECTDRAW_LCL pDDraw,
+                     LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl1,
+                     LPDDRAWI_DDRAWSURFACE_LCL pDDSLcl2)
+{
+    /* Always returns success */
+    return TRUE;
 }
 
 
 
+