better stub for EnumFonts (fixed license agreement in ClamWin installer)
[reactos.git] / reactos / lib / gdi32 / misc / stubsa.c
index 106bb36..067c353 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: stubsa.c,v 1.27 2004/01/24 08:23:12 ekohl Exp $
+/* $Id$
  *
  * reactos/lib/gdi32/misc/stubs.c
  *
  * remove its stub from this file.
  *
  */
-#ifdef UNICODE
-#undef UNICODE
-#endif
-
-#undef WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <ddk/ntddk.h>
-#include <win32k/text.h>
-#include <win32k/dc.h>
-#include <rosrtl/devmode.h>
-#include <rosrtl/logfont.h>
-#include <internal/heap.h>
 
-/*
- * @implemented
- */
-int
-STDCALL
-AddFontResourceExA ( LPCSTR lpszFilename, DWORD fl, PVOID pvReserved )
-{
-  NTSTATUS Status;
-  PWSTR FilenameW;
-  int rc = 0;
-
-  Status = HEAP_strdupA2W ( &FilenameW, lpszFilename );
-  if ( !NT_SUCCESS (Status) )
-    SetLastError (RtlNtStatusToDosError(Status));
-  else
-    {
-      rc = AddFontResourceExW ( FilenameW, fl, pvReserved );
-
-      HEAP_free ( &FilenameW );
-    }
-  return rc;
-}
+#include "precomp.h"
 
