2 * Copyright 2006 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
28 #include "wine/debug.h"
29 #include "wine/unicode.h"
31 #include "mshtml_private.h"
33 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
37 const IHTMLStyleVtbl *lpHTMLStyleVtbl;
41 nsIDOMCSSStyleDeclaration *nsstyle;
44 #define HTMLSTYLE(x) ((IHTMLStyle*) &(x)->lpHTMLStyleVtbl)
46 static const WCHAR attrBackground[] =
47 {'b','a','c','k','g','r','o','u','n','d',0};
48 static const WCHAR attrBackgroundColor[] =
49 {'b','a','c','k','g','r','o','u','n','d','-','c','o','l','o','r',0};
50 static const WCHAR attrBackgroundImage[] =
51 {'b','a','c','k','g','r','o','u','n','d','-','i','m','a','g','e',0};
52 static const WCHAR attrBorderLeft[] =
53 {'b','o','r','d','e','r','-','l','e','f','t',0};
54 static const WCHAR attrColor[] =
55 {'c','o','l','o','r',0};
56 static const WCHAR attrDisplay[] =
57 {'d','i','s','p','l','a','y',0};
58 static const WCHAR attrFontFamily[] =
59 {'f','o','n','t','-','f','a','m','i','l','y',0};
60 static const WCHAR attrFontSize[] =
61 {'f','o','n','t','-','s','i','z','e',0};
62 static const WCHAR attrFontStyle[] =
63 {'f','o','n','t','-','s','t','y','l','e',0};
64 static const WCHAR attrFontWeight[] =
65 {'f','o','n','t','-','w','e','i','g','h','t',0};
66 static const WCHAR attrMarginLeft[] =
67 {'m','a','r','g','i','n','-','l','e','f','t',0};
68 static const WCHAR attrMarginRight[] =
69 {'m','a','r','g','i','n','-','r','i','g','h','t',0};
70 static const WCHAR attrPaddingLeft[] =
71 {'p','a','d','d','i','n','g','-','l','e','f','t',0};
72 static const WCHAR attrTextDecoration[] =
73 {'t','e','x','t','-','d','e','c','o','r','a','t','i','o','n',0};
74 static const WCHAR attrVisibility[] =
75 {'v','i','s','i','b','i','l','i','t','y',0};
77 static const WCHAR valLineThrough[] =
78 {'l','i','n','e','-','t','h','r','o','u','g','h',0};
79 static const WCHAR valUnderline[] =
80 {'u','n','d','e','r','l','i','n','e',0};
82 static const WCHAR px_formatW[] = {'%','d','p','x',0};
83 static const WCHAR emptyW[] = {0};
85 static LPWSTR fix_px_value(LPCWSTR val)
90 while(*ptr && isspaceW(*ptr))
95 while(*ptr && isdigitW(*ptr))
98 if(!*ptr || isspaceW(*ptr)) {
100 int len = strlenW(val)+1;
102 ret = heap_alloc((len+2)*sizeof(WCHAR));
103 memcpy(ret, val, (ptr-val)*sizeof(WCHAR));
109 TRACE("fixed %s -> %s\n", debugstr_w(val), debugstr_w(ret));
114 while(*ptr && !isspaceW(*ptr))
121 static LPWSTR fix_url_value(LPCWSTR val)
125 static const WCHAR urlW[] = {'u','r','l','('};
127 if(strncmpW(val, urlW, sizeof(urlW)/sizeof(WCHAR)) || !strchrW(val, '\\'))
130 ret = heap_strdupW(val);
132 for(ptr = ret; *ptr; ptr++) {
140 #define ATTR_FIX_PX 1
141 #define ATTR_FIX_URL 2
143 static HRESULT set_style_attr(HTMLStyle *This, LPCWSTR name, LPCWSTR value, DWORD flags)
145 nsAString str_name, str_value, str_empty;
149 static const PRUnichar wszEmpty[] = {0};
151 TRACE("(%p)->(%s %s)\n", This, debugstr_w(name), debugstr_w(value));
153 if(flags & ATTR_FIX_PX)
154 val = fix_px_value(value);
155 if(flags & ATTR_FIX_URL)
156 val = fix_url_value(value);
158 nsAString_Init(&str_name, name);
159 nsAString_Init(&str_value, val ? val : value);
160 nsAString_Init(&str_empty, wszEmpty);
163 nsres = nsIDOMCSSStyleDeclaration_SetProperty(This->nsstyle, &str_name, &str_value, &str_empty);
165 ERR("SetProperty failed: %08x\n", nsres);
167 nsAString_Finish(&str_name);
168 nsAString_Finish(&str_value);
169 nsAString_Finish(&str_empty);
174 static HRESULT get_style_attr_nsval(HTMLStyle *This, LPCWSTR name, nsAString *value)
179 nsAString_Init(&str_name, name);
181 nsres = nsIDOMCSSStyleDeclaration_GetPropertyValue(This->nsstyle, &str_name, value);
182 if(NS_FAILED(nsres)) {
183 ERR("SetProperty failed: %08x\n", nsres);
187 nsAString_Finish(&str_name);
192 static HRESULT get_style_attr(HTMLStyle *This, LPCWSTR name, BSTR *p)
195 const PRUnichar *value;
197 nsAString_Init(&str_value, NULL);
199 get_style_attr_nsval(This, name, &str_value);
201 nsAString_GetData(&str_value, &value);
202 *p = *value ? SysAllocString(value) : NULL;
204 nsAString_Finish(&str_value);
206 TRACE("%s -> %s\n", debugstr_w(name), debugstr_w(*p));
210 static HRESULT check_style_attr_value(HTMLStyle *This, LPCWSTR name, LPCWSTR exval, VARIANT_BOOL *p)
213 const PRUnichar *value;
215 nsAString_Init(&str_value, NULL);
217 get_style_attr_nsval(This, name, &str_value);
219 nsAString_GetData(&str_value, &value);
220 *p = strcmpW(value, exval) ? VARIANT_FALSE : VARIANT_TRUE;
221 nsAString_Finish(&str_value);
223 TRACE("%s -> %x\n", debugstr_w(name), *p);
227 #define HTMLSTYLE_THIS(iface) DEFINE_THIS(HTMLStyle, HTMLStyle, iface)
229 static HRESULT WINAPI HTMLStyle_QueryInterface(IHTMLStyle *iface, REFIID riid, void **ppv)
231 HTMLStyle *This = HTMLSTYLE_THIS(iface);
235 if(IsEqualGUID(&IID_IUnknown, riid)) {
236 TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
237 *ppv = HTMLSTYLE(This);
238 }else if(IsEqualGUID(&IID_IDispatch, riid)) {
239 TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
240 *ppv = HTMLSTYLE(This);
241 }else if(IsEqualGUID(&IID_IDispatchEx, riid)) {
242 TRACE("(%p)->(IID_IDispatchEx %p)\n", This, ppv);
243 *ppv = DISPATCHEX(&This->dispex);
244 }else if(IsEqualGUID(&IID_IHTMLStyle, riid)) {
245 TRACE("(%p)->(IID_IHTMLStyle %p)\n", This, ppv);
246 *ppv = HTMLSTYLE(This);
250 IUnknown_AddRef((IUnknown*)*ppv);
254 WARN("unsupported %s\n", debugstr_guid(riid));
255 return E_NOINTERFACE;
258 static ULONG WINAPI HTMLStyle_AddRef(IHTMLStyle *iface)
260 HTMLStyle *This = HTMLSTYLE_THIS(iface);
261 LONG ref = InterlockedIncrement(&This->ref);
263 TRACE("(%p) ref=%d\n", This, ref);
268 static ULONG WINAPI HTMLStyle_Release(IHTMLStyle *iface)
270 HTMLStyle *This = HTMLSTYLE_THIS(iface);
271 LONG ref = InterlockedDecrement(&This->ref);
273 TRACE("(%p) ref=%d\n", This, ref);
281 static HRESULT WINAPI HTMLStyle_GetTypeInfoCount(IHTMLStyle *iface, UINT *pctinfo)
283 HTMLStyle *This = HTMLSTYLE_THIS(iface);
284 FIXME("(%p)->(%p)\n", This, pctinfo);
288 static HRESULT WINAPI HTMLStyle_GetTypeInfo(IHTMLStyle *iface, UINT iTInfo,
289 LCID lcid, ITypeInfo **ppTInfo)
291 HTMLStyle *This = HTMLSTYLE_THIS(iface);
292 FIXME("(%p)->(%u %u %p)\n", This, iTInfo, lcid, ppTInfo);
296 static HRESULT WINAPI HTMLStyle_GetIDsOfNames(IHTMLStyle *iface, REFIID riid,
297 LPOLESTR *rgszNames, UINT cNames,
298 LCID lcid, DISPID *rgDispId)
300 HTMLStyle *This = HTMLSTYLE_THIS(iface);
301 FIXME("(%p)->(%s %p %u %u %p)\n", This, debugstr_guid(riid), rgszNames, cNames,
306 static HRESULT WINAPI HTMLStyle_Invoke(IHTMLStyle *iface, DISPID dispIdMember,
307 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
308 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
310 HTMLStyle *This = HTMLSTYLE_THIS(iface);
311 FIXME("(%p)->(%d %s %d %d %p %p %p %p)\n", This, dispIdMember, debugstr_guid(riid),
312 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
316 static HRESULT WINAPI HTMLStyle_put_fontFamily(IHTMLStyle *iface, BSTR v)
318 HTMLStyle *This = HTMLSTYLE_THIS(iface);
320 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
322 return set_style_attr(This, attrFontFamily, v, 0);
325 static HRESULT WINAPI HTMLStyle_get_fontFamily(IHTMLStyle *iface, BSTR *p)
327 HTMLStyle *This = HTMLSTYLE_THIS(iface);
329 TRACE("(%p)->(%p)\n", This, p);
331 return get_style_attr(This, attrFontFamily, p);
334 static HRESULT WINAPI HTMLStyle_put_fontStyle(IHTMLStyle *iface, BSTR v)
336 HTMLStyle *This = HTMLSTYLE_THIS(iface);
337 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
341 static HRESULT WINAPI HTMLStyle_get_fontStyle(IHTMLStyle *iface, BSTR *p)
343 HTMLStyle *This = HTMLSTYLE_THIS(iface);
345 TRACE("(%p)->(%p)\n", This, p);
347 return get_style_attr(This, attrFontStyle, p);
350 static HRESULT WINAPI HTMLStyle_put_fontVariant(IHTMLStyle *iface, BSTR v)
352 HTMLStyle *This = HTMLSTYLE_THIS(iface);
353 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
357 static HRESULT WINAPI HTMLStyle_get_fontVariant(IHTMLStyle *iface, BSTR *p)
359 HTMLStyle *This = HTMLSTYLE_THIS(iface);
360 FIXME("(%p)->(%p)\n", This, p);
364 static HRESULT WINAPI HTMLStyle_put_fontWeight(IHTMLStyle *iface, BSTR v)
366 HTMLStyle *This = HTMLSTYLE_THIS(iface);
367 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
371 static HRESULT WINAPI HTMLStyle_get_fontWeight(IHTMLStyle *iface, BSTR *p)
373 HTMLStyle *This = HTMLSTYLE_THIS(iface);
375 TRACE("(%p)->(%p)\n", This, p);
377 return get_style_attr(This, attrFontWeight, p);
380 static HRESULT WINAPI HTMLStyle_put_fontSize(IHTMLStyle *iface, VARIANT v)
382 HTMLStyle *This = HTMLSTYLE_THIS(iface);
384 TRACE("(%p)->(v%d)\n", This, V_VT(&v));
388 return set_style_attr(This, attrFontSize, V_BSTR(&v), 0);
390 FIXME("not supported vt %d\n", V_VT(&v));
396 static HRESULT WINAPI HTMLStyle_get_fontSize(IHTMLStyle *iface, VARIANT *p)
398 HTMLStyle *This = HTMLSTYLE_THIS(iface);
400 TRACE("(%p)->(%p)\n", This, p);
403 return get_style_attr(This, attrFontSize, &V_BSTR(p));
406 static HRESULT WINAPI HTMLStyle_put_font(IHTMLStyle *iface, BSTR v)
408 HTMLStyle *This = HTMLSTYLE_THIS(iface);
409 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
413 static HRESULT WINAPI HTMLStyle_get_font(IHTMLStyle *iface, BSTR *p)
415 HTMLStyle *This = HTMLSTYLE_THIS(iface);
416 FIXME("(%p)->(%p)\n", This, p);
420 static HRESULT WINAPI HTMLStyle_put_color(IHTMLStyle *iface, VARIANT v)
422 HTMLStyle *This = HTMLSTYLE_THIS(iface);
424 TRACE("(%p)->(v%d)\n", This, V_VT(&v));
428 TRACE("%s\n", debugstr_w(V_BSTR(&v)));
429 return set_style_attr(This, attrColor, V_BSTR(&v), 0);
432 FIXME("unsupported vt=%d\n", V_VT(&v));
438 static HRESULT WINAPI HTMLStyle_get_color(IHTMLStyle *iface, VARIANT *p)
440 HTMLStyle *This = HTMLSTYLE_THIS(iface);
442 TRACE("(%p)->(%p)\n", This, p);
445 return get_style_attr(This, attrColor, &V_BSTR(p));
448 static HRESULT WINAPI HTMLStyle_put_background(IHTMLStyle *iface, BSTR v)
450 HTMLStyle *This = HTMLSTYLE_THIS(iface);
452 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
454 return set_style_attr(This, attrBackground, v, 0);
457 static HRESULT WINAPI HTMLStyle_get_background(IHTMLStyle *iface, BSTR *p)
459 HTMLStyle *This = HTMLSTYLE_THIS(iface);
460 FIXME("(%p)->(%p)\n", This, p);
464 static HRESULT WINAPI HTMLStyle_put_backgroundColor(IHTMLStyle *iface, VARIANT v)
466 HTMLStyle *This = HTMLSTYLE_THIS(iface);
468 TRACE("(%p)->(v%d)\n", This, V_VT(&v));
472 return set_style_attr(This, attrBackgroundColor, V_BSTR(&v), 0);
475 static const WCHAR format[] = {'#','%','0','6','x',0};
477 wsprintfW(value, format, V_I4(&v));
478 return set_style_attr(This, attrBackgroundColor, value, 0);
481 FIXME("unsupported vt %d\n", V_VT(&v));
487 static HRESULT WINAPI HTMLStyle_get_backgroundColor(IHTMLStyle *iface, VARIANT *p)
489 HTMLStyle *This = HTMLSTYLE_THIS(iface);
490 FIXME("(%p)->(%p)\n", This, p);
494 static HRESULT WINAPI HTMLStyle_put_backgroundImage(IHTMLStyle *iface, BSTR v)
496 HTMLStyle *This = HTMLSTYLE_THIS(iface);
498 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
500 return set_style_attr(This, attrBackgroundImage, v, ATTR_FIX_URL);
503 static HRESULT WINAPI HTMLStyle_get_backgroundImage(IHTMLStyle *iface, BSTR *p)
505 HTMLStyle *This = HTMLSTYLE_THIS(iface);
506 FIXME("(%p)->(%p)\n", This, p);
510 static HRESULT WINAPI HTMLStyle_put_backgroundRepeat(IHTMLStyle *iface, BSTR v)
512 HTMLStyle *This = HTMLSTYLE_THIS(iface);
513 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
517 static HRESULT WINAPI HTMLStyle_get_backgroundRepeat(IHTMLStyle *iface, BSTR *p)
519 HTMLStyle *This = HTMLSTYLE_THIS(iface);
520 FIXME("(%p)->(%p)\n", This, p);
524 static HRESULT WINAPI HTMLStyle_put_backgroundAttachment(IHTMLStyle *iface, BSTR v)
526 HTMLStyle *This = HTMLSTYLE_THIS(iface);
527 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
531 static HRESULT WINAPI HTMLStyle_get_backgroundAttachment(IHTMLStyle *iface, BSTR *p)
533 HTMLStyle *This = HTMLSTYLE_THIS(iface);
534 FIXME("(%p)->(%p)\n", This, p);
538 static HRESULT WINAPI HTMLStyle_put_backgroundPosition(IHTMLStyle *iface, BSTR v)
540 HTMLStyle *This = HTMLSTYLE_THIS(iface);
541 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
545 static HRESULT WINAPI HTMLStyle_get_backgroundPosition(IHTMLStyle *iface, BSTR *p)
547 HTMLStyle *This = HTMLSTYLE_THIS(iface);
548 FIXME("(%p)->(%p)\n", This, p);
552 static HRESULT WINAPI HTMLStyle_put_backgroundPositionX(IHTMLStyle *iface, VARIANT v)
554 HTMLStyle *This = HTMLSTYLE_THIS(iface);
555 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
559 static HRESULT WINAPI HTMLStyle_get_backgroundPositionX(IHTMLStyle *iface, VARIANT *p)
561 HTMLStyle *This = HTMLSTYLE_THIS(iface);
562 FIXME("(%p)->(%p)\n", This, p);
566 static HRESULT WINAPI HTMLStyle_put_backgroundPositionY(IHTMLStyle *iface, VARIANT v)
568 HTMLStyle *This = HTMLSTYLE_THIS(iface);
569 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
573 static HRESULT WINAPI HTMLStyle_get_backgroundPositionY(IHTMLStyle *iface, VARIANT *p)
575 HTMLStyle *This = HTMLSTYLE_THIS(iface);
576 FIXME("(%p)->(%p)\n", This, p);
580 static HRESULT WINAPI HTMLStyle_put_wordSpacing(IHTMLStyle *iface, VARIANT v)
582 HTMLStyle *This = HTMLSTYLE_THIS(iface);
583 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
587 static HRESULT WINAPI HTMLStyle_get_wordSpacing(IHTMLStyle *iface, VARIANT *p)
589 HTMLStyle *This = HTMLSTYLE_THIS(iface);
590 FIXME("(%p)->(%p)\n", This, p);
594 static HRESULT WINAPI HTMLStyle_put_letterSpacing(IHTMLStyle *iface, VARIANT v)
596 HTMLStyle *This = HTMLSTYLE_THIS(iface);
597 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
601 static HRESULT WINAPI HTMLStyle_get_letterSpacing(IHTMLStyle *iface, VARIANT *p)
603 HTMLStyle *This = HTMLSTYLE_THIS(iface);
604 FIXME("(%p)->(%p)\n", This, p);
608 static HRESULT WINAPI HTMLStyle_put_textDecoration(IHTMLStyle *iface, BSTR v)
610 HTMLStyle *This = HTMLSTYLE_THIS(iface);
611 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
615 static HRESULT WINAPI HTMLStyle_get_textDecoration(IHTMLStyle *iface, BSTR *p)
617 HTMLStyle *This = HTMLSTYLE_THIS(iface);
619 TRACE("(%p)->(%p)\n", This, p);
621 return get_style_attr(This, attrTextDecoration, p);
624 static HRESULT WINAPI HTMLStyle_put_textDecorationNone(IHTMLStyle *iface, VARIANT_BOOL v)
626 HTMLStyle *This = HTMLSTYLE_THIS(iface);
627 FIXME("(%p)->(%x)\n", This, v);
631 static HRESULT WINAPI HTMLStyle_get_textDecorationNone(IHTMLStyle *iface, VARIANT_BOOL *p)
633 HTMLStyle *This = HTMLSTYLE_THIS(iface);
634 FIXME("(%p)->(%p)\n", This, p);
638 static HRESULT WINAPI HTMLStyle_put_textDecorationUnderline(IHTMLStyle *iface, VARIANT_BOOL v)
640 HTMLStyle *This = HTMLSTYLE_THIS(iface);
641 FIXME("(%p)->(%x)\n", This, v);
645 static HRESULT WINAPI HTMLStyle_get_textDecorationUnderline(IHTMLStyle *iface, VARIANT_BOOL *p)
647 HTMLStyle *This = HTMLSTYLE_THIS(iface);
649 TRACE("(%p)->(%p)\n", This, p);
651 return check_style_attr_value(This, attrTextDecoration, valUnderline, p);
654 static HRESULT WINAPI HTMLStyle_put_textDecorationOverline(IHTMLStyle *iface, VARIANT_BOOL v)
656 HTMLStyle *This = HTMLSTYLE_THIS(iface);
657 FIXME("(%p)->(%x)\n", This, v);
661 static HRESULT WINAPI HTMLStyle_get_textDecorationOverline(IHTMLStyle *iface, VARIANT_BOOL *p)
663 HTMLStyle *This = HTMLSTYLE_THIS(iface);
664 FIXME("(%p)->(%p)\n", This, p);
668 static HRESULT WINAPI HTMLStyle_put_textDecorationLineThrough(IHTMLStyle *iface, VARIANT_BOOL v)
670 HTMLStyle *This = HTMLSTYLE_THIS(iface);
671 FIXME("(%p)->(%x)\n", This, v);
675 static HRESULT WINAPI HTMLStyle_get_textDecorationLineThrough(IHTMLStyle *iface, VARIANT_BOOL *p)
677 HTMLStyle *This = HTMLSTYLE_THIS(iface);
679 TRACE("(%p)->(%p)\n", This, p);
681 return check_style_attr_value(This, attrTextDecoration, valLineThrough, p);
684 static HRESULT WINAPI HTMLStyle_put_textDecorationBlink(IHTMLStyle *iface, VARIANT_BOOL v)
686 HTMLStyle *This = HTMLSTYLE_THIS(iface);
687 FIXME("(%p)->(%x)\n", This, v);
691 static HRESULT WINAPI HTMLStyle_get_textDecorationBlink(IHTMLStyle *iface, VARIANT_BOOL *p)
693 HTMLStyle *This = HTMLSTYLE_THIS(iface);
694 FIXME("(%p)->(%p)\n", This, p);
698 static HRESULT WINAPI HTMLStyle_put_verticalAlign(IHTMLStyle *iface, VARIANT v)
700 HTMLStyle *This = HTMLSTYLE_THIS(iface);
701 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
705 static HRESULT WINAPI HTMLStyle_get_verticalAlign(IHTMLStyle *iface, VARIANT *p)
707 HTMLStyle *This = HTMLSTYLE_THIS(iface);
708 FIXME("(%p)->(%p)\n", This, p);
712 static HRESULT WINAPI HTMLStyle_put_textTransform(IHTMLStyle *iface, BSTR v)
714 HTMLStyle *This = HTMLSTYLE_THIS(iface);
715 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
719 static HRESULT WINAPI HTMLStyle_get_textTransform(IHTMLStyle *iface, BSTR *p)
721 HTMLStyle *This = HTMLSTYLE_THIS(iface);
722 FIXME("(%p)->(%p)\n", This, p);
726 static HRESULT WINAPI HTMLStyle_put_textAlign(IHTMLStyle *iface, BSTR v)
728 HTMLStyle *This = HTMLSTYLE_THIS(iface);
729 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
733 static HRESULT WINAPI HTMLStyle_get_textAlign(IHTMLStyle *iface, BSTR *p)
735 HTMLStyle *This = HTMLSTYLE_THIS(iface);
736 FIXME("(%p)->(%p)\n", This, p);
740 static HRESULT WINAPI HTMLStyle_put_textIndent(IHTMLStyle *iface, VARIANT v)
742 HTMLStyle *This = HTMLSTYLE_THIS(iface);
743 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
747 static HRESULT WINAPI HTMLStyle_get_textIndent(IHTMLStyle *iface, VARIANT *p)
749 HTMLStyle *This = HTMLSTYLE_THIS(iface);
750 FIXME("(%p)->(%p)\n", This, p);
754 static HRESULT WINAPI HTMLStyle_put_lineHeight(IHTMLStyle *iface, VARIANT v)
756 HTMLStyle *This = HTMLSTYLE_THIS(iface);
757 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
761 static HRESULT WINAPI HTMLStyle_get_lineHeight(IHTMLStyle *iface, VARIANT *p)
763 HTMLStyle *This = HTMLSTYLE_THIS(iface);
764 FIXME("(%p)->(%p)\n", This, p);
768 static HRESULT WINAPI HTMLStyle_put_marginTop(IHTMLStyle *iface, VARIANT v)
770 HTMLStyle *This = HTMLSTYLE_THIS(iface);
771 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
775 static HRESULT WINAPI HTMLStyle_get_marginTop(IHTMLStyle *iface, VARIANT *p)
777 HTMLStyle *This = HTMLSTYLE_THIS(iface);
778 FIXME("(%p)->(%p)\n", This, p);
782 static HRESULT WINAPI HTMLStyle_put_marginRight(IHTMLStyle *iface, VARIANT v)
784 HTMLStyle *This = HTMLSTYLE_THIS(iface);
786 TRACE("(%p)->(v(%d))\n", This, V_VT(&v));
790 return set_style_attr(This, attrMarginRight, emptyW, 0);
794 wsprintfW(buf, px_formatW, V_I4(&v));
795 return set_style_attr(This, attrMarginRight, buf, 0);
798 return set_style_attr(This, attrMarginRight, V_BSTR(&v), 0);
800 FIXME("Unsupported vt=%d\n", V_VT(&v));
806 static HRESULT WINAPI HTMLStyle_get_marginRight(IHTMLStyle *iface, VARIANT *p)
808 HTMLStyle *This = HTMLSTYLE_THIS(iface);
809 FIXME("(%p)->(%p)\n", This, p);
813 static HRESULT WINAPI HTMLStyle_put_marginBottom(IHTMLStyle *iface, VARIANT v)
815 HTMLStyle *This = HTMLSTYLE_THIS(iface);
816 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
820 static HRESULT WINAPI HTMLStyle_get_marginBottom(IHTMLStyle *iface, VARIANT *p)
822 HTMLStyle *This = HTMLSTYLE_THIS(iface);
823 FIXME("(%p)->(%p)\n", This, p);
827 static HRESULT WINAPI HTMLStyle_put_marginLeft(IHTMLStyle *iface, VARIANT v)
829 HTMLStyle *This = HTMLSTYLE_THIS(iface);
833 TRACE("(%p)->(NULL)\n", This);
834 return set_style_attr(This, attrMarginLeft, emptyW, 0);
838 TRACE("(%p)->(%d)\n", This, V_I4(&v));
840 wsprintfW(buf, px_formatW, V_I4(&v));
841 return set_style_attr(This, attrMarginLeft, buf, 0);
844 TRACE("(%p)->(%s)\n", This, debugstr_w(V_BSTR(&v)));
845 return set_style_attr(This, attrMarginLeft, V_BSTR(&v), 0);
847 FIXME("Unsupported vt=%d\n", V_VT(&v));
853 static HRESULT WINAPI HTMLStyle_put_margin(IHTMLStyle *iface, BSTR v)
855 HTMLStyle *This = HTMLSTYLE_THIS(iface);
856 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
860 static HRESULT WINAPI HTMLStyle_get_margin(IHTMLStyle *iface, BSTR *p)
862 HTMLStyle *This = HTMLSTYLE_THIS(iface);
863 FIXME("(%p)->(%p)\n", This, p);
867 static HRESULT WINAPI HTMLStyle_get_marginLeft(IHTMLStyle *iface, VARIANT *p)
869 HTMLStyle *This = HTMLSTYLE_THIS(iface);
870 FIXME("(%p)->(%p)\n", This, p);
874 static HRESULT WINAPI HTMLStyle_put_paddingTop(IHTMLStyle *iface, VARIANT v)
876 HTMLStyle *This = HTMLSTYLE_THIS(iface);
877 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
881 static HRESULT WINAPI HTMLStyle_get_paddingTop(IHTMLStyle *iface, VARIANT *p)
883 HTMLStyle *This = HTMLSTYLE_THIS(iface);
884 FIXME("(%p)->(%p)\n", This, p);
888 static HRESULT WINAPI HTMLStyle_put_paddingRight(IHTMLStyle *iface, VARIANT v)
890 HTMLStyle *This = HTMLSTYLE_THIS(iface);
891 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
895 static HRESULT WINAPI HTMLStyle_get_paddingRight(IHTMLStyle *iface, VARIANT *p)
897 HTMLStyle *This = HTMLSTYLE_THIS(iface);
898 FIXME("(%p)->(%p)\n", This, p);
902 static HRESULT WINAPI HTMLStyle_put_paddingBottom(IHTMLStyle *iface, VARIANT v)
904 HTMLStyle *This = HTMLSTYLE_THIS(iface);
905 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
909 static HRESULT WINAPI HTMLStyle_get_paddingBottom(IHTMLStyle *iface, VARIANT *p)
911 HTMLStyle *This = HTMLSTYLE_THIS(iface);
912 FIXME("(%p)->(%p)\n", This, p);
916 static HRESULT WINAPI HTMLStyle_put_paddingLeft(IHTMLStyle *iface, VARIANT v)
918 HTMLStyle *This = HTMLSTYLE_THIS(iface);
920 TRACE("(%p)->(vt=%d)\n", This, V_VT(&v));
926 wsprintfW(buf, px_formatW, V_I4(&v));
927 return set_style_attr(This, attrPaddingLeft, buf, 0);
930 return set_style_attr(This, attrPaddingLeft, V_BSTR(&v), 0);
932 FIXME("unsupported vt=%d\n", V_VT(&v));
938 static HRESULT WINAPI HTMLStyle_get_paddingLeft(IHTMLStyle *iface, VARIANT *p)
940 HTMLStyle *This = HTMLSTYLE_THIS(iface);
941 FIXME("(%p)->(%p)\n", This, p);
945 static HRESULT WINAPI HTMLStyle_put_padding(IHTMLStyle *iface, BSTR v)
947 HTMLStyle *This = HTMLSTYLE_THIS(iface);
948 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
952 static HRESULT WINAPI HTMLStyle_get_padding(IHTMLStyle *iface, BSTR *p)
954 HTMLStyle *This = HTMLSTYLE_THIS(iface);
955 FIXME("(%p)->(%p)\n", This, p);
959 static HRESULT WINAPI HTMLStyle_put_border(IHTMLStyle *iface, BSTR v)
961 HTMLStyle *This = HTMLSTYLE_THIS(iface);
962 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
966 static HRESULT WINAPI HTMLStyle_get_border(IHTMLStyle *iface, BSTR *p)
968 HTMLStyle *This = HTMLSTYLE_THIS(iface);
969 FIXME("(%p)->(%p)\n", This, p);
973 static HRESULT WINAPI HTMLStyle_put_borderTop(IHTMLStyle *iface, BSTR v)
975 HTMLStyle *This = HTMLSTYLE_THIS(iface);
976 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
980 static HRESULT WINAPI HTMLStyle_get_borderTop(IHTMLStyle *iface, BSTR *p)
982 HTMLStyle *This = HTMLSTYLE_THIS(iface);
983 FIXME("(%p)->(%p)\n", This, p);
987 static HRESULT WINAPI HTMLStyle_put_borderRight(IHTMLStyle *iface, BSTR v)
989 HTMLStyle *This = HTMLSTYLE_THIS(iface);
990 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
994 static HRESULT WINAPI HTMLStyle_get_borderRight(IHTMLStyle *iface, BSTR *p)
996 HTMLStyle *This = HTMLSTYLE_THIS(iface);
997 FIXME("(%p)->(%p)\n", This, p);
1001 static HRESULT WINAPI HTMLStyle_put_borderBottom(IHTMLStyle *iface, BSTR v)
1003 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1004 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1008 static HRESULT WINAPI HTMLStyle_get_borderBottom(IHTMLStyle *iface, BSTR *p)
1010 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1011 FIXME("(%p)->(%p)\n", This, p);
1015 static HRESULT WINAPI HTMLStyle_put_borderLeft(IHTMLStyle *iface, BSTR v)
1017 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1019 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1021 return set_style_attr(This, attrBorderLeft, v, ATTR_FIX_PX);
1024 static HRESULT WINAPI HTMLStyle_get_borderLeft(IHTMLStyle *iface, BSTR *p)
1026 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1027 FIXME("(%p)->(%p)\n", This, p);
1031 static HRESULT WINAPI HTMLStyle_put_borderColor(IHTMLStyle *iface, BSTR v)
1033 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1034 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1038 static HRESULT WINAPI HTMLStyle_get_borderColor(IHTMLStyle *iface, BSTR *p)
1040 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1041 FIXME("(%p)->(%p)\n", This, p);
1045 static HRESULT WINAPI HTMLStyle_put_borderTopColor(IHTMLStyle *iface, VARIANT v)
1047 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1048 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1052 static HRESULT WINAPI HTMLStyle_get_borderTopColor(IHTMLStyle *iface, VARIANT *p)
1054 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1055 FIXME("(%p)->(%p)\n", This, p);
1059 static HRESULT WINAPI HTMLStyle_put_borderRightColor(IHTMLStyle *iface, VARIANT v)
1061 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1062 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1066 static HRESULT WINAPI HTMLStyle_get_borderRightColor(IHTMLStyle *iface, VARIANT *p)
1068 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1069 FIXME("(%p)->(%p)\n", This, p);
1073 static HRESULT WINAPI HTMLStyle_put_borderBottomColor(IHTMLStyle *iface, VARIANT v)
1075 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1076 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1080 static HRESULT WINAPI HTMLStyle_get_borderBottomColor(IHTMLStyle *iface, VARIANT *p)
1082 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1083 FIXME("(%p)->(%p)\n", This, p);
1087 static HRESULT WINAPI HTMLStyle_put_borderLeftColor(IHTMLStyle *iface, VARIANT v)
1089 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1090 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1094 static HRESULT WINAPI HTMLStyle_get_borderLeftColor(IHTMLStyle *iface, VARIANT *p)
1096 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1097 FIXME("(%p)->(%p)\n", This, p);
1101 static HRESULT WINAPI HTMLStyle_put_borderWidth(IHTMLStyle *iface, BSTR v)
1103 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1104 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1108 static HRESULT WINAPI HTMLStyle_get_borderWidth(IHTMLStyle *iface, BSTR *p)
1110 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1111 FIXME("(%p)->(%p)\n", This, p);
1115 static HRESULT WINAPI HTMLStyle_put_borderTopWidth(IHTMLStyle *iface, VARIANT v)
1117 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1118 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1122 static HRESULT WINAPI HTMLStyle_get_borderTopWidth(IHTMLStyle *iface, VARIANT *p)
1124 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1125 FIXME("(%p)->(%p)\n", This, p);
1129 static HRESULT WINAPI HTMLStyle_put_borderRightWidth(IHTMLStyle *iface, VARIANT v)
1131 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1132 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1136 static HRESULT WINAPI HTMLStyle_get_borderRightWidth(IHTMLStyle *iface, VARIANT *p)
1138 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1139 FIXME("(%p)->(%p)\n", This, p);
1143 static HRESULT WINAPI HTMLStyle_put_borderBottomWidth(IHTMLStyle *iface, VARIANT v)
1145 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1146 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1150 static HRESULT WINAPI HTMLStyle_get_borderBottomWidth(IHTMLStyle *iface, VARIANT *p)
1152 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1153 FIXME("(%p)->(%p)\n", This, p);
1157 static HRESULT WINAPI HTMLStyle_put_borderLeftWidth(IHTMLStyle *iface, VARIANT v)
1159 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1160 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1164 static HRESULT WINAPI HTMLStyle_get_borderLeftWidth(IHTMLStyle *iface, VARIANT *p)
1166 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1167 FIXME("(%p)->(%p)\n", This, p);
1171 static HRESULT WINAPI HTMLStyle_put_borderStyle(IHTMLStyle *iface, BSTR v)
1173 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1174 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1178 static HRESULT WINAPI HTMLStyle_get_borderStyle(IHTMLStyle *iface, BSTR *p)
1180 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1181 FIXME("(%p)->(%p)\n", This, p);
1185 static HRESULT WINAPI HTMLStyle_put_borderTopStyle(IHTMLStyle *iface, BSTR v)
1187 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1188 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1192 static HRESULT WINAPI HTMLStyle_get_borderTopStyle(IHTMLStyle *iface, BSTR *p)
1194 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1195 FIXME("(%p)->(%p)\n", This, p);
1199 static HRESULT WINAPI HTMLStyle_put_borderRightStyle(IHTMLStyle *iface, BSTR v)
1201 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1202 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1206 static HRESULT WINAPI HTMLStyle_get_borderRightStyle(IHTMLStyle *iface, BSTR *p)
1208 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1209 FIXME("(%p)->(%p)\n", This, p);
1213 static HRESULT WINAPI HTMLStyle_put_borderBottomStyle(IHTMLStyle *iface, BSTR v)
1215 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1216 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1220 static HRESULT WINAPI HTMLStyle_get_borderBottomStyle(IHTMLStyle *iface, BSTR *p)
1222 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1223 FIXME("(%p)->(%p)\n", This, p);
1227 static HRESULT WINAPI HTMLStyle_put_borderLeftStyle(IHTMLStyle *iface, BSTR v)
1229 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1230 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1234 static HRESULT WINAPI HTMLStyle_get_borderLeftStyle(IHTMLStyle *iface, BSTR *p)
1236 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1237 FIXME("(%p)->(%p)\n", This, p);
1241 static HRESULT WINAPI HTMLStyle_put_width(IHTMLStyle *iface, VARIANT v)
1243 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1244 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1248 static HRESULT WINAPI HTMLStyle_get_width(IHTMLStyle *iface, VARIANT *p)
1250 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1251 FIXME("(%p)->(%p)\n", This, p);
1255 static HRESULT WINAPI HTMLStyle_put_height(IHTMLStyle *iface, VARIANT v)
1257 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1258 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1262 static HRESULT WINAPI HTMLStyle_get_height(IHTMLStyle *iface, VARIANT *p)
1264 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1265 FIXME("(%p)->(%p)\n", This, p);
1269 static HRESULT WINAPI HTMLStyle_put_styleFloat(IHTMLStyle *iface, BSTR v)
1271 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1272 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1276 static HRESULT WINAPI HTMLStyle_get_styleFloat(IHTMLStyle *iface, BSTR *p)
1278 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1279 FIXME("(%p)->(%p)\n", This, p);
1283 static HRESULT WINAPI HTMLStyle_put_clear(IHTMLStyle *iface, BSTR v)
1285 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1286 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1290 static HRESULT WINAPI HTMLStyle_get_clear(IHTMLStyle *iface, BSTR *p)
1292 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1293 FIXME("(%p)->(%p)\n", This, p);
1297 static HRESULT WINAPI HTMLStyle_put_display(IHTMLStyle *iface, BSTR v)
1299 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1301 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1303 return set_style_attr(This, attrDisplay, v, 0);
1306 static HRESULT WINAPI HTMLStyle_get_display(IHTMLStyle *iface, BSTR *p)
1308 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1310 TRACE("(%p)->(%p)\n", This, p);
1312 return get_style_attr(This, attrDisplay, p);
1315 static HRESULT WINAPI HTMLStyle_put_visibility(IHTMLStyle *iface, BSTR v)
1317 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1319 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1321 return set_style_attr(This, attrVisibility, v, 0);
1324 static HRESULT WINAPI HTMLStyle_get_visibility(IHTMLStyle *iface, BSTR *p)
1326 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1328 TRACE("(%p)->(%p)\n", This, p);
1330 return get_style_attr(This, attrVisibility, p);
1333 static HRESULT WINAPI HTMLStyle_put_listStyleType(IHTMLStyle *iface, BSTR v)
1335 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1336 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1340 static HRESULT WINAPI HTMLStyle_get_listStyleType(IHTMLStyle *iface, BSTR *p)
1342 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1343 FIXME("(%p)->(%p)\n", This, p);
1347 static HRESULT WINAPI HTMLStyle_put_listStylePosition(IHTMLStyle *iface, BSTR v)
1349 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1350 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1354 static HRESULT WINAPI HTMLStyle_get_listStylePosition(IHTMLStyle *iface, BSTR *p)
1356 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1357 FIXME("(%p)->(%p)\n", This, p);
1361 static HRESULT WINAPI HTMLStyle_put_listStyleImage(IHTMLStyle *iface, BSTR v)
1363 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1364 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1368 static HRESULT WINAPI HTMLStyle_get_listStyleImage(IHTMLStyle *iface, BSTR *p)
1370 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1371 FIXME("(%p)->(%p)\n", This, p);
1375 static HRESULT WINAPI HTMLStyle_put_listStyle(IHTMLStyle *iface, BSTR v)
1377 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1378 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1382 static HRESULT WINAPI HTMLStyle_get_listStyle(IHTMLStyle *iface, BSTR *p)
1384 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1385 FIXME("(%p)->(%p)\n", This, p);
1389 static HRESULT WINAPI HTMLStyle_put_whiteSpace(IHTMLStyle *iface, BSTR v)
1391 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1392 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1396 static HRESULT WINAPI HTMLStyle_get_whiteSpace(IHTMLStyle *iface, BSTR *p)
1398 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1399 FIXME("(%p)->(%p)\n", This, p);
1403 static HRESULT WINAPI HTMLStyle_put_top(IHTMLStyle *iface, VARIANT v)
1405 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1406 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1410 static HRESULT WINAPI HTMLStyle_get_top(IHTMLStyle *iface, VARIANT *p)
1412 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1413 FIXME("(%p)->(%p)\n", This, p);
1417 static HRESULT WINAPI HTMLStyle_put_left(IHTMLStyle *iface, VARIANT v)
1419 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1420 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1424 static HRESULT WINAPI HTMLStyle_get_left(IHTMLStyle *iface, VARIANT *p)
1426 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1427 FIXME("(%p)->(%p)\n", This, p);
1431 static HRESULT WINAPI HTMLStyle_get_position(IHTMLStyle *iface, BSTR *p)
1433 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1434 FIXME("(%p)->(%p)\n", This, p);
1438 static HRESULT WINAPI HTMLStyle_put_zIndex(IHTMLStyle *iface, VARIANT v)
1440 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1441 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1445 static HRESULT WINAPI HTMLStyle_get_zIndex(IHTMLStyle *iface, VARIANT *p)
1447 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1448 FIXME("(%p)->(%p)\n", This, p);
1452 static HRESULT WINAPI HTMLStyle_put_overflow(IHTMLStyle *iface, BSTR v)
1454 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1455 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1459 static HRESULT WINAPI HTMLStyle_get_overflow(IHTMLStyle *iface, BSTR *p)
1461 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1462 FIXME("(%p)->(%p)\n", This, p);
1466 static HRESULT WINAPI HTMLStyle_put_pageBreakBefore(IHTMLStyle *iface, BSTR v)
1468 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1469 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1473 static HRESULT WINAPI HTMLStyle_get_pageBreakBefore(IHTMLStyle *iface, BSTR *p)
1475 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1476 FIXME("(%p)->(%p)\n", This, p);
1480 static HRESULT WINAPI HTMLStyle_put_pageBreakAfter(IHTMLStyle *iface, BSTR v)
1482 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1483 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1487 static HRESULT WINAPI HTMLStyle_get_pageBreakAfter(IHTMLStyle *iface, BSTR *p)
1489 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1490 FIXME("(%p)->(%p)\n", This, p);
1494 static HRESULT WINAPI HTMLStyle_put_cssText(IHTMLStyle *iface, BSTR v)
1496 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1497 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1501 static HRESULT WINAPI HTMLStyle_get_cssText(IHTMLStyle *iface, BSTR *p)
1503 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1504 FIXME("(%p)->(%p)\n", This, p);
1508 static HRESULT WINAPI HTMLStyle_put_pixelTop(IHTMLStyle *iface, long v)
1510 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1511 FIXME("(%p)->()\n", This);
1515 static HRESULT WINAPI HTMLStyle_get_pixelTop(IHTMLStyle *iface, long *p)
1517 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1518 FIXME("(%p)->()\n", This);
1522 static HRESULT WINAPI HTMLStyle_put_pixelLeft(IHTMLStyle *iface, long v)
1524 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1525 FIXME("(%p)->()\n", This);
1529 static HRESULT WINAPI HTMLStyle_get_pixelLeft(IHTMLStyle *iface, long *p)
1531 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1532 FIXME("(%p)->()\n", This);
1536 static HRESULT WINAPI HTMLStyle_put_pixelWidth(IHTMLStyle *iface, long v)
1538 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1539 FIXME("(%p)->()\n", This);
1543 static HRESULT WINAPI HTMLStyle_get_pixelWidth(IHTMLStyle *iface, long *p)
1545 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1546 FIXME("(%p)->()\n", This);
1550 static HRESULT WINAPI HTMLStyle_put_pixelHeight(IHTMLStyle *iface, long v)
1552 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1553 FIXME("(%p)->()\n", This);
1557 static HRESULT WINAPI HTMLStyle_get_pixelHeight(IHTMLStyle *iface, long *p)
1559 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1560 FIXME("(%p)->()\n", This);
1564 static HRESULT WINAPI HTMLStyle_put_posTop(IHTMLStyle *iface, float v)
1566 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1567 FIXME("(%p)->()\n", This);
1571 static HRESULT WINAPI HTMLStyle_get_posTop(IHTMLStyle *iface, float *p)
1573 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1574 FIXME("(%p)->()\n", This);
1578 static HRESULT WINAPI HTMLStyle_put_posLeft(IHTMLStyle *iface, float v)
1580 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1581 FIXME("(%p)->()\n", This);
1585 static HRESULT WINAPI HTMLStyle_get_posLeft(IHTMLStyle *iface, float *p)
1587 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1588 FIXME("(%p)->()\n", This);
1592 static HRESULT WINAPI HTMLStyle_put_posWidth(IHTMLStyle *iface, float v)
1594 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1595 FIXME("(%p)->()\n", This);
1599 static HRESULT WINAPI HTMLStyle_get_posWidth(IHTMLStyle *iface, float *p)
1601 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1602 FIXME("(%p)->()\n", This);
1606 static HRESULT WINAPI HTMLStyle_put_posHeight(IHTMLStyle *iface, float v)
1608 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1609 FIXME("(%p)->()\n", This);
1613 static HRESULT WINAPI HTMLStyle_get_posHeight(IHTMLStyle *iface, float *p)
1615 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1616 FIXME("(%p)->()\n", This);
1620 static HRESULT WINAPI HTMLStyle_put_cursor(IHTMLStyle *iface, BSTR v)
1622 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1623 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1627 static HRESULT WINAPI HTMLStyle_get_cursor(IHTMLStyle *iface, BSTR *p)
1629 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1630 FIXME("(%p)->(%p)\n", This, p);
1634 static HRESULT WINAPI HTMLStyle_put_clip(IHTMLStyle *iface, BSTR v)
1636 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1637 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1641 static HRESULT WINAPI HTMLStyle_get_clip(IHTMLStyle *iface, BSTR *p)
1643 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1644 FIXME("(%p)->(%p)\n", This, p);
1648 static HRESULT WINAPI HTMLStyle_put_filter(IHTMLStyle *iface, BSTR v)
1650 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1651 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1655 static HRESULT WINAPI HTMLStyle_get_filter(IHTMLStyle *iface, BSTR *p)
1657 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1658 FIXME("(%p)->(%p)\n", This, p);
1662 static HRESULT WINAPI HTMLStyle_setAttribute(IHTMLStyle *iface, BSTR strAttributeName,
1663 VARIANT AttributeValue, LONG lFlags)
1665 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1666 FIXME("(%p)->(%s v%d %08x)\n", This, debugstr_w(strAttributeName),
1667 V_VT(&AttributeValue), lFlags);
1671 static HRESULT WINAPI HTMLStyle_getAttribute(IHTMLStyle *iface, BSTR strAttributeName,
1672 LONG lFlags, VARIANT *AttributeValue)
1674 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1675 FIXME("(%p)->(%s %08x %p)\n", This, debugstr_w(strAttributeName),
1676 lFlags, AttributeValue);
1680 static HRESULT WINAPI HTMLStyle_removeAttribute(IHTMLStyle *iface, BSTR strAttributeName,
1681 LONG lFlags, VARIANT_BOOL *pfSuccess)
1683 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1684 FIXME("(%p)->(%s %08x %p)\n", This, debugstr_w(strAttributeName),
1689 static HRESULT WINAPI HTMLStyle_toString(IHTMLStyle *iface, BSTR *String)
1691 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1692 FIXME("(%p)->(%p)\n", This, String);
1696 static const IHTMLStyleVtbl HTMLStyleVtbl = {
1697 HTMLStyle_QueryInterface,
1700 HTMLStyle_GetTypeInfoCount,
1701 HTMLStyle_GetTypeInfo,
1702 HTMLStyle_GetIDsOfNames,
1704 HTMLStyle_put_fontFamily,
1705 HTMLStyle_get_fontFamily,
1706 HTMLStyle_put_fontStyle,
1707 HTMLStyle_get_fontStyle,
1708 HTMLStyle_put_fontVariant,
1709 HTMLStyle_get_fontVariant,
1710 HTMLStyle_put_fontWeight,
1711 HTMLStyle_get_fontWeight,
1712 HTMLStyle_put_fontSize,
1713 HTMLStyle_get_fontSize,
1716 HTMLStyle_put_color,
1717 HTMLStyle_get_color,
1718 HTMLStyle_put_background,
1719 HTMLStyle_get_background,
1720 HTMLStyle_put_backgroundColor,
1721 HTMLStyle_get_backgroundColor,
1722 HTMLStyle_put_backgroundImage,
1723 HTMLStyle_get_backgroundImage,
1724 HTMLStyle_put_backgroundRepeat,
1725 HTMLStyle_get_backgroundRepeat,
1726 HTMLStyle_put_backgroundAttachment,
1727 HTMLStyle_get_backgroundAttachment,
1728 HTMLStyle_put_backgroundPosition,
1729 HTMLStyle_get_backgroundPosition,
1730 HTMLStyle_put_backgroundPositionX,
1731 HTMLStyle_get_backgroundPositionX,
1732 HTMLStyle_put_backgroundPositionY,
1733 HTMLStyle_get_backgroundPositionY,
1734 HTMLStyle_put_wordSpacing,
1735 HTMLStyle_get_wordSpacing,
1736 HTMLStyle_put_letterSpacing,
1737 HTMLStyle_get_letterSpacing,
1738 HTMLStyle_put_textDecoration,
1739 HTMLStyle_get_textDecoration,
1740 HTMLStyle_put_textDecorationNone,
1741 HTMLStyle_get_textDecorationNone,
1742 HTMLStyle_put_textDecorationUnderline,
1743 HTMLStyle_get_textDecorationUnderline,
1744 HTMLStyle_put_textDecorationOverline,
1745 HTMLStyle_get_textDecorationOverline,
1746 HTMLStyle_put_textDecorationLineThrough,
1747 HTMLStyle_get_textDecorationLineThrough,
1748 HTMLStyle_put_textDecorationBlink,
1749 HTMLStyle_get_textDecorationBlink,
1750 HTMLStyle_put_verticalAlign,
1751 HTMLStyle_get_verticalAlign,
1752 HTMLStyle_put_textTransform,
1753 HTMLStyle_get_textTransform,
1754 HTMLStyle_put_textAlign,
1755 HTMLStyle_get_textAlign,
1756 HTMLStyle_put_textIndent,
1757 HTMLStyle_get_textIndent,
1758 HTMLStyle_put_lineHeight,
1759 HTMLStyle_get_lineHeight,
1760 HTMLStyle_put_marginTop,
1761 HTMLStyle_get_marginTop,
1762 HTMLStyle_put_marginRight,
1763 HTMLStyle_get_marginRight,
1764 HTMLStyle_put_marginBottom,
1765 HTMLStyle_get_marginBottom,
1766 HTMLStyle_put_marginLeft,
1767 HTMLStyle_get_marginLeft,
1768 HTMLStyle_put_margin,
1769 HTMLStyle_get_margin,
1770 HTMLStyle_put_paddingTop,
1771 HTMLStyle_get_paddingTop,
1772 HTMLStyle_put_paddingRight,
1773 HTMLStyle_get_paddingRight,
1774 HTMLStyle_put_paddingBottom,
1775 HTMLStyle_get_paddingBottom,
1776 HTMLStyle_put_paddingLeft,
1777 HTMLStyle_get_paddingLeft,
1778 HTMLStyle_put_padding,
1779 HTMLStyle_get_padding,
1780 HTMLStyle_put_border,
1781 HTMLStyle_get_border,
1782 HTMLStyle_put_borderTop,
1783 HTMLStyle_get_borderTop,
1784 HTMLStyle_put_borderRight,
1785 HTMLStyle_get_borderRight,
1786 HTMLStyle_put_borderBottom,
1787 HTMLStyle_get_borderBottom,
1788 HTMLStyle_put_borderLeft,
1789 HTMLStyle_get_borderLeft,
1790 HTMLStyle_put_borderColor,
1791 HTMLStyle_get_borderColor,
1792 HTMLStyle_put_borderTopColor,
1793 HTMLStyle_get_borderTopColor,
1794 HTMLStyle_put_borderRightColor,
1795 HTMLStyle_get_borderRightColor,
1796 HTMLStyle_put_borderBottomColor,
1797 HTMLStyle_get_borderBottomColor,
1798 HTMLStyle_put_borderLeftColor,
1799 HTMLStyle_get_borderLeftColor,
1800 HTMLStyle_put_borderWidth,
1801 HTMLStyle_get_borderWidth,
1802 HTMLStyle_put_borderTopWidth,
1803 HTMLStyle_get_borderTopWidth,
1804 HTMLStyle_put_borderRightWidth,
1805 HTMLStyle_get_borderRightWidth,
1806 HTMLStyle_put_borderBottomWidth,
1807 HTMLStyle_get_borderBottomWidth,
1808 HTMLStyle_put_borderLeftWidth,
1809 HTMLStyle_get_borderLeftWidth,
1810 HTMLStyle_put_borderStyle,
1811 HTMLStyle_get_borderStyle,
1812 HTMLStyle_put_borderTopStyle,
1813 HTMLStyle_get_borderTopStyle,
1814 HTMLStyle_put_borderRightStyle,
1815 HTMLStyle_get_borderRightStyle,
1816 HTMLStyle_put_borderBottomStyle,
1817 HTMLStyle_get_borderBottomStyle,
1818 HTMLStyle_put_borderLeftStyle,
1819 HTMLStyle_get_borderLeftStyle,
1820 HTMLStyle_put_width,
1821 HTMLStyle_get_width,
1822 HTMLStyle_put_height,
1823 HTMLStyle_get_height,
1824 HTMLStyle_put_styleFloat,
1825 HTMLStyle_get_styleFloat,
1826 HTMLStyle_put_clear,
1827 HTMLStyle_get_clear,
1828 HTMLStyle_put_display,
1829 HTMLStyle_get_display,
1830 HTMLStyle_put_visibility,
1831 HTMLStyle_get_visibility,
1832 HTMLStyle_put_listStyleType,
1833 HTMLStyle_get_listStyleType,
1834 HTMLStyle_put_listStylePosition,
1835 HTMLStyle_get_listStylePosition,
1836 HTMLStyle_put_listStyleImage,
1837 HTMLStyle_get_listStyleImage,
1838 HTMLStyle_put_listStyle,
1839 HTMLStyle_get_listStyle,
1840 HTMLStyle_put_whiteSpace,
1841 HTMLStyle_get_whiteSpace,
1846 HTMLStyle_get_position,
1847 HTMLStyle_put_zIndex,
1848 HTMLStyle_get_zIndex,
1849 HTMLStyle_put_overflow,
1850 HTMLStyle_get_overflow,
1851 HTMLStyle_put_pageBreakBefore,
1852 HTMLStyle_get_pageBreakBefore,
1853 HTMLStyle_put_pageBreakAfter,
1854 HTMLStyle_get_pageBreakAfter,
1855 HTMLStyle_put_cssText,
1856 HTMLStyle_get_cssText,
1857 HTMLStyle_put_pixelTop,
1858 HTMLStyle_get_pixelTop,
1859 HTMLStyle_put_pixelLeft,
1860 HTMLStyle_get_pixelLeft,
1861 HTMLStyle_put_pixelWidth,
1862 HTMLStyle_get_pixelWidth,
1863 HTMLStyle_put_pixelHeight,
1864 HTMLStyle_get_pixelHeight,
1865 HTMLStyle_put_posTop,
1866 HTMLStyle_get_posTop,
1867 HTMLStyle_put_posLeft,
1868 HTMLStyle_get_posLeft,
1869 HTMLStyle_put_posWidth,
1870 HTMLStyle_get_posWidth,
1871 HTMLStyle_put_posHeight,
1872 HTMLStyle_get_posHeight,
1873 HTMLStyle_put_cursor,
1874 HTMLStyle_get_cursor,
1877 HTMLStyle_put_filter,
1878 HTMLStyle_get_filter,
1879 HTMLStyle_setAttribute,
1880 HTMLStyle_getAttribute,
1881 HTMLStyle_removeAttribute,
1885 static const tid_t HTMLStyle_iface_tids[] = {
1889 static dispex_static_data_t HTMLStyle_dispex = {
1893 HTMLStyle_iface_tids
1896 IHTMLStyle *HTMLStyle_Create(nsIDOMCSSStyleDeclaration *nsstyle)
1898 HTMLStyle *ret = heap_alloc(sizeof(HTMLStyle));
1900 ret->lpHTMLStyleVtbl = &HTMLStyleVtbl;
1902 ret->nsstyle = nsstyle;
1904 nsIDOMCSSStyleDeclaration_AddRef(nsstyle);
1906 init_dispex(&ret->dispex, (IUnknown*)HTMLSTYLE(ret), &HTMLStyle_dispex);
1908 return HTMLSTYLE(ret);