mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-05 18:01:34 +00:00
dwrite: Implement GetStringLength method.
This commit is contained in:
parent
98ce55c148
commit
114ef0688b
2 changed files with 27 additions and 3 deletions
|
@ -271,8 +271,16 @@ static HRESULT WINAPI localizedstrings_GetLocaleName(IDWriteLocalizedStrings *if
|
||||||
static HRESULT WINAPI localizedstrings_GetStringLength(IDWriteLocalizedStrings *iface, UINT32 index, UINT32 *length)
|
static HRESULT WINAPI localizedstrings_GetStringLength(IDWriteLocalizedStrings *iface, UINT32 index, UINT32 *length)
|
||||||
{
|
{
|
||||||
struct localizedstrings *This = impl_from_IDWriteLocalizedStrings(iface);
|
struct localizedstrings *This = impl_from_IDWriteLocalizedStrings(iface);
|
||||||
FIXME("(%p)->(%u %p): stub\n", This, index, length);
|
|
||||||
return E_NOTIMPL;
|
TRACE("(%p)->(%u %p)\n", This, index, length);
|
||||||
|
|
||||||
|
if (index >= This->count) {
|
||||||
|
*length = (UINT32)-1;
|
||||||
|
return E_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
*length = strlenW(This->data[index].string);
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI localizedstrings_GetString(IDWriteLocalizedStrings *iface, UINT32 index, WCHAR *buffer, UINT32 size)
|
static HRESULT WINAPI localizedstrings_GetString(IDWriteLocalizedStrings *iface, UINT32 index, WCHAR *buffer, UINT32 size)
|
||||||
|
|
|
@ -321,6 +321,7 @@ static void test_GetFamilyNames(void)
|
||||||
IDWriteFont *font;
|
IDWriteFont *font;
|
||||||
LOGFONTW logfont;
|
LOGFONTW logfont;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
UINT32 len;
|
||||||
|
|
||||||
hr = IDWriteFactory_GetGdiInterop(factory, &interop);
|
hr = IDWriteFactory_GetGdiInterop(factory, &interop);
|
||||||
EXPECT_HR(hr, S_OK);
|
EXPECT_HR(hr, S_OK);
|
||||||
|
@ -350,9 +351,24 @@ if (0) /* crashes on native */
|
||||||
EXPECT_REF(names2, 1);
|
EXPECT_REF(names2, 1);
|
||||||
ok(names != names2, "got %p, was %p\n", names2, names);
|
ok(names != names2, "got %p, was %p\n", names2, names);
|
||||||
|
|
||||||
IDWriteLocalizedStrings_Release(names);
|
|
||||||
IDWriteLocalizedStrings_Release(names2);
|
IDWriteLocalizedStrings_Release(names2);
|
||||||
|
|
||||||
|
/* GetStringLength */
|
||||||
|
if (0) /* crashes on native */
|
||||||
|
hr = IDWriteLocalizedStrings_GetStringLength(names, 0, NULL);
|
||||||
|
|
||||||
|
len = 0;
|
||||||
|
hr = IDWriteLocalizedStrings_GetStringLength(names, 0, &len);
|
||||||
|
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||||
|
ok(len > 0, "got %u\n", len);
|
||||||
|
|
||||||
|
len = 100;
|
||||||
|
hr = IDWriteLocalizedStrings_GetStringLength(names, 10, &len);
|
||||||
|
ok(hr == E_FAIL, "got 0x%08x\n", hr);
|
||||||
|
ok(len == (UINT32)-1, "got %u\n", len);
|
||||||
|
|
||||||
|
IDWriteLocalizedStrings_Release(names);
|
||||||
|
|
||||||
IDWriteFontFamily_Release(family);
|
IDWriteFontFamily_Release(family);
|
||||||
IDWriteFont_Release(font);
|
IDWriteFont_Release(font);
|
||||||
IDWriteGdiInterop_Release(interop);
|
IDWriteGdiInterop_Release(interop);
|
||||||
|
|
Loading…
Reference in a new issue