- GdiIsPlayMetafileDC: function GdiGetHandleUserData might fail
[reactos.git] / reactos / dll / win32 / gdi32 / misc / stubs.c
index 3d2f844..a826faf 100644 (file)
 #define UNIMPLEMENTED DbgPrint("GDI32: %s is unimplemented, please try again later.\n", __FUNCTION__);
 
 
-/*
- * @unimplemented
- */
-int
-STDCALL
-StretchDIBits(HDC hdc,
-              int XDest,
-              int YDest,
-              int nDestWidth,
-              int nDestHeight,
-              int XSrc,
-              int YSrc,
-              int nSrcWidth,
-              int nSrcHeight,
-              CONST VOID *lpBits,
-              CONST BITMAPINFO *lpBitsInfo,
-              UINT iUsage,
-              DWORD dwRop)
-
-{
-    /* FIXME share memory */
-    return NtGdiStretchDIBitsInternal(hdc, XDest, YDest, nDestWidth, nDestHeight, XSrc, YSrc,
-                              nSrcWidth, nSrcHeight, (LPBYTE)lpBits, (LPBITMAPINFO)lpBitsInfo, (DWORD)iUsage, dwRop, 0, 0, NULL);
-}
-
 /*
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 PtInRegion(IN HRGN hrgn,
            int x,
            int y)
@@ -63,7 +38,7 @@ PtInRegion(IN HRGN hrgn,
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 RectInRegion(HRGN hrgn,
              LPCRECT prcl)
 {
@@ -75,7 +50,7 @@ RectInRegion(HRGN hrgn,
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 RestoreDC(IN HDC hdc,
           IN INT iLevel)
 {
@@ -87,7 +62,7 @@ RestoreDC(IN HDC hdc,
  * @unimplemented
  */
 INT
