msxml3: Corrected Entity Reference Test.
[wine.git] / dlls / mshtml / htmlstyle.c
blobbf3cb4ae63e23921d51e96316548f1845d38a4bf
1 /*
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
19 #include "config.h"
21 #include <stdarg.h>
22 #include <stdio.h>
24 #define COBJMACROS
26 #include "windef.h"
27 #include "winbase.h"
28 #include "winuser.h"
29 #include "winnls.h"
30 #include "ole2.h"
32 #include "wine/debug.h"
33 #include "wine/unicode.h"
35 #include "mshtml_private.h"
37 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
39 typedef struct {
40 const IHTMLStyleVtbl *lpHTMLStyleVtbl;
42 LONG ref;
44 nsIDOMCSSStyleDeclaration *nsstyle;
45 } HTMLStyle;
47 #define HTMLSTYLE(x) ((IHTMLStyle*) &(x)->lpHTMLStyleVtbl);
49 static const WCHAR attrBackgroundColor[] =
50 {'b','a','c','k','g','r','o','u','n','d','-','c','o','l','o','r',0};
51 static const WCHAR attrBorderLeft[] =
52 {'b','o','r','d','e','r','-','l','e','f','t',0};
53 static const WCHAR attrColor[] =
54 {'c','o','l','o','r',0};
55 static const WCHAR attrDisplay[] =
56 {'d','i','s','p','l','a','y',0};
57 static const WCHAR attrFontFamily[] =
58 {'f','o','n','t','-','f','a','m','i','l','y',0};
59 static const WCHAR attrFontSize[] =
60 {'f','o','n','t','-','s','i','z','e',0};
61 static const WCHAR attrFontStyle[] =
62 {'f','o','n','t','-','s','t','y','l','e',0};
63 static const WCHAR attrFontWeight[] =
64 {'f','o','n','t','-','w','e','i','g','h','t',0};
65 static const WCHAR attrMarginLeft[] =
66 {'m','a','r','g','i','n','-','l','e','f','t',0};
67 static const WCHAR attrMarginRight[] =
68 {'m','a','r','g','i','n','-','r','i','g','h','t',0};
69 static const WCHAR attrPaddingLeft[] =
70 {'p','a','d','d','i','n','g','-','l','e','f','t',0};
71 static const WCHAR attrTextDecoration[] =
72 {'t','e','x','t','-','d','e','c','o','r','a','t','i','o','n',0};
73 static const WCHAR attrVisibility[] =
74 {'v','i','s','i','b','i','l','i','t','y',0};
76 static const WCHAR valLineThrough[] =
77 {'l','i','n','e','-','t','h','r','o','u','g','h',0};
78 static const WCHAR valUnderline[] =
79 {'u','n','d','e','r','l','i','n','e',0};
81 static const WCHAR px_formatW[] = {'%','d','p','x',0};
82 static const WCHAR emptyW[] = {0};
84 static LPWSTR fix_px_value(LPCWSTR val)
86 LPCWSTR ptr = val;
88 while(*ptr) {
89 while(*ptr && isspaceW(*ptr))
90 ptr++;
91 if(!*ptr)
92 break;
94 while(*ptr && isdigitW(*ptr))
95 ptr++;
97 if(!*ptr || isspaceW(*ptr)) {
98 LPWSTR ret, p;
99 int len = strlenW(val)+1;
101 ret = heap_alloc((len+2)*sizeof(WCHAR));
102 memcpy(ret, val, (ptr-val)*sizeof(WCHAR));
103 p = ret + (ptr-val);
104 *p++ = 'p';
105 *p++ = 'x';
106 strcpyW(p, ptr);
108 TRACE("fixed %s -> %s\n", debugstr_w(val), debugstr_w(ret));
110 return ret;
113 while(*ptr && !isspaceW(*ptr))
114 ptr++;
117 return NULL;
120 #define ATTR_FIX_PX 1
122 static HRESULT set_style_attr(HTMLStyle *This, LPCWSTR name, LPCWSTR value, DWORD flags)
124 nsAString str_name, str_value, str_empty;
125 LPWSTR val = NULL;
126 nsresult nsres;
128 static const PRUnichar wszEmpty[] = {0};
130 TRACE("(%p)->(%s %s)\n", This, debugstr_w(name), debugstr_w(value));
132 if(flags & ATTR_FIX_PX)
133 val = fix_px_value(value);
135 nsAString_Init(&str_name, name);
136 nsAString_Init(&str_value, val ? val : value);
137 nsAString_Init(&str_empty, wszEmpty);
138 heap_free(val);
140 nsres = nsIDOMCSSStyleDeclaration_SetProperty(This->nsstyle, &str_name, &str_value, &str_empty);
141 if(NS_FAILED(nsres))
142 ERR("SetProperty failed: %08x\n", nsres);
144 nsAString_Finish(&str_name);
145 nsAString_Finish(&str_value);
146 nsAString_Finish(&str_empty);
148 return S_OK;
151 static HRESULT get_style_attr_nsval(HTMLStyle *This, LPCWSTR name, nsAString *value)
153 nsAString str_name;
154 nsresult nsres;
156 nsAString_Init(&str_name, name);
158 nsres = nsIDOMCSSStyleDeclaration_GetPropertyValue(This->nsstyle, &str_name, value);
159 if(NS_FAILED(nsres)) {
160 ERR("SetProperty failed: %08x\n", nsres);
161 return E_FAIL;
164 nsAString_Finish(&str_name);
166 return NS_OK;
169 static HRESULT get_style_attr(HTMLStyle *This, LPCWSTR name, BSTR *p)
171 nsAString str_value;
172 const PRUnichar *value;
174 nsAString_Init(&str_value, NULL);
176 get_style_attr_nsval(This, name, &str_value);
178 nsAString_GetData(&str_value, &value);
179 *p = *value ? SysAllocString(value) : NULL;
181 nsAString_Finish(&str_value);
183 TRACE("%s -> %s\n", debugstr_w(name), debugstr_w(*p));
184 return S_OK;
187 static HRESULT check_style_attr_value(HTMLStyle *This, LPCWSTR name, LPCWSTR exval, VARIANT_BOOL *p)
189 nsAString str_value;
190 const PRUnichar *value;
192 nsAString_Init(&str_value, NULL);
194 get_style_attr_nsval(This, name, &str_value);
196 nsAString_GetData(&str_value, &value);
197 *p = strcmpW(value, exval) ? VARIANT_FALSE : VARIANT_TRUE;
198 nsAString_Finish(&str_value);
200 TRACE("%s -> %x\n", debugstr_w(name), *p);
201 return S_OK;
204 #define HTMLSTYLE_THIS(iface) DEFINE_THIS(HTMLStyle, HTMLStyle, iface)
206 static HRESULT WINAPI HTMLStyle_QueryInterface(IHTMLStyle *iface, REFIID riid, void **ppv)
208 HTMLStyle *This = HTMLSTYLE_THIS(iface);
210 *ppv = NULL;
212 if(IsEqualGUID(&IID_IUnknown, riid)) {
213 TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
214 *ppv = HTMLSTYLE(This);
215 }else if(IsEqualGUID(&IID_IDispatch, riid)) {
216 TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
217 *ppv = HTMLSTYLE(This);
218 }else if(IsEqualGUID(&IID_IHTMLStyle, riid)) {
219 TRACE("(%p)->(IID_IHTMLStyle %p)\n", This, ppv);
220 *ppv = HTMLSTYLE(This);
223 if(*ppv) {
224 IUnknown_AddRef((IUnknown*)*ppv);
225 return S_OK;
228 WARN("unsupported %s\n", debugstr_guid(riid));
229 return E_NOINTERFACE;
232 static ULONG WINAPI HTMLStyle_AddRef(IHTMLStyle *iface)
234 HTMLStyle *This = HTMLSTYLE_THIS(iface);
235 LONG ref = InterlockedIncrement(&This->ref);
237 TRACE("(%p) ref=%d\n", This, ref);
239 return ref;
242 static ULONG WINAPI HTMLStyle_Release(IHTMLStyle *iface)
244 HTMLStyle *This = HTMLSTYLE_THIS(iface);
245 LONG ref = InterlockedDecrement(&This->ref);
247 TRACE("(%p) ref=%d\n", This, ref);
249 if(!ref)
250 heap_free(This);
252 return ref;
255 static HRESULT WINAPI HTMLStyle_GetTypeInfoCount(IHTMLStyle *iface, UINT *pctinfo)
257 HTMLStyle *This = HTMLSTYLE_THIS(iface);
258 FIXME("(%p)->(%p)\n", This, pctinfo);
259 return E_NOTIMPL;
262 static HRESULT WINAPI HTMLStyle_GetTypeInfo(IHTMLStyle *iface, UINT iTInfo,
263 LCID lcid, ITypeInfo **ppTInfo)
265 HTMLStyle *This = HTMLSTYLE_THIS(iface);
266 FIXME("(%p)->(%u %u %p)\n", This, iTInfo, lcid, ppTInfo);
267 return E_NOTIMPL;
270 static HRESULT WINAPI HTMLStyle_GetIDsOfNames(IHTMLStyle *iface, REFIID riid,
271 LPOLESTR *rgszNames, UINT cNames,
272 LCID lcid, DISPID *rgDispId)
274 HTMLStyle *This = HTMLSTYLE_THIS(iface);
275 FIXME("(%p)->(%s %p %u %u %p)\n", This, debugstr_guid(riid), rgszNames, cNames,
276 lcid, rgDispId);
277 return E_NOTIMPL;
280 static HRESULT WINAPI HTMLStyle_Invoke(IHTMLStyle *iface, DISPID dispIdMember,
281 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
282 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
284 HTMLStyle *This = HTMLSTYLE_THIS(iface);
285 FIXME("(%p)->(%d %s %d %d %p %p %p %p)\n", This, dispIdMember, debugstr_guid(riid),
286 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
287 return E_NOTIMPL;
290 static HRESULT WINAPI HTMLStyle_put_fontFamily(IHTMLStyle *iface, BSTR v)
292 HTMLStyle *This = HTMLSTYLE_THIS(iface);
294 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
296 return set_style_attr(This, attrFontFamily, v, 0);
299 static HRESULT WINAPI HTMLStyle_get_fontFamily(IHTMLStyle *iface, BSTR *p)
301 HTMLStyle *This = HTMLSTYLE_THIS(iface);
303 TRACE("(%p)->(%p)\n", This, p);
305 return get_style_attr(This, attrFontFamily, p);
308 static HRESULT WINAPI HTMLStyle_put_fontStyle(IHTMLStyle *iface, BSTR v)
310 HTMLStyle *This = HTMLSTYLE_THIS(iface);
311 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
312 return E_NOTIMPL;
315 static HRESULT WINAPI HTMLStyle_get_fontStyle(IHTMLStyle *iface, BSTR *p)
317 HTMLStyle *This = HTMLSTYLE_THIS(iface);
319 TRACE("(%p)->(%p)\n", This, p);
321 return get_style_attr(This, attrFontStyle, p);
324 static HRESULT WINAPI HTMLStyle_put_fontVariant(IHTMLStyle *iface, BSTR v)
326 HTMLStyle *This = HTMLSTYLE_THIS(iface);
327 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
328 return E_NOTIMPL;
331 static HRESULT WINAPI HTMLStyle_get_fontVariant(IHTMLStyle *iface, BSTR *p)
333 HTMLStyle *This = HTMLSTYLE_THIS(iface);
334 FIXME("(%p)->(%p)\n", This, p);
335 return E_NOTIMPL;
338 static HRESULT WINAPI HTMLStyle_put_fontWeight(IHTMLStyle *iface, BSTR v)
340 HTMLStyle *This = HTMLSTYLE_THIS(iface);
341 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
342 return E_NOTIMPL;
345 static HRESULT WINAPI HTMLStyle_get_fontWeight(IHTMLStyle *iface, BSTR *p)
347 HTMLStyle *This = HTMLSTYLE_THIS(iface);
349 TRACE("(%p)->(%p)\n", This, p);
351 return get_style_attr(This, attrFontWeight, p);
354 static HRESULT WINAPI HTMLStyle_put_fontSize(IHTMLStyle *iface, VARIANT v)
356 HTMLStyle *This = HTMLSTYLE_THIS(iface);
358 TRACE("(%p)->(v%d)\n", This, V_VT(&v));
360 switch(V_VT(&v)) {
361 case VT_BSTR:
362 return set_style_attr(This, attrFontSize, V_BSTR(&v), 0);
363 default:
364 FIXME("not supported vt %d\n", V_VT(&v));
367 return S_OK;
370 static HRESULT WINAPI HTMLStyle_get_fontSize(IHTMLStyle *iface, VARIANT *p)
372 HTMLStyle *This = HTMLSTYLE_THIS(iface);
374 TRACE("(%p)->(%p)\n", This, p);
376 V_VT(p) = VT_BSTR;
377 return get_style_attr(This, attrFontSize, &V_BSTR(p));
380 static HRESULT WINAPI HTMLStyle_put_font(IHTMLStyle *iface, BSTR v)
382 HTMLStyle *This = HTMLSTYLE_THIS(iface);
383 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
384 return E_NOTIMPL;
387 static HRESULT WINAPI HTMLStyle_get_font(IHTMLStyle *iface, BSTR *p)
389 HTMLStyle *This = HTMLSTYLE_THIS(iface);
390 FIXME("(%p)->(%p)\n", This, p);
391 return E_NOTIMPL;
394 static HRESULT WINAPI HTMLStyle_put_color(IHTMLStyle *iface, VARIANT v)
396 HTMLStyle *This = HTMLSTYLE_THIS(iface);
397 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
398 return E_NOTIMPL;
401 static HRESULT WINAPI HTMLStyle_get_color(IHTMLStyle *iface, VARIANT *p)
403 HTMLStyle *This = HTMLSTYLE_THIS(iface);
405 TRACE("(%p)->(%p)\n", This, p);
407 V_VT(p) = VT_BSTR;
408 return get_style_attr(This, attrColor, &V_BSTR(p));
411 static HRESULT WINAPI HTMLStyle_put_background(IHTMLStyle *iface, BSTR v)
413 HTMLStyle *This = HTMLSTYLE_THIS(iface);
414 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
415 return E_NOTIMPL;
418 static HRESULT WINAPI HTMLStyle_get_background(IHTMLStyle *iface, BSTR *p)
420 HTMLStyle *This = HTMLSTYLE_THIS(iface);
421 FIXME("(%p)->(%p)\n", This, p);
422 return E_NOTIMPL;
425 static HRESULT WINAPI HTMLStyle_put_backgroundColor(IHTMLStyle *iface, VARIANT v)
427 HTMLStyle *This = HTMLSTYLE_THIS(iface);
429 TRACE("(%p)->(v%d)\n", This, V_VT(&v));
431 switch(V_VT(&v)) {
432 case VT_BSTR:
433 return set_style_attr(This, attrBackgroundColor, V_BSTR(&v), 0);
434 case VT_I4: {
435 WCHAR value[10];
436 static const WCHAR format[] = {'#','%','0','6','x',0};
438 wsprintfW(value, format, V_I4(&v));
439 return set_style_attr(This, attrBackgroundColor, value, 0);
441 default:
442 FIXME("unsupported vt %d\n", V_VT(&v));
445 return S_OK;
448 static HRESULT WINAPI HTMLStyle_get_backgroundColor(IHTMLStyle *iface, VARIANT *p)
450 HTMLStyle *This = HTMLSTYLE_THIS(iface);
451 FIXME("(%p)->(%p)\n", This, p);
452 return E_NOTIMPL;
455 static HRESULT WINAPI HTMLStyle_put_backgroundImage(IHTMLStyle *iface, BSTR v)
457 HTMLStyle *This = HTMLSTYLE_THIS(iface);
458 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
459 return E_NOTIMPL;
462 static HRESULT WINAPI HTMLStyle_get_backgroundImage(IHTMLStyle *iface, BSTR *p)
464 HTMLStyle *This = HTMLSTYLE_THIS(iface);
465 FIXME("(%p)->(%p)\n", This, p);
466 return E_NOTIMPL;
469 static HRESULT WINAPI HTMLStyle_put_backgroundRepeat(IHTMLStyle *iface, BSTR v)
471 HTMLStyle *This = HTMLSTYLE_THIS(iface);
472 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
473 return E_NOTIMPL;
476 static HRESULT WINAPI HTMLStyle_get_backgroundRepeat(IHTMLStyle *iface, BSTR *p)
478 HTMLStyle *This = HTMLSTYLE_THIS(iface);
479 FIXME("(%p)->(%p)\n", This, p);
480 return E_NOTIMPL;
483 static HRESULT WINAPI HTMLStyle_put_backgroundAttachment(IHTMLStyle *iface, BSTR v)
485 HTMLStyle *This = HTMLSTYLE_THIS(iface);
486 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
487 return E_NOTIMPL;
490 static HRESULT WINAPI HTMLStyle_get_backgroundAttachment(IHTMLStyle *iface, BSTR *p)
492 HTMLStyle *This = HTMLSTYLE_THIS(iface);
493 FIXME("(%p)->(%p)\n", This, p);
494 return E_NOTIMPL;
497 static HRESULT WINAPI HTMLStyle_put_backgroundPosition(IHTMLStyle *iface, BSTR v)
499 HTMLStyle *This = HTMLSTYLE_THIS(iface);
500 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
501 return E_NOTIMPL;
504 static HRESULT WINAPI HTMLStyle_get_backgroundPosition(IHTMLStyle *iface, BSTR *p)
506 HTMLStyle *This = HTMLSTYLE_THIS(iface);
507 FIXME("(%p)->(%p)\n", This, p);
508 return E_NOTIMPL;
511 static HRESULT WINAPI HTMLStyle_put_backgroundPositionX(IHTMLStyle *iface, VARIANT v)
513 HTMLStyle *This = HTMLSTYLE_THIS(iface);
514 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
515 return E_NOTIMPL;
518 static HRESULT WINAPI HTMLStyle_get_backgroundPositionX(IHTMLStyle *iface, VARIANT *p)
520 HTMLStyle *This = HTMLSTYLE_THIS(iface);
521 FIXME("(%p)->(%p)\n", This, p);
522 return E_NOTIMPL;
525 static HRESULT WINAPI HTMLStyle_put_backgroundPositionY(IHTMLStyle *iface, VARIANT v)
527 HTMLStyle *This = HTMLSTYLE_THIS(iface);
528 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
529 return E_NOTIMPL;
532 static HRESULT WINAPI HTMLStyle_get_backgroundPositionY(IHTMLStyle *iface, VARIANT *p)
534 HTMLStyle *This = HTMLSTYLE_THIS(iface);
535 FIXME("(%p)->(%p)\n", This, p);
536 return E_NOTIMPL;
539 static HRESULT WINAPI HTMLStyle_put_wordSpacing(IHTMLStyle *iface, VARIANT v)
541 HTMLStyle *This = HTMLSTYLE_THIS(iface);
542 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
543 return E_NOTIMPL;
546 static HRESULT WINAPI HTMLStyle_get_wordSpacing(IHTMLStyle *iface, VARIANT *p)
548 HTMLStyle *This = HTMLSTYLE_THIS(iface);
549 FIXME("(%p)->(%p)\n", This, p);
550 return E_NOTIMPL;
553 static HRESULT WINAPI HTMLStyle_put_letterSpacing(IHTMLStyle *iface, VARIANT v)
555 HTMLStyle *This = HTMLSTYLE_THIS(iface);
556 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
557 return E_NOTIMPL;
560 static HRESULT WINAPI HTMLStyle_get_letterSpacing(IHTMLStyle *iface, VARIANT *p)
562 HTMLStyle *This = HTMLSTYLE_THIS(iface);
563 FIXME("(%p)->(%p)\n", This, p);
564 return E_NOTIMPL;
567 static HRESULT WINAPI HTMLStyle_put_textDecoration(IHTMLStyle *iface, BSTR v)
569 HTMLStyle *This = HTMLSTYLE_THIS(iface);
570 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
571 return E_NOTIMPL;
574 static HRESULT WINAPI HTMLStyle_get_textDecoration(IHTMLStyle *iface, BSTR *p)
576 HTMLStyle *This = HTMLSTYLE_THIS(iface);
578 TRACE("(%p)->(%p)\n", This, p);
580 return get_style_attr(This, attrTextDecoration, p);
583 static HRESULT WINAPI HTMLStyle_put_textDecorationNone(IHTMLStyle *iface, VARIANT_BOOL v)
585 HTMLStyle *This = HTMLSTYLE_THIS(iface);
586 FIXME("(%p)->(%x)\n", This, v);
587 return E_NOTIMPL;
590 static HRESULT WINAPI HTMLStyle_get_textDecorationNone(IHTMLStyle *iface, VARIANT_BOOL *p)
592 HTMLStyle *This = HTMLSTYLE_THIS(iface);
593 FIXME("(%p)->(%p)\n", This, p);
594 return E_NOTIMPL;
597 static HRESULT WINAPI HTMLStyle_put_textDecorationUnderline(IHTMLStyle *iface, VARIANT_BOOL v)
599 HTMLStyle *This = HTMLSTYLE_THIS(iface);
600 FIXME("(%p)->(%x)\n", This, v);
601 return E_NOTIMPL;
604 static HRESULT WINAPI HTMLStyle_get_textDecorationUnderline(IHTMLStyle *iface, VARIANT_BOOL *p)
606 HTMLStyle *This = HTMLSTYLE_THIS(iface);
608 TRACE("(%p)->(%p)\n", This, p);
610 return check_style_attr_value(This, attrTextDecoration, valUnderline, p);
613 static HRESULT WINAPI HTMLStyle_put_textDecorationOverline(IHTMLStyle *iface, VARIANT_BOOL v)
615 HTMLStyle *This = HTMLSTYLE_THIS(iface);
616 FIXME("(%p)->(%x)\n", This, v);
617 return E_NOTIMPL;
620 static HRESULT WINAPI HTMLStyle_get_textDecorationOverline(IHTMLStyle *iface, VARIANT_BOOL *p)
622 HTMLStyle *This = HTMLSTYLE_THIS(iface);
623 FIXME("(%p)->(%p)\n", This, p);
624 return E_NOTIMPL;
627 static HRESULT WINAPI HTMLStyle_put_textDecorationLineThrough(IHTMLStyle *iface, VARIANT_BOOL v)
629 HTMLStyle *This = HTMLSTYLE_THIS(iface);
630 FIXME("(%p)->(%x)\n", This, v);
631 return E_NOTIMPL;
634 static HRESULT WINAPI HTMLStyle_get_textDecorationLineThrough(IHTMLStyle *iface, VARIANT_BOOL *p)
636 HTMLStyle *This = HTMLSTYLE_THIS(iface);
638 TRACE("(%p)->(%p)\n", This, p);
640 return check_style_attr_value(This, attrTextDecoration, valLineThrough, p);
643 static HRESULT WINAPI HTMLStyle_put_textDecorationBlink(IHTMLStyle *iface, VARIANT_BOOL v)
645 HTMLStyle *This = HTMLSTYLE_THIS(iface);
646 FIXME("(%p)->(%x)\n", This, v);
647 return E_NOTIMPL;
650 static HRESULT WINAPI HTMLStyle_get_textDecorationBlink(IHTMLStyle *iface, VARIANT_BOOL *p)
652 HTMLStyle *This = HTMLSTYLE_THIS(iface);
653 FIXME("(%p)->(%p)\n", This, p);
654 return E_NOTIMPL;
657 static HRESULT WINAPI HTMLStyle_put_verticalAlign(IHTMLStyle *iface, VARIANT v)
659 HTMLStyle *This = HTMLSTYLE_THIS(iface);
660 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
661 return E_NOTIMPL;
664 static HRESULT WINAPI HTMLStyle_get_verticalAlign(IHTMLStyle *iface, VARIANT *p)
666 HTMLStyle *This = HTMLSTYLE_THIS(iface);
667 FIXME("(%p)->(%p)\n", This, p);
668 return E_NOTIMPL;
671 static HRESULT WINAPI HTMLStyle_put_textTransform(IHTMLStyle *iface, BSTR v)
673 HTMLStyle *This = HTMLSTYLE_THIS(iface);
674 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
675 return E_NOTIMPL;
678 static HRESULT WINAPI HTMLStyle_get_textTransform(IHTMLStyle *iface, BSTR *p)
680 HTMLStyle *This = HTMLSTYLE_THIS(iface);
681 FIXME("(%p)->(%p)\n", This, p);
682 return E_NOTIMPL;
685 static HRESULT WINAPI HTMLStyle_put_textAlign(IHTMLStyle *iface, BSTR v)
687 HTMLStyle *This = HTMLSTYLE_THIS(iface);
688 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
689 return E_NOTIMPL;
692 static HRESULT WINAPI HTMLStyle_get_textAlign(IHTMLStyle *iface, BSTR *p)
694 HTMLStyle *This = HTMLSTYLE_THIS(iface);
695 FIXME("(%p)->(%p)\n", This, p);
696 return E_NOTIMPL;
699 static HRESULT WINAPI HTMLStyle_put_textIndent(IHTMLStyle *iface, VARIANT v)
701 HTMLStyle *This = HTMLSTYLE_THIS(iface);
702 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
703 return E_NOTIMPL;
706 static HRESULT WINAPI HTMLStyle_get_textIndent(IHTMLStyle *iface, VARIANT *p)
708 HTMLStyle *This = HTMLSTYLE_THIS(iface);
709 FIXME("(%p)->(%p)\n", This, p);
710 return E_NOTIMPL;
713 static HRESULT WINAPI HTMLStyle_put_lineHeight(IHTMLStyle *iface, VARIANT v)
715 HTMLStyle *This = HTMLSTYLE_THIS(iface);
716 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
717 return E_NOTIMPL;
720 static HRESULT WINAPI HTMLStyle_get_lineHeight(IHTMLStyle *iface, VARIANT *p)
722 HTMLStyle *This = HTMLSTYLE_THIS(iface);
723 FIXME("(%p)->(%p)\n", This, p);
724 return E_NOTIMPL;
727 static HRESULT WINAPI HTMLStyle_put_marginTop(IHTMLStyle *iface, VARIANT v)
729 HTMLStyle *This = HTMLSTYLE_THIS(iface);
730 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
731 return E_NOTIMPL;
734 static HRESULT WINAPI HTMLStyle_get_marginTop(IHTMLStyle *iface, VARIANT *p)
736 HTMLStyle *This = HTMLSTYLE_THIS(iface);
737 FIXME("(%p)->(%p)\n", This, p);
738 return E_NOTIMPL;
741 static HRESULT WINAPI HTMLStyle_put_marginRight(IHTMLStyle *iface, VARIANT v)
743 HTMLStyle *This = HTMLSTYLE_THIS(iface);
745 TRACE("(%p)->(v(%d))\n", This, V_VT(&v));
747 switch(V_VT(&v)) {
748 case VT_NULL:
749 return set_style_attr(This, attrMarginRight, emptyW, 0);
750 case VT_I4: {
751 WCHAR buf[14];
753 wsprintfW(buf, px_formatW, V_I4(&v));
754 return set_style_attr(This, attrMarginRight, buf, 0);
756 case VT_BSTR:
757 return set_style_attr(This, attrMarginRight, V_BSTR(&v), 0);
758 default:
759 FIXME("Unsupported vt=%d\n", V_VT(&v));
762 return E_NOTIMPL;
765 static HRESULT WINAPI HTMLStyle_get_marginRight(IHTMLStyle *iface, VARIANT *p)
767 HTMLStyle *This = HTMLSTYLE_THIS(iface);
768 FIXME("(%p)->(%p)\n", This, p);
769 return E_NOTIMPL;
772 static HRESULT WINAPI HTMLStyle_put_marginBottom(IHTMLStyle *iface, VARIANT v)
774 HTMLStyle *This = HTMLSTYLE_THIS(iface);
775 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
776 return E_NOTIMPL;
779 static HRESULT WINAPI HTMLStyle_get_marginBottom(IHTMLStyle *iface, VARIANT *p)
781 HTMLStyle *This = HTMLSTYLE_THIS(iface);
782 FIXME("(%p)->(%p)\n", This, p);
783 return E_NOTIMPL;
786 static HRESULT WINAPI HTMLStyle_put_marginLeft(IHTMLStyle *iface, VARIANT v)
788 HTMLStyle *This = HTMLSTYLE_THIS(iface);
790 switch(V_VT(&v)) {
791 case VT_NULL:
792 TRACE("(%p)->(NULL)\n", This);
793 return set_style_attr(This, attrMarginLeft, emptyW, 0);
794 case VT_I4: {
795 WCHAR buf[14];
797 TRACE("(%p)->(%d)\n", This, V_I4(&v));
799 wsprintfW(buf, px_formatW, V_I4(&v));
800 return set_style_attr(This, attrMarginLeft, buf, 0);
802 case VT_BSTR:
803 TRACE("(%p)->(%s)\n", This, debugstr_w(V_BSTR(&v)));
804 return set_style_attr(This, attrMarginLeft, V_BSTR(&v), 0);
805 default:
806 FIXME("Unsupported vt=%d\n", V_VT(&v));
809 return E_NOTIMPL;
812 static HRESULT WINAPI HTMLStyle_put_margin(IHTMLStyle *iface, BSTR v)
814 HTMLStyle *This = HTMLSTYLE_THIS(iface);
815 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
816 return E_NOTIMPL;
819 static HRESULT WINAPI HTMLStyle_get_margin(IHTMLStyle *iface, BSTR *p)
821 HTMLStyle *This = HTMLSTYLE_THIS(iface);
822 FIXME("(%p)->(%p)\n", This, p);
823 return E_NOTIMPL;
826 static HRESULT WINAPI HTMLStyle_get_marginLeft(IHTMLStyle *iface, VARIANT *p)
828 HTMLStyle *This = HTMLSTYLE_THIS(iface);
829 FIXME("(%p)->(%p)\n", This, p);
830 return E_NOTIMPL;
833 static HRESULT WINAPI HTMLStyle_put_paddingTop(IHTMLStyle *iface, VARIANT v)
835 HTMLStyle *This = HTMLSTYLE_THIS(iface);
836 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
837 return E_NOTIMPL;
840 static HRESULT WINAPI HTMLStyle_get_paddingTop(IHTMLStyle *iface, VARIANT *p)
842 HTMLStyle *This = HTMLSTYLE_THIS(iface);
843 FIXME("(%p)->(%p)\n", This, p);
844 return E_NOTIMPL;
847 static HRESULT WINAPI HTMLStyle_put_paddingRight(IHTMLStyle *iface, VARIANT v)
849 HTMLStyle *This = HTMLSTYLE_THIS(iface);
850 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
851 return E_NOTIMPL;
854 static HRESULT WINAPI HTMLStyle_get_paddingRight(IHTMLStyle *iface, VARIANT *p)
856 HTMLStyle *This = HTMLSTYLE_THIS(iface);
857 FIXME("(%p)->(%p)\n", This, p);
858 return E_NOTIMPL;
861 static HRESULT WINAPI HTMLStyle_put_paddingBottom(IHTMLStyle *iface, VARIANT v)
863 HTMLStyle *This = HTMLSTYLE_THIS(iface);
864 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
865 return E_NOTIMPL;
868 static HRESULT WINAPI HTMLStyle_get_paddingBottom(IHTMLStyle *iface, VARIANT *p)
870 HTMLStyle *This = HTMLSTYLE_THIS(iface);
871 FIXME("(%p)->(%p)\n", This, p);
872 return E_NOTIMPL;
875 static HRESULT WINAPI HTMLStyle_put_paddingLeft(IHTMLStyle *iface, VARIANT v)
877 HTMLStyle *This = HTMLSTYLE_THIS(iface);
879 TRACE("(%p)->(vt=%d)\n", This, V_VT(&v));
881 switch(V_VT(&v)) {
882 case VT_I4: {
883 WCHAR buf[14];
885 wsprintfW(buf, px_formatW, V_I4(&v));
886 return set_style_attr(This, attrPaddingLeft, buf, 0);
888 case VT_BSTR:
889 return set_style_attr(This, attrPaddingLeft, V_BSTR(&v), 0);
890 default:
891 FIXME("unsupported vt=%d\n", V_VT(&v));
894 return E_NOTIMPL;
897 static HRESULT WINAPI HTMLStyle_get_paddingLeft(IHTMLStyle *iface, VARIANT *p)
899 HTMLStyle *This = HTMLSTYLE_THIS(iface);
900 FIXME("(%p)->(%p)\n", This, p);
901 return E_NOTIMPL;
904 static HRESULT WINAPI HTMLStyle_put_padding(IHTMLStyle *iface, BSTR v)
906 HTMLStyle *This = HTMLSTYLE_THIS(iface);
907 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
908 return E_NOTIMPL;
911 static HRESULT WINAPI HTMLStyle_get_padding(IHTMLStyle *iface, BSTR *p)
913 HTMLStyle *This = HTMLSTYLE_THIS(iface);
914 FIXME("(%p)->(%p)\n", This, p);
915 return E_NOTIMPL;
918 static HRESULT WINAPI HTMLStyle_put_border(IHTMLStyle *iface, BSTR v)
920 HTMLStyle *This = HTMLSTYLE_THIS(iface);
921 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
922 return E_NOTIMPL;
925 static HRESULT WINAPI HTMLStyle_get_border(IHTMLStyle *iface, BSTR *p)
927 HTMLStyle *This = HTMLSTYLE_THIS(iface);
928 FIXME("(%p)->(%p)\n", This, p);
929 return E_NOTIMPL;
932 static HRESULT WINAPI HTMLStyle_put_borderTop(IHTMLStyle *iface, BSTR v)
934 HTMLStyle *This = HTMLSTYLE_THIS(iface);
935 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
936 return E_NOTIMPL;
939 static HRESULT WINAPI HTMLStyle_get_borderTop(IHTMLStyle *iface, BSTR *p)
941 HTMLStyle *This = HTMLSTYLE_THIS(iface);
942 FIXME("(%p)->(%p)\n", This, p);
943 return E_NOTIMPL;
946 static HRESULT WINAPI HTMLStyle_put_borderRight(IHTMLStyle *iface, BSTR v)
948 HTMLStyle *This = HTMLSTYLE_THIS(iface);
949 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
950 return E_NOTIMPL;
953 static HRESULT WINAPI HTMLStyle_get_borderRight(IHTMLStyle *iface, BSTR *p)
955 HTMLStyle *This = HTMLSTYLE_THIS(iface);
956 FIXME("(%p)->(%p)\n", This, p);
957 return E_NOTIMPL;
960 static HRESULT WINAPI HTMLStyle_put_borderBottom(IHTMLStyle *iface, BSTR v)
962 HTMLStyle *This = HTMLSTYLE_THIS(iface);
963 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
964 return E_NOTIMPL;
967 static HRESULT WINAPI HTMLStyle_get_borderBottom(IHTMLStyle *iface, BSTR *p)
969 HTMLStyle *This = HTMLSTYLE_THIS(iface);
970 FIXME("(%p)->(%p)\n", This, p);
971 return E_NOTIMPL;
974 static HRESULT WINAPI HTMLStyle_put_borderLeft(IHTMLStyle *iface, BSTR v)
976 HTMLStyle *This = HTMLSTYLE_THIS(iface);
978 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
980 return set_style_attr(This, attrBorderLeft, v, ATTR_FIX_PX);
983 static HRESULT WINAPI HTMLStyle_get_borderLeft(IHTMLStyle *iface, BSTR *p)
985 HTMLStyle *This = HTMLSTYLE_THIS(iface);
986 FIXME("(%p)->(%p)\n", This, p);
987 return E_NOTIMPL;
990 static HRESULT WINAPI HTMLStyle_put_borderColor(IHTMLStyle *iface, BSTR v)
992 HTMLStyle *This = HTMLSTYLE_THIS(iface);
993 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
994 return E_NOTIMPL;
997 static HRESULT WINAPI HTMLStyle_get_borderColor(IHTMLStyle *iface, BSTR *p)
999 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1000 FIXME("(%p)->(%p)\n", This, p);
1001 return E_NOTIMPL;
1004 static HRESULT WINAPI HTMLStyle_put_borderTopColor(IHTMLStyle *iface, VARIANT v)
1006 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1007 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1008 return E_NOTIMPL;
1011 static HRESULT WINAPI HTMLStyle_get_borderTopColor(IHTMLStyle *iface, VARIANT *p)
1013 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1014 FIXME("(%p)->(%p)\n", This, p);
1015 return E_NOTIMPL;
1018 static HRESULT WINAPI HTMLStyle_put_borderRightColor(IHTMLStyle *iface, VARIANT v)
1020 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1021 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1022 return E_NOTIMPL;
1025 static HRESULT WINAPI HTMLStyle_get_borderRightColor(IHTMLStyle *iface, VARIANT *p)
1027 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1028 FIXME("(%p)->(%p)\n", This, p);
1029 return E_NOTIMPL;
1032 static HRESULT WINAPI HTMLStyle_put_borderBottomColor(IHTMLStyle *iface, VARIANT v)
1034 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1035 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1036 return E_NOTIMPL;
1039 static HRESULT WINAPI HTMLStyle_get_borderBottomColor(IHTMLStyle *iface, VARIANT *p)
1041 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1042 FIXME("(%p)->(%p)\n", This, p);
1043 return E_NOTIMPL;
1046 static HRESULT WINAPI HTMLStyle_put_borderLeftColor(IHTMLStyle *iface, VARIANT v)
1048 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1049 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1050 return E_NOTIMPL;
1053 static HRESULT WINAPI HTMLStyle_get_borderLeftColor(IHTMLStyle *iface, VARIANT *p)
1055 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1056 FIXME("(%p)->(%p)\n", This, p);
1057 return E_NOTIMPL;
1060 static HRESULT WINAPI HTMLStyle_put_borderWidth(IHTMLStyle *iface, BSTR v)
1062 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1063 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1064 return E_NOTIMPL;
1067 static HRESULT WINAPI HTMLStyle_get_borderWidth(IHTMLStyle *iface, BSTR *p)
1069 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1070 FIXME("(%p)->(%p)\n", This, p);
1071 return E_NOTIMPL;
1074 static HRESULT WINAPI HTMLStyle_put_borderTopWidth(IHTMLStyle *iface, VARIANT v)
1076 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1077 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1078 return E_NOTIMPL;
1081 static HRESULT WINAPI HTMLStyle_get_borderTopWidth(IHTMLStyle *iface, VARIANT *p)
1083 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1084 FIXME("(%p)->(%p)\n", This, p);
1085 return E_NOTIMPL;
1088 static HRESULT WINAPI HTMLStyle_put_borderRightWidth(IHTMLStyle *iface, VARIANT v)
1090 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1091 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1092 return E_NOTIMPL;
1095 static HRESULT WINAPI HTMLStyle_get_borderRightWidth(IHTMLStyle *iface, VARIANT *p)
1097 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1098 FIXME("(%p)->(%p)\n", This, p);
1099 return E_NOTIMPL;
1102 static HRESULT WINAPI HTMLStyle_put_borderBottomWidth(IHTMLStyle *iface, VARIANT v)
1104 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1105 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1106 return E_NOTIMPL;
1109 static HRESULT WINAPI HTMLStyle_get_borderBottomWidth(IHTMLStyle *iface, VARIANT *p)
1111 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1112 FIXME("(%p)->(%p)\n", This, p);
1113 return E_NOTIMPL;
1116 static HRESULT WINAPI HTMLStyle_put_borderLeftWidth(IHTMLStyle *iface, VARIANT v)
1118 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1119 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1120 return E_NOTIMPL;
1123 static HRESULT WINAPI HTMLStyle_get_borderLeftWidth(IHTMLStyle *iface, VARIANT *p)
1125 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1126 FIXME("(%p)->(%p)\n", This, p);
1127 return E_NOTIMPL;
1130 static HRESULT WINAPI HTMLStyle_put_borderStyle(IHTMLStyle *iface, BSTR v)
1132 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1133 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1134 return E_NOTIMPL;
1137 static HRESULT WINAPI HTMLStyle_get_borderStyle(IHTMLStyle *iface, BSTR *p)
1139 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1140 FIXME("(%p)->(%p)\n", This, p);
1141 return E_NOTIMPL;
1144 static HRESULT WINAPI HTMLStyle_put_borderTopStyle(IHTMLStyle *iface, BSTR v)
1146 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1147 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1148 return E_NOTIMPL;
1151 static HRESULT WINAPI HTMLStyle_get_borderTopStyle(IHTMLStyle *iface, BSTR *p)
1153 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1154 FIXME("(%p)->(%p)\n", This, p);
1155 return E_NOTIMPL;
1158 static HRESULT WINAPI HTMLStyle_put_borderRightStyle(IHTMLStyle *iface, BSTR v)
1160 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1161 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1162 return E_NOTIMPL;
1165 static HRESULT WINAPI HTMLStyle_get_borderRightStyle(IHTMLStyle *iface, BSTR *p)
1167 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1168 FIXME("(%p)->(%p)\n", This, p);
1169 return E_NOTIMPL;
1172 static HRESULT WINAPI HTMLStyle_put_borderBottomStyle(IHTMLStyle *iface, BSTR v)
1174 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1175 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1176 return E_NOTIMPL;
1179 static HRESULT WINAPI HTMLStyle_get_borderBottomStyle(IHTMLStyle *iface, BSTR *p)
1181 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1182 FIXME("(%p)->(%p)\n", This, p);
1183 return E_NOTIMPL;
1186 static HRESULT WINAPI HTMLStyle_put_borderLeftStyle(IHTMLStyle *iface, BSTR v)
1188 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1189 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1190 return E_NOTIMPL;
1193 static HRESULT WINAPI HTMLStyle_get_borderLeftStyle(IHTMLStyle *iface, BSTR *p)
1195 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1196 FIXME("(%p)->(%p)\n", This, p);
1197 return E_NOTIMPL;
1200 static HRESULT WINAPI HTMLStyle_put_width(IHTMLStyle *iface, VARIANT v)
1202 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1203 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1204 return E_NOTIMPL;
1207 static HRESULT WINAPI HTMLStyle_get_width(IHTMLStyle *iface, VARIANT *p)
1209 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1210 FIXME("(%p)->(%p)\n", This, p);
1211 return E_NOTIMPL;
1214 static HRESULT WINAPI HTMLStyle_put_height(IHTMLStyle *iface, VARIANT v)
1216 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1217 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1218 return E_NOTIMPL;
1221 static HRESULT WINAPI HTMLStyle_get_height(IHTMLStyle *iface, VARIANT *p)
1223 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1224 FIXME("(%p)->(%p)\n", This, p);
1225 return E_NOTIMPL;
1228 static HRESULT WINAPI HTMLStyle_put_styleFloat(IHTMLStyle *iface, BSTR v)
1230 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1231 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1232 return E_NOTIMPL;
1235 static HRESULT WINAPI HTMLStyle_get_styleFloat(IHTMLStyle *iface, BSTR *p)
1237 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1238 FIXME("(%p)->(%p)\n", This, p);
1239 return E_NOTIMPL;
1242 static HRESULT WINAPI HTMLStyle_put_clear(IHTMLStyle *iface, BSTR v)
1244 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1245 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1246 return E_NOTIMPL;
1249 static HRESULT WINAPI HTMLStyle_get_clear(IHTMLStyle *iface, BSTR *p)
1251 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1252 FIXME("(%p)->(%p)\n", This, p);
1253 return E_NOTIMPL;
1256 static HRESULT WINAPI HTMLStyle_put_display(IHTMLStyle *iface, BSTR v)
1258 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1260 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1262 return set_style_attr(This, attrDisplay, v, 0);
1265 static HRESULT WINAPI HTMLStyle_get_display(IHTMLStyle *iface, BSTR *p)
1267 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1269 TRACE("(%p)->(%p)\n", This, p);
1271 return get_style_attr(This, attrDisplay, p);
1274 static HRESULT WINAPI HTMLStyle_put_visibility(IHTMLStyle *iface, BSTR v)
1276 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1278 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1280 return set_style_attr(This, attrVisibility, v, 0);
1283 static HRESULT WINAPI HTMLStyle_get_visibility(IHTMLStyle *iface, BSTR *p)
1285 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1287 TRACE("(%p)->(%p)\n", This, p);
1289 return get_style_attr(This, attrVisibility, p);
1292 static HRESULT WINAPI HTMLStyle_put_listStyleType(IHTMLStyle *iface, BSTR v)
1294 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1295 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1296 return E_NOTIMPL;
1299 static HRESULT WINAPI HTMLStyle_get_listStyleType(IHTMLStyle *iface, BSTR *p)
1301 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1302 FIXME("(%p)->(%p)\n", This, p);
1303 return E_NOTIMPL;
1306 static HRESULT WINAPI HTMLStyle_put_listStylePosition(IHTMLStyle *iface, BSTR v)
1308 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1309 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1310 return E_NOTIMPL;
1313 static HRESULT WINAPI HTMLStyle_get_listStylePosition(IHTMLStyle *iface, BSTR *p)
1315 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1316 FIXME("(%p)->(%p)\n", This, p);
1317 return E_NOTIMPL;
1320 static HRESULT WINAPI HTMLStyle_put_listStyleImage(IHTMLStyle *iface, BSTR v)
1322 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1323 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1324 return E_NOTIMPL;
1327 static HRESULT WINAPI HTMLStyle_get_listStyleImage(IHTMLStyle *iface, BSTR *p)
1329 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1330 FIXME("(%p)->(%p)\n", This, p);
1331 return E_NOTIMPL;
1334 static HRESULT WINAPI HTMLStyle_put_listStyle(IHTMLStyle *iface, BSTR v)
1336 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1337 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1338 return E_NOTIMPL;
1341 static HRESULT WINAPI HTMLStyle_get_listStyle(IHTMLStyle *iface, BSTR *p)
1343 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1344 FIXME("(%p)->(%p)\n", This, p);
1345 return E_NOTIMPL;
1348 static HRESULT WINAPI HTMLStyle_put_whiteSpace(IHTMLStyle *iface, BSTR v)
1350 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1351 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1352 return E_NOTIMPL;
1355 static HRESULT WINAPI HTMLStyle_get_whiteSpace(IHTMLStyle *iface, BSTR *p)
1357 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1358 FIXME("(%p)->(%p)\n", This, p);
1359 return E_NOTIMPL;
1362 static HRESULT WINAPI HTMLStyle_put_top(IHTMLStyle *iface, VARIANT v)
1364 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1365 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1366 return E_NOTIMPL;
1369 static HRESULT WINAPI HTMLStyle_get_top(IHTMLStyle *iface, VARIANT *p)
1371 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1372 FIXME("(%p)->(%p)\n", This, p);
1373 return E_NOTIMPL;
1376 static HRESULT WINAPI HTMLStyle_put_left(IHTMLStyle *iface, VARIANT v)
1378 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1379 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1380 return E_NOTIMPL;
1383 static HRESULT WINAPI HTMLStyle_get_left(IHTMLStyle *iface, VARIANT *p)
1385 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1386 FIXME("(%p)->(%p)\n", This, p);
1387 return E_NOTIMPL;
1390 static HRESULT WINAPI HTMLStyle_get_position(IHTMLStyle *iface, BSTR *p)
1392 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1393 FIXME("(%p)->(%p)\n", This, p);
1394 return E_NOTIMPL;
1397 static HRESULT WINAPI HTMLStyle_put_zIndex(IHTMLStyle *iface, VARIANT v)
1399 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1400 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1401 return E_NOTIMPL;
1404 static HRESULT WINAPI HTMLStyle_get_zIndex(IHTMLStyle *iface, VARIANT *p)
1406 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1407 FIXME("(%p)->(%p)\n", This, p);
1408 return E_NOTIMPL;
1411 static HRESULT WINAPI HTMLStyle_put_overflow(IHTMLStyle *iface, BSTR v)
1413 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1414 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1415 return E_NOTIMPL;
1418 static HRESULT WINAPI HTMLStyle_get_overflow(IHTMLStyle *iface, BSTR *p)
1420 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1421 FIXME("(%p)->(%p)\n", This, p);
1422 return E_NOTIMPL;
1425 static HRESULT WINAPI HTMLStyle_put_pageBreakBefore(IHTMLStyle *iface, BSTR v)
1427 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1428 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1429 return E_NOTIMPL;
1432 static HRESULT WINAPI HTMLStyle_get_pageBreakBefore(IHTMLStyle *iface, BSTR *p)
1434 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1435 FIXME("(%p)->(%p)\n", This, p);
1436 return E_NOTIMPL;
1439 static HRESULT WINAPI HTMLStyle_put_pageBreakAfter(IHTMLStyle *iface, BSTR v)
1441 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1442 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1443 return E_NOTIMPL;
1446 static HRESULT WINAPI HTMLStyle_get_pageBreakAfter(IHTMLStyle *iface, BSTR *p)
1448 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1449 FIXME("(%p)->(%p)\n", This, p);
1450 return E_NOTIMPL;
1453 static HRESULT WINAPI HTMLStyle_put_cssText(IHTMLStyle *iface, BSTR v)
1455 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1456 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1457 return E_NOTIMPL;
1460 static HRESULT WINAPI HTMLStyle_get_cssText(IHTMLStyle *iface, BSTR *p)
1462 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1463 FIXME("(%p)->(%p)\n", This, p);
1464 return E_NOTIMPL;
1467 static HRESULT WINAPI HTMLStyle_put_pixelTop(IHTMLStyle *iface, long v)
1469 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1470 FIXME("(%p)->()\n", This);
1471 return E_NOTIMPL;
1474 static HRESULT WINAPI HTMLStyle_get_pixelTop(IHTMLStyle *iface, long *p)
1476 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1477 FIXME("(%p)->()\n", This);
1478 return E_NOTIMPL;
1481 static HRESULT WINAPI HTMLStyle_put_pixelLeft(IHTMLStyle *iface, long v)
1483 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1484 FIXME("(%p)->()\n", This);
1485 return E_NOTIMPL;
1488 static HRESULT WINAPI HTMLStyle_get_pixelLeft(IHTMLStyle *iface, long *p)
1490 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1491 FIXME("(%p)->()\n", This);
1492 return E_NOTIMPL;
1495 static HRESULT WINAPI HTMLStyle_put_pixelWidth(IHTMLStyle *iface, long v)
1497 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1498 FIXME("(%p)->()\n", This);
1499 return E_NOTIMPL;
1502 static HRESULT WINAPI HTMLStyle_get_pixelWidth(IHTMLStyle *iface, long *p)
1504 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1505 FIXME("(%p)->()\n", This);
1506 return E_NOTIMPL;
1509 static HRESULT WINAPI HTMLStyle_put_pixelHeight(IHTMLStyle *iface, long v)
1511 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1512 FIXME("(%p)->()\n", This);
1513 return E_NOTIMPL;
1516 static HRESULT WINAPI HTMLStyle_get_pixelHeight(IHTMLStyle *iface, long *p)
1518 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1519 FIXME("(%p)->()\n", This);
1520 return E_NOTIMPL;
1523 static HRESULT WINAPI HTMLStyle_put_posTop(IHTMLStyle *iface, float v)
1525 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1526 FIXME("(%p)->()\n", This);
1527 return E_NOTIMPL;
1530 static HRESULT WINAPI HTMLStyle_get_posTop(IHTMLStyle *iface, float *p)
1532 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1533 FIXME("(%p)->()\n", This);
1534 return E_NOTIMPL;
1537 static HRESULT WINAPI HTMLStyle_put_posLeft(IHTMLStyle *iface, float v)
1539 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1540 FIXME("(%p)->()\n", This);
1541 return E_NOTIMPL;
1544 static HRESULT WINAPI HTMLStyle_get_posLeft(IHTMLStyle *iface, float *p)
1546 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1547 FIXME("(%p)->()\n", This);
1548 return E_NOTIMPL;
1551 static HRESULT WINAPI HTMLStyle_put_posWidth(IHTMLStyle *iface, float v)
1553 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1554 FIXME("(%p)->()\n", This);
1555 return E_NOTIMPL;
1558 static HRESULT WINAPI HTMLStyle_get_posWidth(IHTMLStyle *iface, float *p)
1560 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1561 FIXME("(%p)->()\n", This);
1562 return E_NOTIMPL;
1565 static HRESULT WINAPI HTMLStyle_put_posHeight(IHTMLStyle *iface, float v)
1567 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1568 FIXME("(%p)->()\n", This);
1569 return E_NOTIMPL;
1572 static HRESULT WINAPI HTMLStyle_get_posHeight(IHTMLStyle *iface, float *p)
1574 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1575 FIXME("(%p)->()\n", This);
1576 return E_NOTIMPL;
1579 static HRESULT WINAPI HTMLStyle_put_cursor(IHTMLStyle *iface, BSTR v)
1581 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1582 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1583 return E_NOTIMPL;
1586 static HRESULT WINAPI HTMLStyle_get_cursor(IHTMLStyle *iface, BSTR *p)
1588 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1589 FIXME("(%p)->(%p)\n", This, p);
1590 return E_NOTIMPL;
1593 static HRESULT WINAPI HTMLStyle_put_clip(IHTMLStyle *iface, BSTR v)
1595 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1596 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1597 return E_NOTIMPL;
1600 static HRESULT WINAPI HTMLStyle_get_clip(IHTMLStyle *iface, BSTR *p)
1602 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1603 FIXME("(%p)->(%p)\n", This, p);
1604 return E_NOTIMPL;
1607 static HRESULT WINAPI HTMLStyle_put_filter(IHTMLStyle *iface, BSTR v)
1609 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1610 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1611 return E_NOTIMPL;
1614 static HRESULT WINAPI HTMLStyle_get_filter(IHTMLStyle *iface, BSTR *p)
1616 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1617 FIXME("(%p)->(%p)\n", This, p);
1618 return E_NOTIMPL;
1621 static HRESULT WINAPI HTMLStyle_setAttribute(IHTMLStyle *iface, BSTR strAttributeName,
1622 VARIANT AttributeValue, LONG lFlags)
1624 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1625 FIXME("(%p)->(%s v%d %08x)\n", This, debugstr_w(strAttributeName),
1626 V_VT(&AttributeValue), lFlags);
1627 return E_NOTIMPL;
1630 static HRESULT WINAPI HTMLStyle_getAttribute(IHTMLStyle *iface, BSTR strAttributeName,
1631 LONG lFlags, VARIANT *AttributeValue)
1633 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1634 FIXME("(%p)->(%s %08x %p)\n", This, debugstr_w(strAttributeName),
1635 lFlags, AttributeValue);
1636 return E_NOTIMPL;
1639 static HRESULT WINAPI HTMLStyle_removeAttribute(IHTMLStyle *iface, BSTR strAttributeName,
1640 LONG lFlags, VARIANT_BOOL *pfSuccess)
1642 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1643 FIXME("(%p)->(%s %08x %p)\n", This, debugstr_w(strAttributeName),
1644 lFlags, pfSuccess);
1645 return E_NOTIMPL;
1648 static HRESULT WINAPI HTMLStyle_toString(IHTMLStyle *iface, BSTR *String)
1650 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1651 FIXME("(%p)->(%p)\n", This, String);
1652 return E_NOTIMPL;
1655 static const IHTMLStyleVtbl HTMLStyleVtbl = {
1656 HTMLStyle_QueryInterface,
1657 HTMLStyle_AddRef,
1658 HTMLStyle_Release,
1659 HTMLStyle_GetTypeInfoCount,
1660 HTMLStyle_GetTypeInfo,
1661 HTMLStyle_GetIDsOfNames,
1662 HTMLStyle_Invoke,
1663 HTMLStyle_put_fontFamily,
1664 HTMLStyle_get_fontFamily,
1665 HTMLStyle_put_fontStyle,
1666 HTMLStyle_get_fontStyle,
1667 HTMLStyle_put_fontVariant,
1668 HTMLStyle_get_fontVariant,
1669 HTMLStyle_put_fontWeight,
1670 HTMLStyle_get_fontWeight,
1671 HTMLStyle_put_fontSize,
1672 HTMLStyle_get_fontSize,
1673 HTMLStyle_put_font,
1674 HTMLStyle_get_font,
1675 HTMLStyle_put_color,
1676 HTMLStyle_get_color,
1677 HTMLStyle_put_background,
1678 HTMLStyle_get_background,
1679 HTMLStyle_put_backgroundColor,
1680 HTMLStyle_get_backgroundColor,
1681 HTMLStyle_put_backgroundImage,
1682 HTMLStyle_get_backgroundImage,
1683 HTMLStyle_put_backgroundRepeat,
1684 HTMLStyle_get_backgroundRepeat,
1685 HTMLStyle_put_backgroundAttachment,
1686 HTMLStyle_get_backgroundAttachment,
1687 HTMLStyle_put_backgroundPosition,
1688 HTMLStyle_get_backgroundPosition,
1689 HTMLStyle_put_backgroundPositionX,
1690 HTMLStyle_get_backgroundPositionX,
1691 HTMLStyle_put_backgroundPositionY,
1692 HTMLStyle_get_backgroundPositionY,
1693 HTMLStyle_put_wordSpacing,
1694 HTMLStyle_get_wordSpacing,
1695 HTMLStyle_put_letterSpacing,
1696 HTMLStyle_get_letterSpacing,
1697 HTMLStyle_put_textDecoration,
1698 HTMLStyle_get_textDecoration,
1699 HTMLStyle_put_textDecorationNone,
1700 HTMLStyle_get_textDecorationNone,
1701 HTMLStyle_put_textDecorationUnderline,
1702 HTMLStyle_get_textDecorationUnderline,
1703 HTMLStyle_put_textDecorationOverline,
1704 HTMLStyle_get_textDecorationOverline,
1705 HTMLStyle_put_textDecorationLineThrough,
1706 HTMLStyle_get_textDecorationLineThrough,
1707 HTMLStyle_put_textDecorationBlink,
1708 HTMLStyle_get_textDecorationBlink,
1709 HTMLStyle_put_verticalAlign,
1710 HTMLStyle_get_verticalAlign,
1711 HTMLStyle_put_textTransform,
1712 HTMLStyle_get_textTransform,
1713 HTMLStyle_put_textAlign,
1714 HTMLStyle_get_textAlign,
1715 HTMLStyle_put_textIndent,
1716 HTMLStyle_get_textIndent,
1717 HTMLStyle_put_lineHeight,
1718 HTMLStyle_get_lineHeight,
1719 HTMLStyle_put_marginTop,
1720 HTMLStyle_get_marginTop,
1721 HTMLStyle_put_marginRight,
1722 HTMLStyle_get_marginRight,
1723 HTMLStyle_put_marginBottom,
1724 HTMLStyle_get_marginBottom,
1725 HTMLStyle_put_marginLeft,
1726 HTMLStyle_get_marginLeft,
1727 HTMLStyle_put_margin,
1728 HTMLStyle_get_margin,
1729 HTMLStyle_put_paddingTop,
1730 HTMLStyle_get_paddingTop,
1731 HTMLStyle_put_paddingRight,
1732 HTMLStyle_get_paddingRight,
1733 HTMLStyle_put_paddingBottom,
1734 HTMLStyle_get_paddingBottom,
1735 HTMLStyle_put_paddingLeft,
1736 HTMLStyle_get_paddingLeft,
1737 HTMLStyle_put_padding,
1738 HTMLStyle_get_padding,
1739 HTMLStyle_put_border,
1740 HTMLStyle_get_border,
1741 HTMLStyle_put_borderTop,
1742 HTMLStyle_get_borderTop,
1743 HTMLStyle_put_borderRight,
1744 HTMLStyle_get_borderRight,
1745 HTMLStyle_put_borderBottom,
1746 HTMLStyle_get_borderBottom,
1747 HTMLStyle_put_borderLeft,
1748 HTMLStyle_get_borderLeft,
1749 HTMLStyle_put_borderColor,
1750 HTMLStyle_get_borderColor,
1751 HTMLStyle_put_borderTopColor,
1752 HTMLStyle_get_borderTopColor,
1753 HTMLStyle_put_borderRightColor,
1754 HTMLStyle_get_borderRightColor,
1755 HTMLStyle_put_borderBottomColor,
1756 HTMLStyle_get_borderBottomColor,
1757 HTMLStyle_put_borderLeftColor,
1758 HTMLStyle_get_borderLeftColor,
1759 HTMLStyle_put_borderWidth,
1760 HTMLStyle_get_borderWidth,
1761 HTMLStyle_put_borderTopWidth,
1762 HTMLStyle_get_borderTopWidth,
1763 HTMLStyle_put_borderRightWidth,
1764 HTMLStyle_get_borderRightWidth,
1765 HTMLStyle_put_borderBottomWidth,
1766 HTMLStyle_get_borderBottomWidth,
1767 HTMLStyle_put_borderLeftWidth,
1768 HTMLStyle_get_borderLeftWidth,
1769 HTMLStyle_put_borderStyle,
1770 HTMLStyle_get_borderStyle,
1771 HTMLStyle_put_borderTopStyle,
1772 HTMLStyle_get_borderTopStyle,
1773 HTMLStyle_put_borderRightStyle,
1774 HTMLStyle_get_borderRightStyle,
1775 HTMLStyle_put_borderBottomStyle,
1776 HTMLStyle_get_borderBottomStyle,
1777 HTMLStyle_put_borderLeftStyle,
1778 HTMLStyle_get_borderLeftStyle,
1779 HTMLStyle_put_width,
1780 HTMLStyle_get_width,
1781 HTMLStyle_put_height,
1782 HTMLStyle_get_height,
1783 HTMLStyle_put_styleFloat,
1784 HTMLStyle_get_styleFloat,
1785 HTMLStyle_put_clear,
1786 HTMLStyle_get_clear,
1787 HTMLStyle_put_display,
1788 HTMLStyle_get_display,
1789 HTMLStyle_put_visibility,
1790 HTMLStyle_get_visibility,
1791 HTMLStyle_put_listStyleType,
1792 HTMLStyle_get_listStyleType,
1793 HTMLStyle_put_listStylePosition,
1794 HTMLStyle_get_listStylePosition,
1795 HTMLStyle_put_listStyleImage,
1796 HTMLStyle_get_listStyleImage,
1797 HTMLStyle_put_listStyle,
1798 HTMLStyle_get_listStyle,
1799 HTMLStyle_put_whiteSpace,
1800 HTMLStyle_get_whiteSpace,
1801 HTMLStyle_put_top,
1802 HTMLStyle_get_top,
1803 HTMLStyle_put_left,
1804 HTMLStyle_get_left,
1805 HTMLStyle_get_position,
1806 HTMLStyle_put_zIndex,
1807 HTMLStyle_get_zIndex,
1808 HTMLStyle_put_overflow,
1809 HTMLStyle_get_overflow,
1810 HTMLStyle_put_pageBreakBefore,
1811 HTMLStyle_get_pageBreakBefore,
1812 HTMLStyle_put_pageBreakAfter,
1813 HTMLStyle_get_pageBreakAfter,
1814 HTMLStyle_put_cssText,
1815 HTMLStyle_get_cssText,
1816 HTMLStyle_put_pixelTop,
1817 HTMLStyle_get_pixelTop,
1818 HTMLStyle_put_pixelLeft,
1819 HTMLStyle_get_pixelLeft,
1820 HTMLStyle_put_pixelWidth,
1821 HTMLStyle_get_pixelWidth,
1822 HTMLStyle_put_pixelHeight,
1823 HTMLStyle_get_pixelHeight,
1824 HTMLStyle_put_posTop,
1825 HTMLStyle_get_posTop,
1826 HTMLStyle_put_posLeft,
1827 HTMLStyle_get_posLeft,
1828 HTMLStyle_put_posWidth,
1829 HTMLStyle_get_posWidth,
1830 HTMLStyle_put_posHeight,
1831 HTMLStyle_get_posHeight,
1832 HTMLStyle_put_cursor,
1833 HTMLStyle_get_cursor,
1834 HTMLStyle_put_clip,
1835 HTMLStyle_get_clip,
1836 HTMLStyle_put_filter,
1837 HTMLStyle_get_filter,
1838 HTMLStyle_setAttribute,
1839 HTMLStyle_getAttribute,
1840 HTMLStyle_removeAttribute,
1841 HTMLStyle_toString
1844 IHTMLStyle *HTMLStyle_Create(nsIDOMCSSStyleDeclaration *nsstyle)
1846 HTMLStyle *ret = heap_alloc(sizeof(HTMLStyle));
1848 ret->lpHTMLStyleVtbl = &HTMLStyleVtbl;
1849 ret->ref = 1;
1850 ret->nsstyle = nsstyle;
1852 nsIDOMCSSStyleDeclaration_AddRef(nsstyle);
1854 return HTMLSTYLE(ret);