-/* $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__);
/*
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
*/
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
*/
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
*/
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
*/
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;
}
LPKERNINGPAIR a2
)
{
+ UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
DWORD a2
)
{
+ UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
LPLOGCOLORSPACEA a0
)
{
+ UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
LPSTR a2
)
{
+ UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
LPSTR a1
)
{
+ UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
* until we run out of strings or the user returns FALSE
*/
+ UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
DWORD a3
)
{
+ UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
LPGLYPHMETRICSFLOAT a7
)
{
+ UNIMPLEMENTED;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
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 */