-/*
- * @implemented
- */
-int
-STDCALL
-AddFontResourceA ( LPCSTR lpszFilename )
-{
-  return AddFontResourceExA ( lpszFilename, 0, 0 );
-}
-
-
-/*
- * @implemented
- */
-HDC
-STDCALL
-CreateICA(
-       LPCSTR                  lpszDriver,
-       LPCSTR                  lpszDevice,
-       LPCSTR                  lpszOutput,
-       CONST DEVMODEA *        lpdvmInit
-       )
-{
-  NTSTATUS Status;
-  LPWSTR lpszDriverW, lpszDeviceW, lpszOutputW;
-  UNICODE_STRING Driver, Device, Output;
-  DEVMODEW dvmInitW;
-  HDC rc = 0;
-
-  Status = HEAP_strdupA2W ( &lpszDriverW, lpszDriver );
-  if (!NT_SUCCESS (Status))
-    SetLastError (RtlNtStatusToDosError(Status));
-  else
-  {
-    Status = HEAP_strdupA2W ( &lpszDeviceW, lpszDevice );
-    if (!NT_SUCCESS (Status))
-      SetLastError (RtlNtStatusToDosError(Status));
-    else
-      {
-       Status = HEAP_strdupA2W ( &lpszOutputW, lpszOutput );
-       if (!NT_SUCCESS (Status))
-         SetLastError (RtlNtStatusToDosError(Status));
-       else
-         {
-           if ( lpdvmInit )
-             RosRtlDevModeA2W ( &dvmInitW, (const LPDEVMODEA)lpdvmInit );
-        
-        RtlInitUnicodeString(&Driver, lpszDriverW);
-        RtlInitUnicodeString(&Device, lpszDeviceW);
-        RtlInitUnicodeString(&Output, lpszOutputW);
-           rc = NtGdiCreateIC ( &Driver,
-                               &Device,
-                               &Output,
-                               lpdvmInit ? &dvmInitW : NULL );
-
-           HEAP_free ( lpszOutputW );
-         }
-       HEAP_free ( lpszDeviceW );
-      }
-    HEAP_free ( lpszDriverW );
-  }
-  return rc;
-}
-
-
-/*
- * @implemented
- */
-BOOL
-STDCALL
-CreateScalableFontResourceA(
-       DWORD           fdwHidden,
-       LPCSTR          lpszFontRes,
-       LPCSTR          lpszFontFile,
-       LPCSTR          lpszCurrentPath
-       )
-{
-  NTSTATUS Status;
-  LPWSTR lpszFontResW, lpszFontFileW, lpszCurrentPathW;
-  BOOL rc = FALSE;
-
-  Status = HEAP_strdupA2W ( &lpszFontResW, lpszFontRes );
-  if (!NT_SUCCESS (Status))
-    SetLastError (RtlNtStatusToDosError(Status));
-  else
-    {
-      Status = HEAP_strdupA2W ( &lpszFontFileW, lpszFontFile );
-      if (!NT_SUCCESS (Status))
-       SetLastError (RtlNtStatusToDosError(Status));
-      else
-       {
-         Status = HEAP_strdupA2W ( &lpszCurrentPathW, lpszCurrentPath );
-         if (!NT_SUCCESS (Status))
-           SetLastError (RtlNtStatusToDosError(Status));
-         else
-           {
-             rc = NtGdiCreateScalableFontResource ( fdwHidden,
-                                                   lpszFontResW,
-                                                   lpszFontFileW,
-                                                   lpszCurrentPathW );
-
-             HEAP_free ( lpszCurrentPathW );
-           }
-
-         HEAP_free ( lpszFontFileW );
-       }
-
-      HEAP_free ( lpszFontResW );
-    }
-  return rc;
-}
+#define UNIMPLEMENTED DbgPrint("GDI32: %s is unimplemented, please try again later.\n", __FUNCTION__);
 
 
 /*
@@ -170,208 +27,11 @@ DeviceCapabilitiesExA(
        CONST DEVMODEA  *pDevMode
        )
 {
+  UNIMPLEMENTED;
   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
   return 0;
 }
 
-
-/*
- * @unimplemented
- */
-int
-STDCALL
-EnumFontFamiliesExA (
-       HDC             hdc,
-       LPLOGFONTA      lpLogFont,
-       FONTENUMEXPROCA lpEnumFontFamProc,
-       LPARAM          lParam,
-       DWORD           dwFlags
-       )
-{
-  SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-  return 0;
-#if 0
-  LOGFONTW LogFontW;
-
-  RosRtlLogFontA2W ( &LogFontW, lpLogFont );
-
-  /* no need to convert LogFontW back to lpLogFont b/c it's an [in] parameter only */
-  return NtGdiEnumFontFamiliesEx ( hdc, &LogFontW, lpEnumFontFamProc, lParam, dwFlags );
-#endif
-}
-
-
-/*
- * @unimplemented
- */
-int
-STDCALL
-EnumFontFamiliesA(
-       HDC             hdc,
-       LPCSTR          lpszFamily,
-       FONTENUMPROCA   lpEnumFontFamProc,
-       LPARAM          lParam
-       )
-{
-  SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-  return 0;
-#if 0
-  NTSTATUS Status;
-  LPWSTR lpszFamilyW;
-  int rc = 0;
-
-  Status = HEAP_strdupA2W ( &lpszFamilyW, lpszFamily );
-  if (!NT_SUCCESS (Status))
-    SetLastError (RtlNtStatusToDosError(Status));
-  else
-    {
-      rc = NtGdiEnumFontFamilies ( hdc, lpszFamilyW, lpEnumFontFamProc, lParam );
-
-      HEAP_free ( lpszFamilyW );
-    }
-
-  return rc;
-#endif
-}
-
-
-/*
- * @implemented
- */
-int
-STDCALL
-EnumFontsA (
-       HDC  hDC,
-       LPCSTR lpFaceName,
-       FONTENUMPROCA  FontFunc,
-       LPARAM  lParam
-       )
-{
-  SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-  return 0;
-#if 0
-  NTSTATUS Status;
-  LPWSTR lpFaceNameW;
-  int rc = 0;
-
-  Status = HEAP_strdupA2W ( &lpFaceNameW, lpFaceName );
-  if (!NT_SUCCESS (Status))
-    SetLastError (RtlNtStatusToDosError(Status));
-  else
-    {
-      rc = NtGdiEnumFonts ( hDC, lpFaceNameW, FontFunc, lParam );
-
-      HEAP_free ( lpFaceNameW );
-    }
-  return rc;
-#endif
-}
-
-
-/*
- * @unimplemented
- */
-BOOL
-STDCALL
-GetCharWidthA (
-       HDC     hdc,
-       UINT    iFirstChar,
-       UINT    iLastChar,
-       LPINT   lpBuffer
-       )
-{
-  /* FIXME what to do with iFirstChar and iLastChar ??? */
-  return NtGdiGetCharWidth ( hdc, iFirstChar, iLastChar, lpBuffer );
-}
-
-
-/*
- * @unimplemented
- */
-BOOL
-STDCALL
-GetCharWidth32A(
-       HDC     hdc,
-       UINT    iFirstChar,
-       UINT    iLastChar,
-       LPINT   lpBuffer
-       )
-{
-  /* FIXME what to do with iFirstChar and iLastChar ??? */
-  return NtGdiGetCharWidth32 ( hdc, iFirstChar, iLastChar, lpBuffer );
-}
-
-
-/*
- * @unimplemented
- */
-BOOL
-APIENTRY
-GetCharWidthFloatA(
-       HDC     hdc,
-       UINT    iFirstChar,
-       UINT    iLastChar,
-       PFLOAT  pxBuffer
-       )
-{
-  /* FIXME what to do with iFirstChar and iLastChar ??? */
-  return NtGdiGetCharWidthFloat ( hdc, iFirstChar, iLastChar, pxBuffer );
-}
-
-
-/*
- * @unimplemented
- */
-BOOL
-APIENTRY
-GetCharABCWidthsA(
-       HDC     hdc,
-       UINT    uFirstChar,
-       UINT    uLastChar,
-       LPABC   lpabc
-       )
-{
-  /* FIXME what to do with uFirstChar and uLastChar ??? */
-  return NtGdiGetCharABCWidths ( hdc, uFirstChar, uLastChar, lpabc );
-}
-
-
-/*
- * @unimplemented
- */
-BOOL
-APIENTRY
-GetCharABCWidthsFloatA(
-       HDC             hdc,
-       UINT            iFirstChar,
-       UINT            iLastChar,
-       LPABCFLOAT      lpABCF
-       )
-{
-  /* FIXME what to do with iFirstChar and iLastChar ??? */
-  return NtGdiGetCharABCWidthsFloat ( hdc, iFirstChar, iLastChar, lpABCF );
-}
-
-
-/*
- * @implemented
- */
-DWORD
-STDCALL
-GetGlyphOutlineA(
-       HDC             hdc,
-       UINT            uChar,
-       UINT            uFormat,
-       LPGLYPHMETRICS  lpgm,
-       DWORD           cbBuffer,
-       LPVOID          lpvBuffer,
-       CONST MAT2      *lpmat2
-       )
-{
-  return NtGdiGetGlyphOutline ( hdc, uChar, uFormat, lpgm, cbBuffer, lpvBuffer, (CONST LPMAT2)lpmat2 );
-}
-
-
 /*
  * @unimplemented
  */
