[Win32k]
authorJames Tabor <james.tabor@reactos.org>
Sun, 13 Apr 2014 11:41:19 +0000 (11:41 +0000)
committerJames Tabor <james.tabor@reactos.org>
Sun, 13 Apr 2014 11:41:19 +0000 (11:41 +0000)
- Add two more Gdi32 counterparts for Win32k and fix the others.

svn path=/trunk/; revision=62735

reactos/win32ss/gdi/ntgdi/coord.h
reactos/win32ss/gdi/ntgdi/dcutil.c

index 2f3386b..6b80232 100644 (file)
@@ -150,4 +150,5 @@ GreModifyWorldTransform(
 
 VOID FASTCALL IntMirrorWindowOrg(PDC);
 int APIENTRY IntGdiSetMapMode(PDC, int);
-
+BOOL FASTCALL GreLPtoDP(HDC, LPPOINT, INT);
+BOOL FASTCALL GreDPtoLP(HDC, LPPOINT, INT);
index 2fb9cb3..e4a6f40 100644 (file)
@@ -3,40 +3,77 @@
 #define NDEBUG
 #include <debug.h>
 
+BOOL FASTCALL
+GreDPtoLP(HDC hdc, LPPOINT lpPoints, INT nCount)
+{
+   PDC dc;
+   if (!(dc = DC_LockDc(hdc)))
+   {
+      EngSetLastError(ERROR_INVALID_HANDLE);
+      return FALSE;
+   }
+   IntDPtoLP(dc, lpPoints, nCount);
+   DC_UnlockDc(dc);
+   return TRUE;
+}
+
+BOOL FASTCALL
+GreLPtoDP(HDC hdc, LPPOINT lpPoints, INT nCount)
+{
+   PDC dc;
+   if (!(dc = DC_LockDc(hdc)))
+   {
+      EngSetLastError(ERROR_INVALID_HANDLE);
+      return FALSE;
+   }
+   IntLPtoDP(dc, lpPoints, nCount);
+   DC_UnlockDc(dc);
+   return TRUE;
+}
+
 int FASTCALL
 GreGetBkMode(HDC hdc)
 {
    PDC dc;
+   LONG lBkMode;
    if (!(dc = DC_LockDc(hdc)))
    {
       EngSetLastError(ERROR_INVALID_HANDLE);
       return CLR_INVALID;
    }
-   return dc->pdcattr->lBkMode;
+   lBkMode = dc->pdcattr->lBkMode;
+   DC_UnlockDc(dc);
+   return lBkMode;
 }
 
 int FASTCALL
 GreGetMapMode(HDC hdc)
 {
    PDC dc;
+   INT iMapMode;
    if (!(dc = DC_LockDc(hdc)))
    {
       EngSetLastError(ERROR_INVALID_HANDLE);
       return CLR_INVALID;
    }
-   return dc->pdcattr->iMapMode;
+   iMapMode = dc->pdcattr->iMapMode;
+   DC_UnlockDc(dc);
+   return iMapMode;
 }
 
 COLORREF FASTCALL
 GreGetTextColor(HDC hdc)
 {
    PDC dc;
+   ULONG ulForegroundClr;
    if (!(dc = DC_LockDc(hdc)))
    {
       EngSetLastError(ERROR_INVALID_HANDLE);
       return CLR_INVALID;
    }
-   return dc->pdcattr->ulForegroundClr;
+   ulForegroundClr = dc->pdcattr->ulForegroundClr;
+   DC_UnlockDc(dc);
+   return ulForegroundClr;
 }
 
 COLORREF FASTCALL
@@ -153,6 +190,7 @@ IntSetDCBrushColor(HDC hdc, COLORREF crColor)
          dc->pdcattr->crBrushClr = crColor;
       }
    }
+   DC_UnlockDc(dc);
    return OldColor;
 }
 
@@ -175,7 +213,7 @@ IntSetDCPenColor(HDC hdc, COLORREF crColor)
       dc->pdcattr->ulDirty_ |= DIRTY_LINE;
       dc->pdcattr->crPenClr = crColor;
    }
-
+   DC_UnlockDc(dc);
    return OldColor;
 }
 
@@ -199,6 +237,7 @@ GreSetStretchBltMode(HDC hDC, int iStretchMode)
 
        pdcattr->jStretchBltMode = iStretchMode;
     }
+    DC_UnlockDc(pdc);
     return oSMode;
 }