Commit f2361112 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

mshtml: Added implementation of remaining IHTMLRect getters.

parent bbaefeb3
...@@ -138,8 +138,19 @@ static HRESULT WINAPI HTMLRect_put_left(IHTMLRect *iface, LONG v) ...@@ -138,8 +138,19 @@ static HRESULT WINAPI HTMLRect_put_left(IHTMLRect *iface, LONG v)
static HRESULT WINAPI HTMLRect_get_left(IHTMLRect *iface, LONG *p) static HRESULT WINAPI HTMLRect_get_left(IHTMLRect *iface, LONG *p)
{ {
HTMLRect *This = HTMLRECT_THIS(iface); HTMLRect *This = HTMLRECT_THIS(iface);
FIXME("(%p)->(%p)\n", This, p); float left;
return E_NOTIMPL; nsresult nsres;
TRACE("(%p)->(%p)\n", This, p);
nsres = nsIDOMClientRect_GetLeft(This->nsrect, &left);
if(NS_FAILED(nsres)) {
ERR("GetLeft failed: %08x\n", nsres);
return E_FAIL;
}
*p = floor(left+0.5);
return S_OK;
} }
static HRESULT WINAPI HTMLRect_put_top(IHTMLRect *iface, LONG v) static HRESULT WINAPI HTMLRect_put_top(IHTMLRect *iface, LONG v)
...@@ -177,8 +188,19 @@ static HRESULT WINAPI HTMLRect_put_right(IHTMLRect *iface, LONG v) ...@@ -177,8 +188,19 @@ static HRESULT WINAPI HTMLRect_put_right(IHTMLRect *iface, LONG v)
static HRESULT WINAPI HTMLRect_get_right(IHTMLRect *iface, LONG *p) static HRESULT WINAPI HTMLRect_get_right(IHTMLRect *iface, LONG *p)
{ {
HTMLRect *This = HTMLRECT_THIS(iface); HTMLRect *This = HTMLRECT_THIS(iface);
FIXME("(%p)->(%p)\n", This, p); float right;
return E_NOTIMPL; nsresult nsres;
TRACE("(%p)->(%p)\n", This, p);
nsres = nsIDOMClientRect_GetRight(This->nsrect, &right);
if(NS_FAILED(nsres)) {
ERR("GetRight failed: %08x\n", nsres);
return E_FAIL;
}
*p = floor(right+0.5);
return S_OK;
} }
static HRESULT WINAPI HTMLRect_put_bottom(IHTMLRect *iface, LONG v) static HRESULT WINAPI HTMLRect_put_bottom(IHTMLRect *iface, LONG v)
...@@ -191,8 +213,19 @@ static HRESULT WINAPI HTMLRect_put_bottom(IHTMLRect *iface, LONG v) ...@@ -191,8 +213,19 @@ static HRESULT WINAPI HTMLRect_put_bottom(IHTMLRect *iface, LONG v)
static HRESULT WINAPI HTMLRect_get_bottom(IHTMLRect *iface, LONG *p) static HRESULT WINAPI HTMLRect_get_bottom(IHTMLRect *iface, LONG *p)
{ {
HTMLRect *This = HTMLRECT_THIS(iface); HTMLRect *This = HTMLRECT_THIS(iface);
FIXME("(%p)->(%p)\n", This, p); float bottom;
return E_NOTIMPL; nsresult nsres;
TRACE("(%p)->(%p)\n", This, p);
nsres = nsIDOMClientRect_GetBottom(This->nsrect, &bottom);
if(NS_FAILED(nsres)) {
ERR("GetBottom failed: %08x\n", nsres);
return E_FAIL;
}
*p = floor(bottom+0.5);
return S_OK;
} }
#undef HTMLRECT_THIS #undef HTMLRECT_THIS
......
...@@ -2875,6 +2875,21 @@ static void test_elem_bounding_client_rect(IUnknown *unk) ...@@ -2875,6 +2875,21 @@ static void test_elem_bounding_client_rect(IUnknown *unk)
ok(hres == S_OK, "get_top failed: %08x\n", hres); ok(hres == S_OK, "get_top failed: %08x\n", hres);
ok(l != 0xdeadbeef, "l = 0xdeadbeef\n"); ok(l != 0xdeadbeef, "l = 0xdeadbeef\n");
l = 0xdeadbeef;
hres = IHTMLRect_get_left(rect, &l);
ok(hres == S_OK, "get_left failed: %08x\n", hres);
ok(l != 0xdeadbeef, "l = 0xdeadbeef\n");
l = 0xdeadbeef;
hres = IHTMLRect_get_bottom(rect, &l);
ok(hres == S_OK, "get_bottom failed: %08x\n", hres);
ok(l != 0xdeadbeef, "l = 0xdeadbeef\n");
l = 0xdeadbeef;
hres = IHTMLRect_get_right(rect, &l);
ok(hres == S_OK, "get_right failed: %08x\n", hres);
ok(l != 0xdeadbeef, "l = 0xdeadbeef\n");
IHTMLRect_Release(rect); IHTMLRect_Release(rect);
} }
......
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