@@ -383,45 +43,12 @@ GetOutlineTextMetricsA(
        LPOUTLINETEXTMETRICA    lpOTM
        )
 {
+  UNIMPLEMENTED;
   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
   return 0;
 }
 
 
-/*
- * @implemented
- */
-BOOL
-APIENTRY
-GetTextExtentExPointA(
-       HDC             hdc,
-       LPCSTR          lpszStr,
-       int             cchString,
-       int             nMaxExtent,
-       LPINT           lpnFit,
-       LPINT           alpDx,
-       LPSIZE          lpSize
-       )
-{
-  NTSTATUS Status;
-  LPWSTR lpszStrW;
-  BOOL rc = 0;
-
-  Status = HEAP_strdupA2W ( &lpszStrW, lpszStr );
-  if (!NT_SUCCESS (Status))
-    SetLastError (RtlNtStatusToDosError(Status));
-  else
-  {
-    rc = NtGdiGetTextExtentExPoint (
-      hdc, lpszStrW, cchString, nMaxExtent, lpnFit, alpDx, lpSize );
-
-    HEAP_free ( lpszStrW );
-  }
-
-  return rc;
-}
-
-
 /*
  * @unimplemented
  */
@@ -436,56 +63,12 @@ GetCharacterPlacementA(
        DWORD           a5
        )
 {
+       UNIMPLEMENTED;
        SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
        return 0;
 }
 
 
-/*
- * @implemented
- */
-HDC
-STDCALL
-ResetDCA(
-       HDC             hdc,
-       CONST DEVMODEA  *lpInitData
-       )
-{
-  DEVMODEW InitDataW;
-
-  RosRtlDevModeA2W ( &InitDataW, (CONST LPDEVMODEA)lpInitData );
-
-  return NtGdiResetDC ( hdc, &InitDataW );
-}
-
-
-/*
- * @implemented
- */
-BOOL
-STDCALL
-RemoveFontResourceA(
-       LPCSTR  lpFileName
-       )
-{
-  NTSTATUS Status;
-  LPWSTR lpFileNameW;
-  BOOL rc = 0;
-
-  Status = HEAP_strdupA2W ( &lpFileNameW, lpFileName );
-  if (!NT_SUCCESS (Status))
-    SetLastError (RtlNtStatusToDosError(Status));
-  else
-    {
-      rc = NtGdiRemoveFontResource ( lpFileNameW );
-
-      HEAP_free ( lpFileNameW );
-    }
-
-  return rc;
-}
-
-
 /*
  * @unimplemented
  */
