Jacek Caban : mshtml: Added IHTMLScreen::get_availWidth implementation.

Alexandre Julliard julliard at winehq.org
Fri May 27 11:03:41 CDT 2011


Module: wine
Branch: master
Commit: e8fb248886565ad086ebe0e6b2d5952bcd8f7c57
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e8fb248886565ad086ebe0e6b2d5952bcd8f7c57

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri May 27 14:37:06 2011 +0200

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 460347f..68091a0 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 a11e9a4..d7e8dda 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);
 }
 




More information about the wine-cvs mailing list