mshtml: Added implementation of put_scrollTop and put_scrollLeft.

This commit is contained in:
Jacek Caban 2006-08-01 14:50:52 +02:00 committed by Alexandre Julliard
parent 82676b999d
commit 166f1999ca
2 changed files with 54 additions and 4 deletions

View File

@ -115,8 +115,21 @@ static HRESULT WINAPI HTMLTextContainer_get_scrollWidth(IHTMLTextContainer *ifac
static HRESULT WINAPI HTMLTextContainer_put_scrollTop(IHTMLTextContainer *iface, long v)
{
HTMLTextContainer *This = HTMLTEXTCONT_THIS(iface);
FIXME("(%p)->(%ld)\n", This, v);
return E_NOTIMPL;
nsIDOMNSHTMLElement *nselem;
nsresult nsres;
TRACE("(%p)->(%ld)\n", This, v);
nsres = nsIDOMHTMLElement_QueryInterface(This->element->nselem, &IID_nsIDOMNSHTMLElement,
(void**)&nselem);
if(NS_SUCCEEDED(nsres)) {
nsIDOMNSHTMLElement_SetScrollTop(nselem, v);
nsIDOMNSHTMLElement_Release(nselem);
}else {
ERR("Could not get nsIDOMNSHTMLElement interface: %08lx\n", nsres);
}
return S_OK;
}
static HRESULT WINAPI HTMLTextContainer_get_scrollTop(IHTMLTextContainer *iface, long *p)
@ -129,8 +142,21 @@ static HRESULT WINAPI HTMLTextContainer_get_scrollTop(IHTMLTextContainer *iface,
static HRESULT WINAPI HTMLTextContainer_put_scrollLeft(IHTMLTextContainer *iface, long v)
{
HTMLTextContainer *This = HTMLTEXTCONT_THIS(iface);
FIXME("(%p)->(%ld)\n", This, v);
return E_NOTIMPL;
nsIDOMNSHTMLElement *nselem;
nsresult nsres;
TRACE("(%p)->(%ld)\n", This, v);
nsres = nsIDOMHTMLElement_QueryInterface(This->element->nselem, &IID_nsIDOMNSHTMLElement,
(void**)&nselem);
if(NS_SUCCEEDED(nsres)) {
nsIDOMNSHTMLElement_SetScrollLeft(nselem, v);
nsIDOMNSHTMLElement_Release(nselem);
}else {
ERR("Could not get nsIDOMNSHTMLElement interface: %08lx\n", nsres);
}
return S_OK;
}
static HRESULT WINAPI HTMLTextContainer_get_scrollLeft(IHTMLTextContainer *iface, long *p)

View File

@ -463,6 +463,30 @@ interface nsIDOMHTMLElement : nsIDOMElement
nsresult SetClassName(const nsAString *aClassName);
}
[
object,
uuid(da83b2ec-8264-4410-8496-ada3acd2ae42)
]
interface nsIDOMNSHTMLElement : nsISupports
{
nsresult GetOffsetTop(PRInt32 *aOffsetTop);
nsresult GetOffsetLeft(PRInt32 *aOffsetLeft);
nsresult GetOffsetWidth(PRInt32 *aOffsetWidth);
nsresult GetOffsetHeight(PRInt32 *aOffsetHeight);
nsresult GetOffsetParent(nsIDOMElement **aOffsetParent);
nsresult GetInnerHTML(nsAString *aInnerHTML);
nsresult SetInnerHTML(const nsAString *aInnerHTML);
nsresult GetScrollTop(PRInt32 *aScrollTop);
nsresult SetScrollTop(PRInt32 aScrollTop);
nsresult GetScrollLeft(PRInt32 *aScrollLeft);
nsresult SetScrollLeft(PRInt32 aScrollLeft);
nsresult GetScrollHeight(PRInt32 *aScrollHeight);
nsresult GetScrollWidth(PRInt32 *aScrollWidth);
nsresult GetClientHeight(PRInt32 *aClientHeight);
nsresult GetClientWidth(PRInt32 *aClientWidth);
nsresult ScrollIntoView(PRBool top);
}
[
object,
uuid(a6cf9075-15b3-11d2-932e-00805f8add32)