Jeff Latimer : usp10: Add some tests to ScriptGetFontProperties.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Apr 13 05:17:20 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: ca55584b1967c1d36b1b59ca7aafa97bcbbe3107
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=ca55584b1967c1d36b1b59ca7aafa97bcbbe3107
Author: Jeff Latimer <lats at yless4u.com.au>
Date: Thu Apr 13 18:38:31 2006 +1000
usp10: Add some tests to ScriptGetFontProperties.
---
dlls/usp10/usp10.c | 27 ++++++++++++++++++++++-----
1 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/dlls/usp10/usp10.c b/dlls/usp10/usp10.c
index 030498f..b0e7ce8 100644
--- a/dlls/usp10/usp10.c
+++ b/dlls/usp10/usp10.c
@@ -124,10 +124,31 @@ HRESULT WINAPI ScriptGetProperties(const
*/
HRESULT WINAPI ScriptGetFontProperties(HDC hdc, SCRIPT_CACHE *psc, SCRIPT_FONTPROPERTIES *sfp)
{
+ HDC phdc;
+ Scriptcache *pScriptcache;
+
FIXME("%p,%p,%p\n", hdc, psc, sfp);
+ if (!hdc && !*psc) {
+ TRACE("No Script_Cache (psc) and no hdc. Ask for one. Hdc=%p, psc=%p\n", hdc, *psc);
+ return E_PENDING;
+ } else
+ if (hdc && !*psc) {
+ pScriptcache = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(Scriptcache) );
+ pScriptcache->hdc = (HDC) hdc;
+ phdc = hdc;
+ pScriptcache->HaveWidths = 0;
+ *psc = (Scriptcache *) pScriptcache;
+ } else
+ if (*psc) {
+ pScriptcache = (Scriptcache *) *psc;
+ phdc = pScriptcache->hdc;
+ }
+
+ if (sfp->cBytes != sizeof(SCRIPT_FONTPROPERTIES))
+ return E_INVALIDARG;
+
/* return something sensible? */
if (NULL != sfp) {
- sfp->cBytes = sizeof(SCRIPT_FONTPROPERTIES);
sfp->wgBlank = 0;
sfp->wgDefault = 0;
sfp->wgInvalid = 0;
@@ -431,10 +452,6 @@ HRESULT WINAPI ScriptPlace(HDC hdc, SCRI
* ScriptGetCMap (USP10.@)
*
*/
-/***********************************************************************
- * ScriptGetCMap (USP10.@)
- *
- */
HRESULT WINAPI ScriptGetCMap(HDC hdc, SCRIPT_CACHE *psc, const WCHAR *pwcInChars,
int cChars, DWORD dwFlags, WORD *pwOutGlyphs)
{
More information about the wine-cvs
mailing list