-STDCALL
+WINAPI
 SaveDC(IN HDC hdc)
 {
     /* FIXME Sharememory */
@@ -100,7 +75,7 @@ SaveDC(IN HDC hdc)
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 CancelDC(HDC hdc)
 {
     UNIMPLEMENTED;
@@ -113,7 +88,7 @@ CancelDC(HDC hdc)
  * @unimplemented
  */
 int
-STDCALL
+WINAPI
 DrawEscape(HDC  hdc,
            int a1,
            int a2,
@@ -129,7 +104,7 @@ DrawEscape(HDC  hdc,
  * @unimplemented
  */
 int
-STDCALL
+WINAPI
 EnumObjects(HDC hdc,
             int a1,
             GOBJENUMPROC a2,
@@ -146,7 +121,7 @@ EnumObjects(HDC hdc,
  * @implemented
  */
 UINT
-STDCALL
+WINAPI
 GetBoundsRect(
        HDC     hdc,
        LPRECT  lprcBounds,
@@ -161,7 +136,7 @@ GetBoundsRect(
  * @unimplemented
  */
 UINT
-STDCALL
+WINAPI
 GetMetaFileBitsEx(
        HMETAFILE       a0,
        UINT            a1,
@@ -173,26 +148,11 @@ GetMetaFileBitsEx(
        return 0;
 }
 
-
-/*
- * @unimplemented
- */
-DWORD
-STDCALL
-GetFontLanguageInfo(
-       HDC     hDc
-       )
-{
-       UNIMPLEMENTED;
-       SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-       return 0;
-}
-
 /*
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 PlayMetaFile(
        HDC             a0,
        HMETAFILE       a1
@@ -207,12 +167,12 @@ PlayMetaFile(
  * @implemented
  */
 UINT
-STDCALL
+WINAPI
 SetBoundsRect(HDC hdc,
               CONST RECT *prc,
               UINT flags)
 {
-    /* FIXME add check for vaildate the flags */
+    /* FIXME add check for validate the flags */
     return NtGdiSetBoundsRect(hdc, (LPRECT)prc, flags);
 }
 
@@ -220,7 +180,7 @@ SetBoundsRect(HDC hdc,
  * @unimplemented
  */
 HMETAFILE
-STDCALL
+WINAPI
 SetMetaFileBitsEx(
        UINT            a0,
        CONST BYTE      *a1
@@ -235,7 +195,7 @@ SetMetaFileBitsEx(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 PlayMetaFileRecord(
        HDC             a0,
        LPHANDLETABLE   a1,
@@ -253,7 +213,7 @@ PlayMetaFileRecord(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 EnumMetaFile(
        HDC                     a0,
        HMETAFILE               a1,
@@ -270,7 +230,7 @@ EnumMetaFile(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 DeleteEnhMetaFile(
        HENHMETAFILE    a0
        )
@@ -284,7 +244,7 @@ DeleteEnhMetaFile(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 EnumEnhMetaFile(
        HDC             a0,
        HENHMETAFILE    a1,
@@ -302,7 +262,7 @@ EnumEnhMetaFile(
  * @unimplemented
  */
 UINT
-STDCALL
+WINAPI
 GetEnhMetaFileBits(
        HENHMETAFILE    a0,
        UINT            a1,
@@ -319,7 +279,7 @@ GetEnhMetaFileBits(
  * @unimplemented
  */
 UINT
-STDCALL
+WINAPI
 GetEnhMetaFileHeader(
        HENHMETAFILE    a0,
        UINT            a1,
@@ -335,7 +295,7 @@ GetEnhMetaFileHeader(
  * @unimplemented
  */
 UINT
-STDCALL
+WINAPI
 GetEnhMetaFilePaletteEntries(
        HENHMETAFILE    a0,
        UINT            a1,
@@ -351,7 +311,7 @@ GetEnhMetaFilePaletteEntries(
  * @unimplemented
  */
 UINT
-STDCALL
+WINAPI
 GetWinMetaFileBits(
        HENHMETAFILE    a0,
        UINT            a1,
@@ -370,7 +330,7 @@ GetWinMetaFileBits(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 PlayEnhMetaFile(
        HDC             a0,
        HENHMETAFILE    a1,
@@ -387,7 +347,7 @@ PlayEnhMetaFile(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 PlayEnhMetaFileRecord(
        HDC                     a0,
        LPHANDLETABLE           a1,
@@ -405,7 +365,7 @@ PlayEnhMetaFileRecord(
  * @unimplemented
  */
 HENHMETAFILE
-STDCALL
+WINAPI
 SetEnhMetaFileBits(
        UINT            a0,
        CONST BYTE      *a1
@@ -421,7 +381,7 @@ SetEnhMetaFileBits(
  * @unimplemented
  */
 HENHMETAFILE
-STDCALL
+WINAPI
 SetWinMetaFileBits(
        UINT                    a0,
        CONST BYTE              *a1,
@@ -438,7 +398,7 @@ SetWinMetaFileBits(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiComment(
        HDC             hDC,
        UINT            bytes,
@@ -468,7 +428,7 @@ GdiComment(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 SetColorAdjustment(
        HDC                     hdc,
        CONST COLORADJUSTMENT   *a1
@@ -483,7 +443,7 @@ SetColorAdjustment(
  * @unimplemented
  */
 int
-STDCALL
+WINAPI
 EndDoc(
        HDC     hdc
        )
@@ -498,7 +458,7 @@ EndDoc(
  * @unimplemented
  */
 int
-STDCALL
+WINAPI
 StartPage(
        HDC     hdc
        )
@@ -513,7 +473,7 @@ StartPage(
  * @unimplemented
  */
 int
-STDCALL
+WINAPI
 EndPage(
        HDC     hdc
        )
@@ -528,7 +488,7 @@ EndPage(
  * @unimplemented
  */
 int
-STDCALL
+WINAPI
 AbortDoc(
        HDC     hdc
        )
@@ -543,7 +503,7 @@ AbortDoc(
  * @unimplemented
  */
 int
-STDCALL
+WINAPI
 SetAbortProc(
        HDC hdc,
        ABORTPROC lpAbortProc)
@@ -557,11 +517,23 @@ SetAbortProc(
  * @implemented
  */
 BOOL
-STDCALL
+WINAPI
 UnrealizeObject(HGDIOBJ  hgdiobj)
 {
     BOOL retValue = TRUE;
+/*
+   Win 2k Graphics API, Black Book. by coriolis.com
+   Page 62, Note that Steps 3, 5, and 6 are not required for Windows NT(tm)
+   and Windows 2000(tm).
 
+   Step 5. UnrealizeObject(hTrackBrush);
+ */
+/*
+    msdn.microsoft.com,
+    "Windows 2000/XP: If hgdiobj is a brush, UnrealizeObject does nothing,
+    and the function returns TRUE. Use SetBrushOrgEx to set the origin of
+    a brush."
+ */
     if (GDI_HANDLE_GET_TYPE(hgdiobj) != GDI_OBJECT_TYPE_BRUSH)
     {
         retValue = NtGdiUnrealizeObject(hgdiobj);
@@ -575,7 +547,7 @@ UnrealizeObject(HGDIOBJ  hgdiobj)
  * @implemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiFlush()
 {
     NtGdiFlush();
@@ -587,7 +559,7 @@ GdiFlush()
  * @unimplemented
  */
 int
-STDCALL
+WINAPI
 SetICMMode(
        HDC     a0,
        int     a1
@@ -603,7 +575,7 @@ SetICMMode(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 CheckColorsInGamut(
        HDC     a0,
        LPVOID  a1,
@@ -621,7 +593,7 @@ CheckColorsInGamut(
  * @implemented
  */
 BOOL
-STDCALL
+WINAPI
 GetDeviceGammaRamp( HDC hdc,
                     LPVOID lpGammaRamp)
 {
@@ -642,7 +614,7 @@ GetDeviceGammaRamp( HDC hdc,
  * @implemented
  */
 BOOL
-STDCALL
+WINAPI
 SetDeviceGammaRamp(HDC hdc,
                    LPVOID lpGammaRamp)
 {
@@ -665,7 +637,7 @@ SetDeviceGammaRamp(HDC hdc,
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 ColorMatchToTarget(
        HDC     a0,
        HDC     a1,
@@ -682,7 +654,7 @@ ColorMatchToTarget(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 wglCopyContext(
        HGLRC   a0,
        HGLRC   a1,
@@ -699,7 +671,7 @@ wglCopyContext(
  * @unimplemented
  */
 HGLRC
-STDCALL
+WINAPI
 wglCreateContext(
        HDC     hDc
        )
@@ -714,7 +686,7 @@ wglCreateContext(
  * @unimplemented
  */
 HGLRC
-STDCALL
+WINAPI
 wglCreateLayerContext(
        HDC     hDc,
        int     a1
@@ -730,7 +702,7 @@ wglCreateLayerContext(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 wglDeleteContext(
        HGLRC   a
        )
@@ -745,7 +717,7 @@ wglDeleteContext(
  * @unimplemented
  */
 HGLRC
-STDCALL
+WINAPI
 wglGetCurrentContext(VOID)
 {
        UNIMPLEMENTED;
@@ -758,7 +730,7 @@ wglGetCurrentContext(VOID)
  * @unimplemented
  */
 HDC
-STDCALL
+WINAPI
 wglGetCurrentDC(VOID)
 {
        UNIMPLEMENTED;
@@ -771,7 +743,7 @@ wglGetCurrentDC(VOID)
  * @unimplemented
  */
 PROC
-STDCALL
+WINAPI
 wglGetProcAddress(
        LPCSTR          a0
        )
@@ -786,7 +758,7 @@ wglGetProcAddress(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 wglMakeCurrent(
        HDC     a0,
        HGLRC   a1
@@ -802,7 +774,7 @@ wglMakeCurrent(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 wglShareLists(
        HGLRC   a0,
        HGLRC   a1
@@ -818,7 +790,7 @@ wglShareLists(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 wglDescribeLayerPlane(
        HDC                     a0,
        int                     a1,
@@ -837,7 +809,7 @@ wglDescribeLayerPlane(
  * @unimplemented
  */
 int
-STDCALL
+WINAPI
 wglSetLayerPaletteEntries(
        HDC             a0,
        int             a1,
@@ -856,7 +828,7 @@ wglSetLayerPaletteEntries(
  * @unimplemented
  */
 int
-STDCALL
+WINAPI
 wglGetLayerPaletteEntries(
        HDC             a0,
        int             a1,
@@ -875,7 +847,7 @@ wglGetLayerPaletteEntries(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 wglRealizeLayerPalette(
        HDC             a0,
        int             a1,
@@ -892,7 +864,7 @@ wglRealizeLayerPalette(
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 wglSwapLayerBuffers(
        HDC             a0,
        UINT            a1
@@ -913,7 +885,7 @@ wglSwapLayerBuffers(
  * @unimplemented
  */
 DWORD
-STDCALL
+WINAPI
 IsValidEnhMetaRecord(
        DWORD   a0,
        DWORD   a1
@@ -929,7 +901,7 @@ IsValidEnhMetaRecord(
  * @unimplemented
  */
 DWORD
-STDCALL
+WINAPI
 IsValidEnhMetaRecordOffExt(
        DWORD   a0,
        DWORD   a1,
@@ -947,7 +919,7 @@ IsValidEnhMetaRecordOffExt(
  * @unimplemented
  */
 DWORD
-STDCALL
+WINAPI
 GetGlyphOutlineWow(
        DWORD   a0,
        DWORD   a1,
@@ -967,7 +939,7 @@ GetGlyphOutlineWow(
  * @unimplemented
  */
 DWORD
-STDCALL
+WINAPI
 gdiPlaySpoolStream(
        DWORD   a0,
        DWORD   a1,
@@ -983,10 +955,10 @@ gdiPlaySpoolStream(
 }
 
 /*
- * @unimplemented
+ * @implemented
  */
 HANDLE
-STDCALL
+WINAPI
 AddFontMemResourceEx(
        PVOID pbFont,
        DWORD cbFont,
@@ -994,16 +966,19 @@ AddFontMemResourceEx(
        DWORD *pcFonts
 )
 {
-       UNIMPLEMENTED;
-       SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-       return 0;
+  if ( pbFont && cbFont && pcFonts)
+  {
+     return NtGdiAddFontMemResourceEx(pbFont, cbFont, NULL, 0, pcFonts);
+  }
+  SetLastError(ERROR_INVALID_PARAMETER);
+  return NULL;
 }
 
 /*
  * @unimplemented
  */
 int
-STDCALL
+WINAPI
 AddFontResourceTracking(
        LPCSTR lpString,
        int unknown
@@ -1020,7 +995,7 @@ AddFontResourceTracking(
  * @unimplemented
  */
 HBITMAP
-STDCALL
+WINAPI
 ClearBitmapAttributes(HBITMAP hbm, DWORD dwFlags)
 {
        UNIMPLEMENTED;
@@ -1032,7 +1007,7 @@ ClearBitmapAttributes(HBITMAP hbm, DWORD dwFlags)
  * @unimplemented
  */
 HBRUSH
-STDCALL
+WINAPI
 ClearBrushAttributes(HBRUSH hbm, DWORD dwFlags)
 {
        UNIMPLEMENTED;
@@ -1044,7 +1019,7 @@ ClearBrushAttributes(HBRUSH hbm, DWORD dwFlags)
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 ColorCorrectPalette(HDC hDC,HPALETTE hPalette,DWORD dwFirstEntry,DWORD dwNumOfEntries)
 {
        UNIMPLEMENTED;
@@ -1056,7 +1031,7 @@ ColorCorrectPalette(HDC hDC,HPALETTE hPalette,DWORD dwFirstEntry,DWORD dwNumOfEn
  * @unimplemented
  */
 int
-STDCALL
+WINAPI
 EndFormPage(HDC hdc)
 {
        UNIMPLEMENTED;
@@ -1068,7 +1043,7 @@ EndFormPage(HDC hdc)
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiArtificialDecrementDriver(LPWSTR pDriverName,BOOL unknown)
 {
        UNIMPLEMENTED;
@@ -1080,7 +1055,7 @@ GdiArtificialDecrementDriver(LPWSTR pDriverName,BOOL unknown)
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiCleanCacheDC(HDC hdc)
 {
        UNIMPLEMENTED;
@@ -1092,7 +1067,7 @@ GdiCleanCacheDC(HDC hdc)
  * @unimplemented
  */
 HDC
-STDCALL
+WINAPI
 GdiConvertAndCheckDC(HDC hdc)
 {
        UNIMPLEMENTED;
@@ -1104,7 +1079,7 @@ GdiConvertAndCheckDC(HDC hdc)
  * @unimplemented
  */
 HENHMETAFILE
-STDCALL
+WINAPI
 GdiConvertEnhMetaFile(HENHMETAFILE hmf)
 {
     UNIMPLEMENTED;
@@ -1116,7 +1091,7 @@ GdiConvertEnhMetaFile(HENHMETAFILE hmf)
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiDrawStream(HDC dc, ULONG l, VOID *v)
 {
     UNIMPLEMENTED;
@@ -1125,46 +1100,76 @@ GdiDrawStream(HDC dc, ULONG l, VOID *v)
 }
 
 /*
- * @unimplemented
+ * @implemented
  */
 BOOL
-STDCALL
-GdiIsMetaFileDC(HDC hdc)
+WINAPI
+GdiIsMetaFileDC(HDC hDC)
 {
-    UNIMPLEMENTED;
-    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-    return 0;
+  if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
+  {
+     if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
+        return TRUE;
+     else
+     {
+        PLDC pLDC = GdiGetLDC(hDC);
+        if ( !pLDC )
+        {
+           SetLastError(ERROR_INVALID_HANDLE);
+           return FALSE;
+        }
+        if ( pLDC->iType == LDC_EMFLDC) return TRUE;
+     }
+  }
+  return FALSE;
 }
 
 /*
- * @unimplemented
+ * @implemented
  */
 BOOL
-STDCALL
-GdiIsMetaPrintDC(HDC hdc)
+WINAPI
+GdiIsMetaPrintDC(HDC hDC)
 {
-    UNIMPLEMENTED;
-    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-    return 0;
+
+  if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
+  {
+     if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
+        return FALSE;
+     else
+     {
+        PLDC pLDC = GdiGetLDC(hDC);
+        if ( !pLDC )
+        {
+           SetLastError(ERROR_INVALID_HANDLE);
+           return FALSE;
+        }
+        if ( pLDC->Flags & LDC_META_PRINT) return TRUE;
+     }
+  }
+  return FALSE;
 }
 
 /*
- * @unimplemented
+ * @implemented
  */
 BOOL
-STDCALL
-GdiIsPlayMetafileDC(HDC hdc)
+WINAPI
+GdiIsPlayMetafileDC(HDC hDC)
 {
-    UNIMPLEMENTED;
-    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-    return 0;
+  PLDC pLDC = GdiGetLDC(hDC);
+  if ( pLDC )
+  {
+     if ( pLDC->Flags & LDC_PLAY_MFDC ) return TRUE;
+  }
+  return FALSE;
 }
 
 /*
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiValidateHandle(HGDIOBJ hobj)
 {
     UNIMPLEMENTED;
@@ -1176,7 +1181,7 @@ GdiValidateHandle(HGDIOBJ hobj)
  * @unimplemented
  */
 DWORD
-STDCALL
+WINAPI
 GetBitmapAttributes(HBITMAP hbm)
 {
     UNIMPLEMENTED;
@@ -1188,7 +1193,7 @@ GetBitmapAttributes(HBITMAP hbm)
  * @unimplemented
  */
 DWORD
-STDCALL
+WINAPI
 GetBrushAttributes(HBRUSH hbr)
 {
     UNIMPLEMENTED;
@@ -1200,7 +1205,7 @@ GetBrushAttributes(HBRUSH hbr)
  * @implemented
  */
 ULONG
-STDCALL
+WINAPI
 GetEUDCTimeStamp(VOID)
 {
     return NtGdiGetEudcTimeStampEx(NULL,0,TRUE);
@@ -1210,7 +1215,7 @@ GetEUDCTimeStamp(VOID)
  * @implemented
  */
 ULONG
-STDCALL
+WINAPI
 GetFontAssocStatus(HDC hdc)
 {
     ULONG retValue = 0;
@@ -1227,7 +1232,7 @@ GetFontAssocStatus(HDC hdc)
  * @implemented
  */
 BOOL
-STDCALL
+WINAPI
 GetTextExtentExPointWPri(HDC hdc,
                          LPWSTR lpwsz,
                          ULONG cwc,
@@ -1243,7 +1248,7 @@ GetTextExtentExPointWPri(HDC hdc,
  * @unimplemented
  */
 DWORD
-STDCALL
+WINAPI
 QueryFontAssocStatus(VOID)
 {
     UNIMPLEMENTED;
@@ -1255,27 +1260,22 @@ QueryFontAssocStatus(VOID)
  * @implemented
  */
 BOOL
-STDCALL
+WINAPI
 RemoveFontMemResourceEx(HANDLE fh)
 {
-    BOOL retValue=0;
-
-    if (fh)
-    {
-        retValue = NtGdiRemoveFontMemResourceEx(fh);
-    }
-    else
-    {
-        SetLastError(ERROR_INVALID_PARAMETER);
-    }
-    return retValue;
+  if (fh)
+  {
+     return NtGdiRemoveFontMemResourceEx(fh);
+  }
+  SetLastError(ERROR_INVALID_PARAMETER);
+  return FALSE;
 }
 
 /*
  * @unimplemented
  */
 int
-STDCALL
+WINAPI
 RemoveFontResourceTracking(LPCSTR lpString,int unknown)
 {
        UNIMPLEMENTED;
@@ -1287,7 +1287,7 @@ RemoveFontResourceTracking(LPCSTR lpString,int unknown)
  * @unimplemented
  */
 HBITMAP
-STDCALL
+WINAPI
 SetBitmapAttributes(HBITMAP hbm, DWORD dwFlags)
 {
        UNIMPLEMENTED;
@@ -1299,7 +1299,7 @@ SetBitmapAttributes(HBITMAP hbm, DWORD dwFlags)
  * @unimplemented
  */
 HBRUSH
-STDCALL
+WINAPI
 SetBrushAttributes(HBRUSH hbm, DWORD dwFlags)
 {
        UNIMPLEMENTED;
@@ -1311,7 +1311,7 @@ SetBrushAttributes(HBRUSH hbm, DWORD dwFlags)
  * @implemented
  */
 int
-STDCALL
+WINAPI
 StartFormPage(HDC hdc)
 {
     return StartPage(hdc);
@@ -1321,7 +1321,7 @@ StartFormPage(HDC hdc)
  * @unimplemented
  */
 VOID
-STDCALL
+WINAPI
 UnloadNetworkFonts(DWORD unknown)
 {
     UNIMPLEMENTED;
@@ -1332,7 +1332,7 @@ UnloadNetworkFonts(DWORD unknown)
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiRealizationInfo(HDC hdc,
                    PREALIZATION_INFO pri)
 {
@@ -1344,7 +1344,7 @@ GdiRealizationInfo(HDC hdc,
  * @implemented
  */
 BOOL
-STDCALL
+WINAPI
 GetETM(HDC hdc,
        EXTTEXTMETRIC *petm)
 {
@@ -1360,7 +1360,7 @@ GetETM(HDC hdc,
  * @unimplemented
  */
 int
-STDCALL
+WINAPI
 Escape(HDC hdc, INT nEscape, INT cbInput, LPCSTR lpvInData, LPVOID lpvOutData)
 {
     int retValue = SP_ERROR;    
@@ -1546,7 +1546,7 @@ Escape(HDC hdc, INT nEscape, INT cbInput, LPCSTR lpvInData, LPVOID lpvOutData)
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiAddGlsRecord(HDC hdc,
                 DWORD unknown1,
                 LPCSTR unknown2,
@@ -1561,7 +1561,7 @@ GdiAddGlsRecord(HDC hdc,
  * @unimplemented
  */
 HANDLE
-STDCALL
+WINAPI
 GdiConvertMetaFilePict(HGLOBAL hMem)
 {
     UNIMPLEMENTED;
@@ -1573,7 +1573,7 @@ GdiConvertMetaFilePict(HGLOBAL hMem)
  * @implemented
  */
 DEVMODEW *
-STDCALL
+WINAPI
 GdiConvertToDevmodeW(DEVMODEA *dmA)
 {
     DEVMODEW *dmW;
@@ -1620,7 +1620,7 @@ GdiConvertToDevmodeW(DEVMODEA *dmA)
  * @unimplemented
  */
 HENHMETAFILE
-STDCALL
+WINAPI
 GdiCreateLocalEnhMetaFile(HENHMETAFILE hmo)
 {
     UNIMPLEMENTED;
@@ -1632,7 +1632,7 @@ GdiCreateLocalEnhMetaFile(HENHMETAFILE hmo)
  * @unimplemented
  */
 METAFILEPICT *
-STDCALL
+WINAPI
 GdiCreateLocalMetaFilePict(HENHMETAFILE hmo)
 {
     UNIMPLEMENTED;
@@ -1645,7 +1645,7 @@ GdiCreateLocalMetaFilePict(HENHMETAFILE hmo)
  * @unimplemented
  */
 HANDLE
-STDCALL
+WINAPI
 GdiGetSpoolFileHandle(LPWSTR pwszPrinterName,
                       LPDEVMODEW pDevmode,
                       LPWSTR pwszDocName)
@@ -1659,7 +1659,7 @@ GdiGetSpoolFileHandle(LPWSTR pwszPrinterName,
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiDeleteSpoolFileHandle(HANDLE SpoolFileHandle)
 {
     UNIMPLEMENTED;
@@ -1671,7 +1671,7 @@ GdiDeleteSpoolFileHandle(HANDLE SpoolFileHandle)
  * @unimplemented
  */
 DWORD
-STDCALL
+WINAPI
 GdiGetPageCount(HANDLE SpoolFileHandle)
 {
     UNIMPLEMENTED;
@@ -1683,7 +1683,7 @@ GdiGetPageCount(HANDLE SpoolFileHandle)
  * @unimplemented
  */
 HDC
-STDCALL
+WINAPI
 GdiGetDC(HANDLE SpoolFileHandle)
 {
     UNIMPLEMENTED;
@@ -1695,7 +1695,7 @@ GdiGetDC(HANDLE SpoolFileHandle)
  * @unimplemented
  */
 HANDLE
-STDCALL
+WINAPI
 GdiGetPageHandle(HANDLE SpoolFileHandle,
                  DWORD Page,
                  LPDWORD pdwPageType)
@@ -1709,7 +1709,7 @@ GdiGetPageHandle(HANDLE SpoolFileHandle,
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiStartDocEMF(HANDLE SpoolFileHandle,
                DOCINFOW *pDocInfo)
 {
@@ -1722,7 +1722,7 @@ GdiStartDocEMF(HANDLE SpoolFileHandle,
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiStartPageEMF(HANDLE SpoolFileHandle)
 {
     UNIMPLEMENTED;
@@ -1734,7 +1734,7 @@ GdiStartPageEMF(HANDLE SpoolFileHandle)
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiPlayPageEMF(HANDLE SpoolFileHandle,
                HANDLE hemf,
                RECT *prectDocument,
@@ -1750,7 +1750,7 @@ GdiPlayPageEMF(HANDLE SpoolFileHandle,
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiEndPageEMF(HANDLE SpoolFileHandle,
               DWORD dwOptimization)
 {
@@ -1763,7 +1763,7 @@ GdiEndPageEMF(HANDLE SpoolFileHandle,
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiEndDocEMF(HANDLE SpoolFileHandle)
 {
     UNIMPLEMENTED;
@@ -1775,7 +1775,7 @@ GdiEndDocEMF(HANDLE SpoolFileHandle)
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiGetDevmodeForPage(HANDLE SpoolFileHandle,
                      DWORD dwPageNumber,
                      PDEVMODEW *pCurrDM,
@@ -1790,7 +1790,7 @@ GdiGetDevmodeForPage(HANDLE SpoolFileHandle,
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiResetDCEMF(HANDLE SpoolFileHandle,
               PDEVMODEW pCurrDM)
 {
@@ -1804,7 +1804,7 @@ GdiResetDCEMF(HANDLE SpoolFileHandle,
  * @unimplemented
  */
 INT
-STDCALL
+WINAPI
 CombineRgn(HRGN  hDest,
            HRGN  hSrc1,
            HRGN  hSrc2,
@@ -1817,29 +1817,7 @@ CombineRgn(HRGN  hDest,
 /*
  * @unimplemented
  */
-HBITMAP STDCALL
-CreateBitmap(INT  Width,
-             INT  Height,
-             UINT  Planes,
-             UINT  BitsPixel,
-             PCVOID pUnsafeBits)
-{
-    /* FIXME some part should be done in user mode */
-    if (Width && Height)
-    {
-        return NtGdiCreateBitmap(Width, Height, Planes, BitsPixel, (LPBYTE) pUnsafeBits);
-    }
-    else
-    {
-        /* Return 1x1 bitmap */
-        return GetStockObject(DEFAULT_BITMAP);
-    }
-}
-
-/*
- * @unimplemented
- */
-ULONG STDCALL
+ULONG WINAPI
 XLATEOBJ_iXlate(XLATEOBJ *XlateObj,
                 ULONG Color)
 {
@@ -1852,7 +1830,7 @@ XLATEOBJ_iXlate(XLATEOBJ *XlateObj,
  * @unimplemented
  */
 ULONG *
-STDCALL
+WINAPI
 XLATEOBJ_piVector(XLATEOBJ *XlateObj)
 {
     return XlateObj->pulXlate;
@@ -1862,7 +1840,7 @@ XLATEOBJ_piVector(XLATEOBJ *XlateObj)
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiPlayEMF(LPWSTR pwszPrinterName,
            LPDEVMODEW pDevmode,
            LPWSTR pwszDocName,
@@ -1881,7 +1859,7 @@ GdiPlayEMF(LPWSTR pwszPrinterName,
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiPlayPrivatePageEMF(HANDLE SpoolFileHandle,
                       DWORD unknown,
                       RECT *prectDocument)
@@ -1894,7 +1872,7 @@ GdiPlayPrivatePageEMF(HANDLE SpoolFileHandle,
 /*
  * @unimplemented
  */
-VOID STDCALL GdiInitializeLanguagePack(DWORD InitParam)
+VOID WINAPI GdiInitializeLanguagePack(DWORD InitParam)
 {
     UNIMPLEMENTED;
     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
@@ -1905,7 +1883,7 @@ VOID STDCALL GdiInitializeLanguagePack(DWORD InitParam)
  * @implemented
  */
 INT
-STDCALL
+WINAPI
 ExcludeClipRect(IN HDC hdc, IN INT xLeft, IN INT yTop, IN INT xRight, IN INT yBottom)
 {
     /* FIXME some part need be done on user mode size */
@@ -1916,7 +1894,7 @@ ExcludeClipRect(IN HDC hdc, IN INT xLeft, IN INT yTop, IN INT xRight, IN INT yBo
  * @implemented
  */
 INT
-STDCALL
+WINAPI
 ExtSelectClipRgn( IN HDC hdc, IN HRGN hrgn, IN INT iMode)
 {
     /* FIXME some part need be done on user mode size */
@@ -1927,7 +1905,7 @@ ExtSelectClipRgn( IN HDC hdc, IN HRGN hrgn, IN INT iMode)
  * @implemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiGradientFill(
     IN HDC hdc,
     IN PTRIVERTEX pVertex,
@@ -1945,7 +1923,7 @@ GdiGradientFill(
  * @implemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiTransparentBlt(IN HDC hdcDst,
                   IN INT xDst,
                   IN INT yDst,
@@ -1967,7 +1945,7 @@ GdiTransparentBlt(IN HDC hdcDst,
  * @unimplemented
  */
 BOOL
-STDCALL
+WINAPI
 GdiPrinterThunk(
     IN HUMPD humpd,
     DWORD *status,
@@ -1986,7 +1964,7 @@ GdiPrinterThunk(
  *
  */
 HBITMAP
-STDCALL
+WINAPI
 GdiConvertBitmapV5(
     HBITMAP in_format_BitMap,
     HBITMAP src_BitMap,
@@ -2009,7 +1987,7 @@ GdiConvertBitmapV5(
  *
  */
 int
-STDCALL
+WINAPI
 GetClipBox(HDC hdc,
            LPRECT lprc)
 {
@@ -2021,7 +1999,7 @@ GetClipBox(HDC hdc,
  *
  */
 DWORD
-STDCALL
+WINAPI
 GetFontData(HDC hdc,
             DWORD dwTable,
             DWORD dwOffset,
@@ -2041,7 +2019,7 @@ GetFontData(HDC hdc,
  *
  */
 DWORD
-STDCALL
+WINAPI
 GetRegionData(HRGN hrgn,
               DWORD nCount,
               LPRGNDATA lpRgnData)
@@ -2060,7 +2038,7 @@ GetRegionData(HRGN hrgn,
  *
  */
 INT
-STDCALL
+WINAPI
 GetRgnBox(HRGN hrgn,
           LPRECT prcOut)
 {
@@ -2091,7 +2069,7 @@ GetRgnBox(HRGN hrgn,
  *
  */
 INT
-STDCALL
+WINAPI
 OffsetRgn( HRGN hrgn,
           int nXOffset,
           int nYOffset)
@@ -2104,7 +2082,7 @@ OffsetRgn( HRGN hrgn,
  * @implemented
  */
 INT
-STDCALL
+WINAPI
 IntersectClipRect(HDC hdc,
                   int nLeftRect,
                   int nTopRect,
@@ -2138,7 +2116,7 @@ IntersectClipRect(HDC hdc,
  * @implemented
  */
 INT
-STDCALL
+WINAPI
 OffsetClipRgn(HDC hdc,
               int nXOffset,
               int nYOffset)
@@ -2168,7 +2146,7 @@ OffsetClipRgn(HDC hdc,
 
 
 INT
-STDCALL
+WINAPI
 NamedEscape(HDC hdc,
             PWCHAR pDriver,
             INT iEsc,
@@ -2192,7 +2170,7 @@ NamedEscape(HDC hdc,
 
 /* FIXME wrong protypes, it is a fastcall api */
 DWORD
-STDCALL
+WINAPI
 cGetTTFFromFOT(DWORD x1 ,DWORD x2 ,DWORD x3, DWORD x4, DWORD x5, DWORD x6, DWORD x7)
 {
     UNIMPLEMENTED;