Commit 51154acb authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

dwrite: Implement IDWriteFontList1::GetFont().

parent 1c94bf39
......@@ -1678,9 +1678,17 @@ static HRESULT WINAPI dwritefontlist1_GetFont(IDWriteFontList1 *iface, UINT32 in
{
struct dwrite_fontlist *This = impl_from_IDWriteFontList1(iface);
FIXME("(%p)->(%u %p): stub\n", This, index, font);
TRACE("(%p)->(%u %p)\n", This, index, font);
return E_NOTIMPL;
*font = NULL;
if (This->font_count == 0)
return S_FALSE;
if (index >= This->font_count)
return E_FAIL;
return create_font(This->fonts[index], This->family, font);
}
static HRESULT WINAPI dwritefontlist1_GetFontFaceReference(IDWriteFontList1 *iface, UINT32 index,
......
......@@ -2945,10 +2945,18 @@ static void test_GetMatchingFonts(void)
font = (void*)0xdeadbeef;
hr = IDWriteFontList1_GetFont(fontlist1, ~0u, &font);
todo_wine {
ok(hr == E_FAIL, "got 0x%08x\n", hr);
ok(font == NULL, "got %p\n", font);
}
font = (void*)0xdeadbeef;
hr = IDWriteFontList1_GetFont(fontlist1, IDWriteFontList1_GetFontCount(fontlist1), &font);
ok(hr == E_FAIL, "got 0x%08x\n", hr);
ok(font == NULL, "got %p\n", font);
hr = IDWriteFontList1_GetFont(fontlist1, 0, &font);
ok(hr == S_OK, "got 0x%08x\n", hr);
IDWriteFont3_Release(font);
IDWriteFontList1_Release(fontlist1);
}
else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment