mshtml: Implement IHTMLStyle get/put textDecorationBlink.

This commit is contained in:
Alistair Leslie-Hughes 2009-03-01 20:06:29 +11:00 committed by Alexandre Julliard
parent cbbdc41bdf
commit 2619dda6b7
2 changed files with 26 additions and 4 deletions

View File

@ -160,6 +160,8 @@ static const WCHAR styleNone[] =
{'n','o','n','e',0}; {'n','o','n','e',0};
static const WCHAR valOverline[] = static const WCHAR valOverline[] =
{'o','v','e','r','l','i','n','e',0}; {'o','v','e','r','l','i','n','e',0};
static const WCHAR valBlink[] =
{'b','l','i','n','k',0};
static const WCHAR px_formatW[] = {'%','d','p','x',0}; static const WCHAR px_formatW[] = {'%','d','p','x',0};
static const WCHAR emptyW[] = {0}; static const WCHAR emptyW[] = {0};
@ -1010,15 +1012,19 @@ static HRESULT WINAPI HTMLStyle_get_textDecorationLineThrough(IHTMLStyle *iface,
static HRESULT WINAPI HTMLStyle_put_textDecorationBlink(IHTMLStyle *iface, VARIANT_BOOL v) static HRESULT WINAPI HTMLStyle_put_textDecorationBlink(IHTMLStyle *iface, VARIANT_BOOL v)
{ {
HTMLStyle *This = HTMLSTYLE_THIS(iface); HTMLStyle *This = HTMLSTYLE_THIS(iface);
FIXME("(%p)->(%x)\n", This, v);
return E_NOTIMPL; TRACE("(%p)->(%x)\n", This, v);
return set_style_attr(This, STYLEID_TEXT_DECORATION, v ? valBlink : emptyW, 0);
} }
static HRESULT WINAPI HTMLStyle_get_textDecorationBlink(IHTMLStyle *iface, VARIANT_BOOL *p) static HRESULT WINAPI HTMLStyle_get_textDecorationBlink(IHTMLStyle *iface, VARIANT_BOOL *p)
{ {
HTMLStyle *This = HTMLSTYLE_THIS(iface); HTMLStyle *This = HTMLSTYLE_THIS(iface);
FIXME("(%p)->(%p)\n", This, p);
return E_NOTIMPL; TRACE("(%p)->(%p)\n", This, p);
return check_style_attr_value(This, STYLEID_TEXT_DECORATION, valBlink, p);
} }
static HRESULT WINAPI HTMLStyle_put_verticalAlign(IHTMLStyle *iface, VARIANT v) static HRESULT WINAPI HTMLStyle_put_verticalAlign(IHTMLStyle *iface, VARIANT v)

View File

@ -2782,6 +2782,22 @@ static void test_default_style(IHTMLStyle *style)
hres = IHTMLStyle_put_textDecorationOverline(style, VARIANT_FALSE); hres = IHTMLStyle_put_textDecorationOverline(style, VARIANT_FALSE);
ok(hres == S_OK, "put_textDecorationOverline failed: %08x\n", hres); ok(hres == S_OK, "put_textDecorationOverline failed: %08x\n", hres);
b = 0xfefe;
hres = IHTMLStyle_get_textDecorationBlink(style, &b);
ok(hres == S_OK, "get_textDecorationBlink failed: %08x\n", hres);
ok(b == VARIANT_FALSE, "textDecorationBlink = %x\n", b);
hres = IHTMLStyle_put_textDecorationBlink(style, VARIANT_TRUE);
ok(hres == S_OK, "put_textDecorationBlink failed: %08x\n", hres);
ok(b == VARIANT_FALSE, "textDecorationBlink = %x\n", b);
hres = IHTMLStyle_get_textDecorationBlink(style, &b);
ok(hres == S_OK, "get_textDecorationBlink failed: %08x\n", hres);
ok(b == VARIANT_TRUE, "textDecorationBlink = %x\n", b);
hres = IHTMLStyle_put_textDecorationBlink(style, VARIANT_FALSE);
ok(hres == S_OK, "textDecorationBlink failed: %08x\n", hres);
hres = IHTMLStyle_get_posWidth(style, NULL); hres = IHTMLStyle_get_posWidth(style, NULL);
ok(hres == E_POINTER, "get_posWidth failed: %08x\n", hres); ok(hres == E_POINTER, "get_posWidth failed: %08x\n", hres);