@@ -496,26 +79,12 @@ StartDocA(
        CONST DOCINFOA  *a1
        )
 {
+       UNIMPLEMENTED;
        SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
        return 0;
 }
 
 
-/*
- * @unimplemented
- */
-int   
-STDCALL 
-GetObjectA(
-       HGDIOBJ         a0, 
-       int             a1, 
-       LPVOID          a2
-       )
-{
-       return NtGdiGetObject ( a0, a1, a2 );
-}
-
-
 /*
  * @unimplemented
  */
@@ -527,22 +96,7 @@ PolyTextOutA(
        int                     a2
        )
 {
-       SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-       return FALSE;
-}
-
-
-/*
- * @unimplemented
- */
-int
-STDCALL
-GetTextFaceA(
-       HDC     a0,
-       int     a1,
-       LPSTR   a2
-       )
-{
+       UNIMPLEMENTED;
        SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
        return FALSE;
 }
@@ -559,6 +113,7 @@ GetKerningPairsA(
        LPKERNINGPAIR   a2
        )
 {
+       UNIMPLEMENTED;
        SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
        return 0;
 }
@@ -575,6 +130,7 @@ GetLogColorSpaceA(
        DWORD                   a2
        )
 {
+       UNIMPLEMENTED;
        SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
        return FALSE;
 }
@@ -589,6 +145,7 @@ CreateColorSpaceA(
        LPLOGCOLORSPACEA        a0
        )
 {
+       UNIMPLEMENTED;
        SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
        return 0;
 }
@@ -605,6 +162,7 @@ GetICMProfileA(
        LPSTR           a2
        )
 {
+       UNIMPLEMENTED;
        SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
        return FALSE;
 }
@@ -620,6 +178,7 @@ SetICMProfileA(
        LPSTR   a1
        )
 {
+       UNIMPLEMENTED;
        SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
        return FALSE;
 }
@@ -646,6 +205,7 @@ EnumICMProfilesA(
    * until we run out of strings or the user returns FALSE
    */
 
+  UNIMPLEMENTED;
   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
   return 0;
 }
@@ -663,6 +223,7 @@ wglUseFontBitmapsA(
        DWORD           a3
        )
 {
+       UNIMPLEMENTED;
        SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
        return FALSE;
 }
@@ -684,6 +245,7 @@ wglUseFontOutlinesA(
        LPGLYPHMETRICSFLOAT     a7
        )
 {
+       UNIMPLEMENTED;
        SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
        return FALSE;
 }
@@ -701,9 +263,70 @@ UpdateICMRegKeyA(
        UINT    a3
        )
 {
+       UNIMPLEMENTED;
        SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
        return FALSE;
 }
 
 
+/*
+ * @unimplemented
+ */
+BOOL
+STDCALL
+RemoveFontResourceExA(
+       LPCSTR lpFileName,
+       DWORD fl,
+       PVOID pdv
+)
+{
+       UNIMPLEMENTED;
+       SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+       return 0;
+}
+
+
+/*
+ * @unimplemented
+ */
+HFONT
+STDCALL
+CreateFontIndirectExA(const ENUMLOGFONTEXDVA *elfexd)
+{
+       UNIMPLEMENTED;
+       SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+       return 0;
+}
+
+/*
+ * @unimplemented
+ */
+DWORD
+STDCALL
+GetGlyphIndicesA(
+       HDC hdc,
+       LPCSTR lpstr,
+       int c,
+       LPWORD pgi,
+       DWORD fl
+)
+{
+       UNIMPLEMENTED;
+       SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+       return 0;
+}
+
+/*
+ * @unimplemented
+ */
+UINT
+STDCALL
+GetStringBitmapA(HDC hdc,LPSTR psz,BOOL unknown,UINT cj,BYTE *lpSB)
+{
+       UNIMPLEMENTED;
+       SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+       return 0;
+}
+
+
 /* EOF */