From e8fb248886565ad086ebe0e6b2d5952bcd8f7c57 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Fri, 27 May 2011 14:37:06 +0200 Subject: [PATCH] mshtml: Added IHTMLScreen::get_availWidth implementation. --- dlls/mshtml/htmlscreen.c | 11 +++++++++-- dlls/mshtml/tests/dom.c | 5 +++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/dlls/mshtml/htmlscreen.c b/dlls/mshtml/htmlscreen.c index 460347f456d..68091a03981 100644 --- a/dlls/mshtml/htmlscreen.c +++ b/dlls/mshtml/htmlscreen.c @@ -200,8 +200,15 @@ static HRESULT WINAPI HTMLScreen_get_availHeight(IHTMLScreen *iface, LONG *p) static HRESULT WINAPI HTMLScreen_get_availWidth(IHTMLScreen *iface, LONG *p) { HTMLScreen *This = impl_from_IHTMLScreen(iface); - FIXME("(%p)->(%p)\n", This, p); - return E_NOTIMPL; + RECT work_area; + + TRACE("(%p)->(%p)\n", This, p); + + if(!SystemParametersInfoW(SPI_GETWORKAREA, 0, &work_area, 0)) + return E_FAIL; + + *p = work_area.right-work_area.left; + return S_OK; } static HRESULT WINAPI HTMLScreen_get_fontSmoothingEnabled(IHTMLScreen *iface, VARIANT_BOOL *p) diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c index a11e9a45840..d7e8ddaaada 100644 --- a/dlls/mshtml/tests/dom.c +++ b/dlls/mshtml/tests/dom.c @@ -3973,6 +3973,11 @@ static void test_screen(IHTMLWindow2 *window) ok(hres == S_OK, "get_availHeight failed: %08x\n", hres); ok(l == work_area.bottom-work_area.top, "availHeight = %d, expected %d\n", l, work_area.bottom-work_area.top); + l = 0xdeadbeef; + hres = IHTMLScreen_get_availWidth(screen, &l); + ok(hres == S_OK, "get_availWidth failed: %08x\n", hres); + ok(l == work_area.right-work_area.left, "availWidth = %d, expected %d\n", l, work_area.right-work_area.left); + IHTMLScreen_Release(screen); }