2009-12-19 19:07:36 +00:00
|
|
|
/*
|
|
|
|
* dll/win32/gdi32/misc/stubsw.c
|
1999-05-24 20:04:44 +00:00
|
|
|
*
|
|
|
|
* GDI32.DLL Stubs for Unicode functions
|
|
|
|
*
|
|
|
|
* When you implement one of these functions,
|
|
|
|
* remove its stub from this file.
|
|
|
|
*
|
|
|
|
*/
|
2004-08-15 18:40:07 +00:00
|
|
|
|
|
|
|
#include "precomp.h"
|
2009-12-19 19:07:36 +00:00
|
|
|
#include <debug.h>
|
1999-05-24 20:04:44 +00:00
|
|
|
|
|
|
|
|
2003-07-10 15:35:49 +00:00
|
|
|
/*
|
|
|
|
* @unimplemented
|
|
|
|
*/
|
1999-05-24 20:04:44 +00:00
|
|
|
BOOL
|
2008-11-30 11:42:05 +00:00
|
|
|
WINAPI
|
2009-08-15 09:56:22 +00:00
|
|
|
PolyTextOutW( HDC hdc, const POLYTEXTW *pptxt, INT cStrings )
|
1999-05-24 20:04:44 +00:00
|
|
|
{
|
2009-08-15 09:56:22 +00:00
|
|
|
for (; cStrings>0; cStrings--, pptxt++)
|
|
|
|
if (!ExtTextOutW( hdc, pptxt->x, pptxt->y, pptxt->uiFlags, &pptxt->rcl, pptxt->lpstr, pptxt->n, pptxt->pdx ))
|
|
|
|
return FALSE;
|
|
|
|
return TRUE;
|
1999-05-24 20:04:44 +00:00
|
|
|
}
|
|
|
|
|
2003-07-10 15:35:49 +00:00
|
|
|
/*
|
|
|
|
* @unimplemented
|
|
|
|
*/
|
1999-05-24 20:04:44 +00:00
|
|
|
BOOL
|
2008-11-30 11:42:05 +00:00
|
|
|
WINAPI
|
1999-05-24 20:04:44 +00:00
|
|
|
GetLogColorSpaceW(
|
|
|
|
HCOLORSPACE a0,
|
2003-08-05 15:41:03 +00:00
|
|
|
LPLOGCOLORSPACEW a1,
|
1999-05-24 20:04:44 +00:00
|
|
|
DWORD a2
|
|
|
|
)
|
|
|
|
{
|
2004-07-09 20:28:20 +00:00
|
|
|
UNIMPLEMENTED;
|
1999-05-24 20:04:44 +00:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2003-07-10 15:35:49 +00:00
|
|
|
/*
|
|
|
|
* @unimplemented
|
|
|
|
*/
|
2004-01-24 08:27:40 +00:00
|
|
|
BOOL
|
2008-11-30 11:42:05 +00:00
|
|
|
WINAPI
|
1999-05-24 20:04:44 +00:00
|
|
|
GetICMProfileW(
|
2009-08-15 09:56:22 +00:00
|
|
|
HDC hdc,
|
|
|
|
LPDWORD size,
|
|
|
|
LPWSTR filename
|
1999-05-24 20:04:44 +00:00
|
|
|
)
|
|
|
|
{
|
2009-08-15 09:56:22 +00:00
|
|
|
if (!hdc || !size || !filename) return FALSE;
|
|
|
|
|
2004-07-09 20:28:20 +00:00
|
|
|
UNIMPLEMENTED;
|
1999-05-24 20:04:44 +00:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2003-07-10 15:35:49 +00:00
|
|
|
/*
|
|
|
|
* @unimplemented
|
|
|
|
*/
|
1999-05-24 20:04:44 +00:00
|
|
|
BOOL
|
2008-11-30 11:42:05 +00:00
|
|
|
WINAPI
|
1999-05-24 20:04:44 +00:00
|
|
|
SetICMProfileW(
|
|
|
|
HDC a0,
|
|
|
|
LPWSTR a1
|
|
|
|
)
|
|
|
|
{
|
2004-07-09 20:28:20 +00:00
|
|
|
UNIMPLEMENTED;
|
1999-05-24 20:04:44 +00:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2003-07-10 15:35:49 +00:00
|
|
|
/*
|
|
|
|
* @unimplemented
|
|
|
|
*/
|
1999-05-24 20:04:44 +00:00
|
|
|
int
|
2008-11-30 11:42:05 +00:00
|
|
|
WINAPI
|
1999-05-24 20:04:44 +00:00
|
|
|
EnumICMProfilesW(
|
2003-08-07 04:03:25 +00:00
|
|
|
HDC hDC,
|
|
|
|
ICMENUMPROCW lpEnumICMProfilesFunc,
|
|
|
|
LPARAM lParam
|
1999-05-24 20:04:44 +00:00
|
|
|
)
|
|
|
|
{
|
2003-08-07 04:03:25 +00:00
|
|
|
/*
|
2003-08-19 11:48:50 +00:00
|
|
|
* FIXME - call NtGdiEnumICMProfiles with NULL for lpstrBuffer
|
2003-08-07 04:03:25 +00:00
|
|
|
* to find out how big a buffer we need. Then allocate that buffer
|
2003-08-19 11:48:50 +00:00
|
|
|
* and call NtGdiEnumICMProfiles again to have the buffer filled.
|
2003-08-07 04:03:25 +00:00
|
|
|
*
|
|
|
|
* Finally, step through the buffer ( MULTI-SZ recommended for format ),
|
|
|
|
* and call the user's callback function until we run out of strings or
|
|
|
|
* the user returns FALSE
|
|
|
|
*/
|
2004-07-09 20:28:20 +00:00
|
|
|
UNIMPLEMENTED;
|
2003-08-07 04:03:25 +00:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return 0;
|
1999-05-24 20:04:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2003-07-10 15:35:49 +00:00
|
|
|
/*
|
|
|
|
* @unimplemented
|
|
|
|
*/
|
2004-01-24 08:27:40 +00:00
|
|
|
BOOL
|
2008-11-30 11:42:05 +00:00
|
|
|
WINAPI
|
1999-05-24 20:04:44 +00:00
|
|
|
UpdateICMRegKeyW(
|
|
|
|
DWORD a0,
|
2005-12-28 20:31:44 +00:00
|
|
|
LPWSTR a1,
|
1999-05-24 20:04:44 +00:00
|
|
|
LPWSTR a2,
|
|
|
|
UINT a3
|
|
|
|
)
|
|
|
|
{
|
2004-07-09 20:28:20 +00:00
|
|
|
UNIMPLEMENTED;
|
1999-05-24 20:04:44 +00:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2007-10-19 23:21:45 +00:00
|
|
|
/* === AFTER THIS POINT I GUESS... =========
|
1999-05-24 20:04:44 +00:00
|
|
|
* (based on stack size in Norlander's .def)
|
|
|
|
* === WHERE ARE THEY DEFINED? =============
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
2004-09-06 21:15:46 +00:00
|
|
|
/*
|
|
|
|
* @unimplemented
|
|
|
|
*/
|
|
|
|
BOOL
|
2008-11-30 11:42:05 +00:00
|
|
|
WINAPI
|
2004-09-06 21:15:46 +00:00
|
|
|
EudcLoadLinkW(LPCWSTR pBaseFaceName,LPCWSTR pEudcFontPath,INT iPriority,INT iFontLinkType)
|
|
|
|
{
|
|
|
|
UNIMPLEMENTED;
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* @unimplemented
|
|
|
|
*/
|
|
|
|
BOOL
|
2008-11-30 11:42:05 +00:00
|
|
|
WINAPI
|
2004-09-06 21:15:46 +00:00
|
|
|
EudcUnloadLinkW(LPCWSTR pBaseFaceName,LPCWSTR pEudcFontPath)
|
|
|
|
{
|
|
|
|
UNIMPLEMENTED;
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* @unimplemented
|
|
|
|
*/
|
|
|
|
int
|
2008-11-30 11:42:05 +00:00
|
|
|
WINAPI
|
2008-02-16 18:14:36 +00:00
|
|
|
GdiAddFontResourceW(
|
|
|
|
LPCWSTR lpszFilename,
|
|
|
|
FLONG fl,
|
|
|
|
DESIGNVECTOR *pdv)
|
2004-09-06 21:15:46 +00:00
|
|
|
{
|
2008-02-16 18:14:36 +00:00
|
|
|
return NtGdiAddFontResourceW((PWSTR)lpszFilename, 0, 0, fl, 0, pdv);
|
2004-09-06 21:15:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2007-08-31 12:16:45 +00:00
|
|
|
* @implemented
|
2004-09-06 21:15:46 +00:00
|
|
|
*/
|
|
|
|
DWORD
|
2008-11-30 11:42:05 +00:00
|
|
|
WINAPI
|
2007-08-31 12:16:45 +00:00
|
|
|
GetEUDCTimeStampExW(LPWSTR lpBaseFaceName)
|
2004-09-06 21:15:46 +00:00
|
|
|
{
|
2007-08-31 12:16:45 +00:00
|
|
|
DWORD retValue = 0;
|
|
|
|
|
|
|
|
if (!lpBaseFaceName)
|
|
|
|
{
|
|
|
|
retValue = NtGdiGetEudcTimeStampEx(NULL,0,FALSE);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
retValue = NtGdiGetEudcTimeStampEx(lpBaseFaceName, wcslen(lpBaseFaceName), FALSE);
|
|
|
|
}
|
|
|
|
|
|
|
|
return retValue;
|
2004-09-06 21:15:46 +00:00
|
|
|
}
|
|
|
|
|
2007-09-23 11:33:47 +00:00
|
|
|
|
2004-09-06 21:15:46 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* @unimplemented
|
|
|
|
*/
|
|
|
|
BOOL
|
2008-11-30 11:42:05 +00:00
|
|
|
WINAPI
|
2004-09-06 21:15:46 +00:00
|
|
|
bInitSystemAndFontsDirectoriesW(LPWSTR *SystemDir,LPWSTR *FontsDir)
|
|
|
|
{
|
|
|
|
UNIMPLEMENTED;
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* @unimplemented
|
|
|
|
*/
|
|
|
|
BOOL
|
2008-11-30 11:42:05 +00:00
|
|
|
WINAPI
|
2004-09-06 21:15:46 +00:00
|
|
|
bMakePathNameW(LPWSTR lpBuffer,LPCWSTR lpFileName,LPWSTR *lpFilePart,DWORD unknown)
|
|
|
|
{
|
|
|
|
UNIMPLEMENTED;
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2007-08-31 22:21:35 +00:00
|
|
|
* @implemented
|
2004-09-06 21:15:46 +00:00
|
|
|
*/
|
|
|
|
UINT
|
2008-11-30 11:42:05 +00:00
|
|
|
WINAPI
|
2007-08-31 22:21:35 +00:00
|
|
|
GetStringBitmapW(HDC hdc,
|
|
|
|
LPWSTR pwsz,
|
|
|
|
BOOL doCall,
|
|
|
|
UINT cj,
|
|
|
|
BYTE *lpSB)
|
2004-09-06 21:15:46 +00:00
|
|
|
{
|
2007-08-31 22:21:35 +00:00
|
|
|
UINT retValue = 0;
|
|
|
|
|
|
|
|
if (doCall)
|
|
|
|
{
|
|
|
|
retValue = NtGdiGetStringBitmapW(hdc, pwsz, 1, lpSB, cj);
|
|
|
|
}
|
|
|
|
|
|
|
|
return retValue;
|
|
|
|
|
2004-09-06 21:15:46 +00:00
|
|
|
}
|
|
|
|
|
1999-05-24 20:04:44 +00:00
|
|
|
|
2008-01-06 02:52:19 +00:00
|
|
|
BOOL
|
|
|
|
WINAPI
|
|
|
|
CreateScalableFontResourceW(
|
|
|
|
DWORD fdwHidden,
|
|
|
|
LPCWSTR lpszFontRes,
|
|
|
|
LPCWSTR lpszFontFile,
|
|
|
|
LPCWSTR lpszCurrentPath
|
|
|
|
)
|
|
|
|
{
|
2009-08-15 09:56:22 +00:00
|
|
|
HANDLE f;
|
|
|
|
|
|
|
|
UNIMPLEMENTED;
|
|
|
|
|
|
|
|
/* fHidden=1 - only visible for the calling app, read-only, not
|
|
|
|
* enumerated with EnumFonts/EnumFontFamilies
|
|
|
|
* lpszCurrentPath can be NULL
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* If the output file already exists, return the ERROR_FILE_EXISTS error as specified in MSDN */
|
|
|
|
if ((f = CreateFileW(lpszFontRes, 0, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)) != INVALID_HANDLE_VALUE) {
|
|
|
|
CloseHandle(f);
|
|
|
|
SetLastError(ERROR_FILE_EXISTS);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
return FALSE; /* create failed */
|
2008-01-06 02:52:19 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
1999-05-24 20:04:44 +00:00
|
|
|
/* EOF */
|