mshtml: Added IHTMLStyle::[get|put]_left implementation.
[wine/multimedia.git] / dlls / mshtml / htmlstyle.c
blobf42b4d08d4f5d8c33242932eca78ded854bd922b
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 <stdarg.h>
21 #define COBJMACROS
23 #include "windef.h"
24 #include "winbase.h"
25 #include "winuser.h"
26 #include "ole2.h"
28 #include "mshtml_private.h"
29 #include "htmlstyle.h"
31 #include "wine/debug.h"
32 #include "wine/unicode.h"
34 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
36 static const WCHAR attrBackground[] =
37 {'b','a','c','k','g','r','o','u','n','d',0};
38 static const WCHAR attrBackgroundColor[] =
39 {'b','a','c','k','g','r','o','u','n','d','-','c','o','l','o','r',0};
40 static const WCHAR attrBackgroundImage[] =
41 {'b','a','c','k','g','r','o','u','n','d','-','i','m','a','g','e',0};
42 static const WCHAR attrBorder[] =
43 {'b','o','r','d','e','r',0};
44 static const WCHAR attrBorderLeft[] =
45 {'b','o','r','d','e','r','-','l','e','f','t',0};
46 static const WCHAR attrColor[] =
47 {'c','o','l','o','r',0};
48 static const WCHAR attrDisplay[] =
49 {'d','i','s','p','l','a','y',0};
50 static const WCHAR attrFontFamily[] =
51 {'f','o','n','t','-','f','a','m','i','l','y',0};
52 static const WCHAR attrFontSize[] =
53 {'f','o','n','t','-','s','i','z','e',0};
54 static const WCHAR attrFontStyle[] =
55 {'f','o','n','t','-','s','t','y','l','e',0};
56 static const WCHAR attrFontWeight[] =
57 {'f','o','n','t','-','w','e','i','g','h','t',0};
58 static const WCHAR attrLeft[] =
59 {'l','e','f','t',0};
60 static const WCHAR attrMargin[] =
61 {'m','a','r','g','i','n',0};
62 static const WCHAR attrMarginLeft[] =
63 {'m','a','r','g','i','n','-','l','e','f','t',0};
64 static const WCHAR attrMarginRight[] =
65 {'m','a','r','g','i','n','-','r','i','g','h','t',0};
66 static const WCHAR attrPaddingLeft[] =
67 {'p','a','d','d','i','n','g','-','l','e','f','t',0};
68 static const WCHAR attrTextDecoration[] =
69 {'t','e','x','t','-','d','e','c','o','r','a','t','i','o','n',0};
70 static const WCHAR attrVisibility[] =
71 {'v','i','s','i','b','i','l','i','t','y',0};
72 static const WCHAR attrWidth[] =
73 {'w','i','d','t','h',0};
75 static const LPCWSTR style_strings[] = {
76 attrBackground,
77 attrBackgroundColor,
78 attrBackgroundImage,
79 attrBorder,
80 attrBorderLeft,
81 attrColor,
82 attrDisplay,
83 attrFontFamily,
84 attrFontSize,
85 attrFontStyle,
86 attrFontWeight,
87 attrLeft,
88 attrMargin,
89 attrMarginLeft,
90 attrMarginRight,
91 attrPaddingLeft,
92 attrTextDecoration,
93 attrVisibility,
94 attrWidth,
97 static const WCHAR valLineThrough[] =
98 {'l','i','n','e','-','t','h','r','o','u','g','h',0};
99 static const WCHAR valUnderline[] =
100 {'u','n','d','e','r','l','i','n','e',0};
102 static const WCHAR px_formatW[] = {'%','d','p','x',0};
103 static const WCHAR emptyW[] = {0};
105 static LPWSTR fix_px_value(LPCWSTR val)
107 LPCWSTR ptr = val;
109 while(*ptr) {
110 while(*ptr && isspaceW(*ptr))
111 ptr++;
112 if(!*ptr)
113 break;
115 while(*ptr && isdigitW(*ptr))
116 ptr++;
118 if(!*ptr || isspaceW(*ptr)) {
119 LPWSTR ret, p;
120 int len = strlenW(val)+1;
122 ret = heap_alloc((len+2)*sizeof(WCHAR));
123 memcpy(ret, val, (ptr-val)*sizeof(WCHAR));
124 p = ret + (ptr-val);
125 *p++ = 'p';
126 *p++ = 'x';
127 strcpyW(p, ptr);
129 TRACE("fixed %s -> %s\n", debugstr_w(val), debugstr_w(ret));
131 return ret;
134 while(*ptr && !isspaceW(*ptr))
135 ptr++;
138 return NULL;
141 static LPWSTR fix_url_value(LPCWSTR val)
143 WCHAR *ret, *ptr;
145 static const WCHAR urlW[] = {'u','r','l','('};
147 if(strncmpW(val, urlW, sizeof(urlW)/sizeof(WCHAR)) || !strchrW(val, '\\'))
148 return NULL;
150 ret = heap_strdupW(val);
152 for(ptr = ret; *ptr; ptr++) {
153 if(*ptr == '\\')
154 *ptr = '/';
157 return ret;
160 #define ATTR_FIX_PX 1
161 #define ATTR_FIX_URL 2
163 static HRESULT set_style_attr(HTMLStyle *This, styleid_t sid, LPCWSTR value, DWORD flags)
165 nsAString str_name, str_value, str_empty;
166 LPWSTR val = NULL;
167 nsresult nsres;
169 static const PRUnichar wszEmpty[] = {0};
171 TRACE("(%p)->(%s %s)\n", This, debugstr_w(style_strings[sid]), debugstr_w(value));
173 if(flags & ATTR_FIX_PX)
174 val = fix_px_value(value);
175 if(flags & ATTR_FIX_URL)
176 val = fix_url_value(value);
178 nsAString_Init(&str_name, style_strings[sid]);
179 nsAString_Init(&str_value, val ? val : value);
180 nsAString_Init(&str_empty, wszEmpty);
181 heap_free(val);
183 nsres = nsIDOMCSSStyleDeclaration_SetProperty(This->nsstyle, &str_name, &str_value, &str_empty);
184 if(NS_FAILED(nsres))
185 ERR("SetProperty failed: %08x\n", nsres);
187 nsAString_Finish(&str_name);
188 nsAString_Finish(&str_value);
189 nsAString_Finish(&str_empty);
191 return S_OK;
194 static HRESULT get_nsstyle_attr_nsval(nsIDOMCSSStyleDeclaration *nsstyle, styleid_t sid, nsAString *value)
196 nsAString str_name;
197 nsresult nsres;
199 nsAString_Init(&str_name, style_strings[sid]);
201 nsres = nsIDOMCSSStyleDeclaration_GetPropertyValue(nsstyle, &str_name, value);
202 if(NS_FAILED(nsres)) {
203 ERR("SetProperty failed: %08x\n", nsres);
204 return E_FAIL;
207 nsAString_Finish(&str_name);
209 return NS_OK;
212 HRESULT get_nsstyle_attr(nsIDOMCSSStyleDeclaration *nsstyle, styleid_t sid, BSTR *p)
214 nsAString str_value;
215 const PRUnichar *value;
217 nsAString_Init(&str_value, NULL);
219 get_nsstyle_attr_nsval(nsstyle, sid, &str_value);
221 nsAString_GetData(&str_value, &value);
222 *p = *value ? SysAllocString(value) : NULL;
224 nsAString_Finish(&str_value);
226 TRACE("%s -> %s\n", debugstr_w(style_strings[sid]), debugstr_w(*p));
227 return S_OK;
230 static inline HRESULT get_style_attr(HTMLStyle *This, styleid_t sid, BSTR *p)
232 return get_nsstyle_attr(This->nsstyle, sid, p);
235 static HRESULT check_style_attr_value(HTMLStyle *This, styleid_t sid, LPCWSTR exval, VARIANT_BOOL *p)
237 nsAString str_value;
238 const PRUnichar *value;
240 nsAString_Init(&str_value, NULL);
242 get_nsstyle_attr_nsval(This->nsstyle, sid, &str_value);
244 nsAString_GetData(&str_value, &value);
245 *p = strcmpW(value, exval) ? VARIANT_FALSE : VARIANT_TRUE;
246 nsAString_Finish(&str_value);
248 TRACE("%s -> %x\n", debugstr_w(style_strings[sid]), *p);
249 return S_OK;
252 #define HTMLSTYLE_THIS(iface) DEFINE_THIS(HTMLStyle, HTMLStyle, iface)
254 static HRESULT WINAPI HTMLStyle_QueryInterface(IHTMLStyle *iface, REFIID riid, void **ppv)
256 HTMLStyle *This = HTMLSTYLE_THIS(iface);
258 *ppv = NULL;
260 if(IsEqualGUID(&IID_IUnknown, riid)) {
261 TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
262 *ppv = HTMLSTYLE(This);
263 }else if(IsEqualGUID(&IID_IHTMLStyle, riid)) {
264 TRACE("(%p)->(IID_IHTMLStyle %p)\n", This, ppv);
265 *ppv = HTMLSTYLE(This);
266 }else if(IsEqualGUID(&IID_IHTMLStyle2, riid)) {
267 TRACE("(%p)->(IID_IHTMLStyle2 %p)\n", This, ppv);
268 *ppv = HTMLSTYLE2(This);
269 }else if(dispex_query_interface(&This->dispex, riid, ppv)) {
270 return *ppv ? S_OK : E_NOINTERFACE;
273 if(*ppv) {
274 IUnknown_AddRef((IUnknown*)*ppv);
275 return S_OK;
278 WARN("unsupported %s\n", debugstr_guid(riid));
279 return E_NOINTERFACE;
282 static ULONG WINAPI HTMLStyle_AddRef(IHTMLStyle *iface)
284 HTMLStyle *This = HTMLSTYLE_THIS(iface);
285 LONG ref = InterlockedIncrement(&This->ref);
287 TRACE("(%p) ref=%d\n", This, ref);
289 return ref;
292 static ULONG WINAPI HTMLStyle_Release(IHTMLStyle *iface)
294 HTMLStyle *This = HTMLSTYLE_THIS(iface);
295 LONG ref = InterlockedDecrement(&This->ref);
297 TRACE("(%p) ref=%d\n", This, ref);
299 if(!ref) {
300 if(This->nsstyle)
301 nsIDOMCSSStyleDeclaration_Release(This->nsstyle);
302 heap_free(This);
305 return ref;
308 static HRESULT WINAPI HTMLStyle_GetTypeInfoCount(IHTMLStyle *iface, UINT *pctinfo)
310 HTMLStyle *This = HTMLSTYLE_THIS(iface);
311 return IDispatchEx_GetTypeInfoCount(DISPATCHEX(&This->dispex), pctinfo);
314 static HRESULT WINAPI HTMLStyle_GetTypeInfo(IHTMLStyle *iface, UINT iTInfo,
315 LCID lcid, ITypeInfo **ppTInfo)
317 HTMLStyle *This = HTMLSTYLE_THIS(iface);
318 return IDispatchEx_GetTypeInfo(DISPATCHEX(&This->dispex), iTInfo, lcid, ppTInfo);
321 static HRESULT WINAPI HTMLStyle_GetIDsOfNames(IHTMLStyle *iface, REFIID riid,
322 LPOLESTR *rgszNames, UINT cNames,
323 LCID lcid, DISPID *rgDispId)
325 HTMLStyle *This = HTMLSTYLE_THIS(iface);
326 return IDispatchEx_GetIDsOfNames(DISPATCHEX(&This->dispex), riid, rgszNames, cNames, lcid, rgDispId);
329 static HRESULT WINAPI HTMLStyle_Invoke(IHTMLStyle *iface, DISPID dispIdMember,
330 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
331 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
333 HTMLStyle *This = HTMLSTYLE_THIS(iface);
334 return IDispatchEx_Invoke(DISPATCHEX(&This->dispex), dispIdMember, riid, lcid,
335 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
338 static HRESULT WINAPI HTMLStyle_put_fontFamily(IHTMLStyle *iface, BSTR v)
340 HTMLStyle *This = HTMLSTYLE_THIS(iface);
342 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
344 return set_style_attr(This, STYLEID_FONT_FAMILY, v, 0);
347 static HRESULT WINAPI HTMLStyle_get_fontFamily(IHTMLStyle *iface, BSTR *p)
349 HTMLStyle *This = HTMLSTYLE_THIS(iface);
351 TRACE("(%p)->(%p)\n", This, p);
353 return get_style_attr(This, STYLEID_FONT_FAMILY, p);
356 static HRESULT WINAPI HTMLStyle_put_fontStyle(IHTMLStyle *iface, BSTR v)
358 HTMLStyle *This = HTMLSTYLE_THIS(iface);
359 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
360 return E_NOTIMPL;
363 static HRESULT WINAPI HTMLStyle_get_fontStyle(IHTMLStyle *iface, BSTR *p)
365 HTMLStyle *This = HTMLSTYLE_THIS(iface);
367 TRACE("(%p)->(%p)\n", This, p);
369 return get_style_attr(This, STYLEID_FONT_STYLE, p);
372 static HRESULT WINAPI HTMLStyle_put_fontVariant(IHTMLStyle *iface, BSTR v)
374 HTMLStyle *This = HTMLSTYLE_THIS(iface);
375 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
376 return E_NOTIMPL;
379 static HRESULT WINAPI HTMLStyle_get_fontVariant(IHTMLStyle *iface, BSTR *p)
381 HTMLStyle *This = HTMLSTYLE_THIS(iface);
382 FIXME("(%p)->(%p)\n", This, p);
383 return E_NOTIMPL;
386 static HRESULT WINAPI HTMLStyle_put_fontWeight(IHTMLStyle *iface, BSTR v)
388 HTMLStyle *This = HTMLSTYLE_THIS(iface);
389 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
390 return E_NOTIMPL;
393 static HRESULT WINAPI HTMLStyle_get_fontWeight(IHTMLStyle *iface, BSTR *p)
395 HTMLStyle *This = HTMLSTYLE_THIS(iface);
397 TRACE("(%p)->(%p)\n", This, p);
399 return get_style_attr(This, STYLEID_FONT_WEIGHT, p);
402 static HRESULT WINAPI HTMLStyle_put_fontSize(IHTMLStyle *iface, VARIANT v)
404 HTMLStyle *This = HTMLSTYLE_THIS(iface);
406 TRACE("(%p)->(v%d)\n", This, V_VT(&v));
408 switch(V_VT(&v)) {
409 case VT_BSTR:
410 return set_style_attr(This, STYLEID_FONT_SIZE, V_BSTR(&v), 0);
411 default:
412 FIXME("not supported vt %d\n", V_VT(&v));
415 return S_OK;
418 static HRESULT WINAPI HTMLStyle_get_fontSize(IHTMLStyle *iface, VARIANT *p)
420 HTMLStyle *This = HTMLSTYLE_THIS(iface);
422 TRACE("(%p)->(%p)\n", This, p);
424 V_VT(p) = VT_BSTR;
425 return get_style_attr(This, STYLEID_FONT_SIZE, &V_BSTR(p));
428 static HRESULT WINAPI HTMLStyle_put_font(IHTMLStyle *iface, BSTR v)
430 HTMLStyle *This = HTMLSTYLE_THIS(iface);
431 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
432 return E_NOTIMPL;
435 static HRESULT WINAPI HTMLStyle_get_font(IHTMLStyle *iface, BSTR *p)
437 HTMLStyle *This = HTMLSTYLE_THIS(iface);
438 FIXME("(%p)->(%p)\n", This, p);
439 return E_NOTIMPL;
442 static HRESULT WINAPI HTMLStyle_put_color(IHTMLStyle *iface, VARIANT v)
444 HTMLStyle *This = HTMLSTYLE_THIS(iface);
446 TRACE("(%p)->(v%d)\n", This, V_VT(&v));
448 switch(V_VT(&v)) {
449 case VT_BSTR:
450 TRACE("%s\n", debugstr_w(V_BSTR(&v)));
451 return set_style_attr(This, STYLEID_COLOR, V_BSTR(&v), 0);
453 default:
454 FIXME("unsupported vt=%d\n", V_VT(&v));
457 return E_NOTIMPL;
460 static HRESULT WINAPI HTMLStyle_get_color(IHTMLStyle *iface, VARIANT *p)
462 HTMLStyle *This = HTMLSTYLE_THIS(iface);
464 TRACE("(%p)->(%p)\n", This, p);
466 V_VT(p) = VT_BSTR;
467 return get_style_attr(This, STYLEID_COLOR, &V_BSTR(p));
470 static HRESULT WINAPI HTMLStyle_put_background(IHTMLStyle *iface, BSTR v)
472 HTMLStyle *This = HTMLSTYLE_THIS(iface);
474 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
476 return set_style_attr(This, STYLEID_BACKGROUND, v, 0);
479 static HRESULT WINAPI HTMLStyle_get_background(IHTMLStyle *iface, BSTR *p)
481 HTMLStyle *This = HTMLSTYLE_THIS(iface);
483 TRACE("(%p)->(%p)\n", This, p);
485 return get_style_attr(This, STYLEID_BACKGROUND, p);
488 static HRESULT WINAPI HTMLStyle_put_backgroundColor(IHTMLStyle *iface, VARIANT v)
490 HTMLStyle *This = HTMLSTYLE_THIS(iface);
492 TRACE("(%p)->(v%d)\n", This, V_VT(&v));
494 switch(V_VT(&v)) {
495 case VT_BSTR:
496 return set_style_attr(This, STYLEID_BACKGROUND_COLOR, V_BSTR(&v), 0);
497 case VT_I4: {
498 WCHAR value[10];
499 static const WCHAR format[] = {'#','%','0','6','x',0};
501 wsprintfW(value, format, V_I4(&v));
502 return set_style_attr(This, STYLEID_BACKGROUND_COLOR, value, 0);
504 default:
505 FIXME("unsupported vt %d\n", V_VT(&v));
508 return S_OK;
511 static HRESULT WINAPI HTMLStyle_get_backgroundColor(IHTMLStyle *iface, VARIANT *p)
513 HTMLStyle *This = HTMLSTYLE_THIS(iface);
514 FIXME("(%p)->(%p)\n", This, p);
515 return E_NOTIMPL;
518 static HRESULT WINAPI HTMLStyle_put_backgroundImage(IHTMLStyle *iface, BSTR v)
520 HTMLStyle *This = HTMLSTYLE_THIS(iface);
522 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
524 return set_style_attr(This, STYLEID_BACKGROUND_IMAGE, v, ATTR_FIX_URL);
527 static HRESULT WINAPI HTMLStyle_get_backgroundImage(IHTMLStyle *iface, BSTR *p)
529 HTMLStyle *This = HTMLSTYLE_THIS(iface);
530 FIXME("(%p)->(%p)\n", This, p);
531 return E_NOTIMPL;
534 static HRESULT WINAPI HTMLStyle_put_backgroundRepeat(IHTMLStyle *iface, BSTR v)
536 HTMLStyle *This = HTMLSTYLE_THIS(iface);
537 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
538 return E_NOTIMPL;
541 static HRESULT WINAPI HTMLStyle_get_backgroundRepeat(IHTMLStyle *iface, BSTR *p)
543 HTMLStyle *This = HTMLSTYLE_THIS(iface);
544 FIXME("(%p)->(%p)\n", This, p);
545 return E_NOTIMPL;
548 static HRESULT WINAPI HTMLStyle_put_backgroundAttachment(IHTMLStyle *iface, BSTR v)
550 HTMLStyle *This = HTMLSTYLE_THIS(iface);
551 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
552 return E_NOTIMPL;
555 static HRESULT WINAPI HTMLStyle_get_backgroundAttachment(IHTMLStyle *iface, BSTR *p)
557 HTMLStyle *This = HTMLSTYLE_THIS(iface);
558 FIXME("(%p)->(%p)\n", This, p);
559 return E_NOTIMPL;
562 static HRESULT WINAPI HTMLStyle_put_backgroundPosition(IHTMLStyle *iface, BSTR v)
564 HTMLStyle *This = HTMLSTYLE_THIS(iface);
565 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
566 return E_NOTIMPL;
569 static HRESULT WINAPI HTMLStyle_get_backgroundPosition(IHTMLStyle *iface, BSTR *p)
571 HTMLStyle *This = HTMLSTYLE_THIS(iface);
572 FIXME("(%p)->(%p)\n", This, p);
573 return E_NOTIMPL;
576 static HRESULT WINAPI HTMLStyle_put_backgroundPositionX(IHTMLStyle *iface, VARIANT v)
578 HTMLStyle *This = HTMLSTYLE_THIS(iface);
579 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
580 return E_NOTIMPL;
583 static HRESULT WINAPI HTMLStyle_get_backgroundPositionX(IHTMLStyle *iface, VARIANT *p)
585 HTMLStyle *This = HTMLSTYLE_THIS(iface);
586 FIXME("(%p)->(%p)\n", This, p);
587 return E_NOTIMPL;
590 static HRESULT WINAPI HTMLStyle_put_backgroundPositionY(IHTMLStyle *iface, VARIANT v)
592 HTMLStyle *This = HTMLSTYLE_THIS(iface);
593 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
594 return E_NOTIMPL;
597 static HRESULT WINAPI HTMLStyle_get_backgroundPositionY(IHTMLStyle *iface, VARIANT *p)
599 HTMLStyle *This = HTMLSTYLE_THIS(iface);
600 FIXME("(%p)->(%p)\n", This, p);
601 return E_NOTIMPL;
604 static HRESULT WINAPI HTMLStyle_put_wordSpacing(IHTMLStyle *iface, VARIANT v)
606 HTMLStyle *This = HTMLSTYLE_THIS(iface);
607 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
608 return E_NOTIMPL;
611 static HRESULT WINAPI HTMLStyle_get_wordSpacing(IHTMLStyle *iface, VARIANT *p)
613 HTMLStyle *This = HTMLSTYLE_THIS(iface);
614 FIXME("(%p)->(%p)\n", This, p);
615 return E_NOTIMPL;
618 static HRESULT WINAPI HTMLStyle_put_letterSpacing(IHTMLStyle *iface, VARIANT v)
620 HTMLStyle *This = HTMLSTYLE_THIS(iface);
621 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
622 return E_NOTIMPL;
625 static HRESULT WINAPI HTMLStyle_get_letterSpacing(IHTMLStyle *iface, VARIANT *p)
627 HTMLStyle *This = HTMLSTYLE_THIS(iface);
628 FIXME("(%p)->(%p)\n", This, p);
629 return E_NOTIMPL;
632 static HRESULT WINAPI HTMLStyle_put_textDecoration(IHTMLStyle *iface, BSTR v)
634 HTMLStyle *This = HTMLSTYLE_THIS(iface);
635 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
636 return E_NOTIMPL;
639 static HRESULT WINAPI HTMLStyle_get_textDecoration(IHTMLStyle *iface, BSTR *p)
641 HTMLStyle *This = HTMLSTYLE_THIS(iface);
643 TRACE("(%p)->(%p)\n", This, p);
645 return get_style_attr(This, STYLEID_TEXT_DECORATION, p);
648 static HRESULT WINAPI HTMLStyle_put_textDecorationNone(IHTMLStyle *iface, VARIANT_BOOL v)
650 HTMLStyle *This = HTMLSTYLE_THIS(iface);
651 FIXME("(%p)->(%x)\n", This, v);
652 return E_NOTIMPL;
655 static HRESULT WINAPI HTMLStyle_get_textDecorationNone(IHTMLStyle *iface, VARIANT_BOOL *p)
657 HTMLStyle *This = HTMLSTYLE_THIS(iface);
658 FIXME("(%p)->(%p)\n", This, p);
659 return E_NOTIMPL;
662 static HRESULT WINAPI HTMLStyle_put_textDecorationUnderline(IHTMLStyle *iface, VARIANT_BOOL v)
664 HTMLStyle *This = HTMLSTYLE_THIS(iface);
665 FIXME("(%p)->(%x)\n", This, v);
666 return E_NOTIMPL;
669 static HRESULT WINAPI HTMLStyle_get_textDecorationUnderline(IHTMLStyle *iface, VARIANT_BOOL *p)
671 HTMLStyle *This = HTMLSTYLE_THIS(iface);
673 TRACE("(%p)->(%p)\n", This, p);
675 return check_style_attr_value(This, STYLEID_TEXT_DECORATION, valUnderline, p);
678 static HRESULT WINAPI HTMLStyle_put_textDecorationOverline(IHTMLStyle *iface, VARIANT_BOOL v)
680 HTMLStyle *This = HTMLSTYLE_THIS(iface);
681 FIXME("(%p)->(%x)\n", This, v);
682 return E_NOTIMPL;
685 static HRESULT WINAPI HTMLStyle_get_textDecorationOverline(IHTMLStyle *iface, VARIANT_BOOL *p)
687 HTMLStyle *This = HTMLSTYLE_THIS(iface);
688 FIXME("(%p)->(%p)\n", This, p);
689 return E_NOTIMPL;
692 static HRESULT WINAPI HTMLStyle_put_textDecorationLineThrough(IHTMLStyle *iface, VARIANT_BOOL v)
694 HTMLStyle *This = HTMLSTYLE_THIS(iface);
695 FIXME("(%p)->(%x)\n", This, v);
696 return E_NOTIMPL;
699 static HRESULT WINAPI HTMLStyle_get_textDecorationLineThrough(IHTMLStyle *iface, VARIANT_BOOL *p)
701 HTMLStyle *This = HTMLSTYLE_THIS(iface);
703 TRACE("(%p)->(%p)\n", This, p);
705 return check_style_attr_value(This, STYLEID_TEXT_DECORATION, valLineThrough, p);
708 static HRESULT WINAPI HTMLStyle_put_textDecorationBlink(IHTMLStyle *iface, VARIANT_BOOL v)
710 HTMLStyle *This = HTMLSTYLE_THIS(iface);
711 FIXME("(%p)->(%x)\n", This, v);
712 return E_NOTIMPL;
715 static HRESULT WINAPI HTMLStyle_get_textDecorationBlink(IHTMLStyle *iface, VARIANT_BOOL *p)
717 HTMLStyle *This = HTMLSTYLE_THIS(iface);
718 FIXME("(%p)->(%p)\n", This, p);
719 return E_NOTIMPL;
722 static HRESULT WINAPI HTMLStyle_put_verticalAlign(IHTMLStyle *iface, VARIANT v)
724 HTMLStyle *This = HTMLSTYLE_THIS(iface);
725 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
726 return E_NOTIMPL;
729 static HRESULT WINAPI HTMLStyle_get_verticalAlign(IHTMLStyle *iface, VARIANT *p)
731 HTMLStyle *This = HTMLSTYLE_THIS(iface);
732 FIXME("(%p)->(%p)\n", This, p);
733 return E_NOTIMPL;
736 static HRESULT WINAPI HTMLStyle_put_textTransform(IHTMLStyle *iface, BSTR v)
738 HTMLStyle *This = HTMLSTYLE_THIS(iface);
739 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
740 return E_NOTIMPL;
743 static HRESULT WINAPI HTMLStyle_get_textTransform(IHTMLStyle *iface, BSTR *p)
745 HTMLStyle *This = HTMLSTYLE_THIS(iface);
746 FIXME("(%p)->(%p)\n", This, p);
747 return E_NOTIMPL;
750 static HRESULT WINAPI HTMLStyle_put_textAlign(IHTMLStyle *iface, BSTR v)
752 HTMLStyle *This = HTMLSTYLE_THIS(iface);
753 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
754 return E_NOTIMPL;
757 static HRESULT WINAPI HTMLStyle_get_textAlign(IHTMLStyle *iface, BSTR *p)
759 HTMLStyle *This = HTMLSTYLE_THIS(iface);
760 FIXME("(%p)->(%p)\n", This, p);
761 return E_NOTIMPL;
764 static HRESULT WINAPI HTMLStyle_put_textIndent(IHTMLStyle *iface, VARIANT v)
766 HTMLStyle *This = HTMLSTYLE_THIS(iface);
767 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
768 return E_NOTIMPL;
771 static HRESULT WINAPI HTMLStyle_get_textIndent(IHTMLStyle *iface, VARIANT *p)
773 HTMLStyle *This = HTMLSTYLE_THIS(iface);
774 FIXME("(%p)->(%p)\n", This, p);
775 return E_NOTIMPL;
778 static HRESULT WINAPI HTMLStyle_put_lineHeight(IHTMLStyle *iface, VARIANT v)
780 HTMLStyle *This = HTMLSTYLE_THIS(iface);
781 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
782 return E_NOTIMPL;
785 static HRESULT WINAPI HTMLStyle_get_lineHeight(IHTMLStyle *iface, VARIANT *p)
787 HTMLStyle *This = HTMLSTYLE_THIS(iface);
788 FIXME("(%p)->(%p)\n", This, p);
789 return E_NOTIMPL;
792 static HRESULT WINAPI HTMLStyle_put_marginTop(IHTMLStyle *iface, VARIANT v)
794 HTMLStyle *This = HTMLSTYLE_THIS(iface);
795 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
796 return E_NOTIMPL;
799 static HRESULT WINAPI HTMLStyle_get_marginTop(IHTMLStyle *iface, VARIANT *p)
801 HTMLStyle *This = HTMLSTYLE_THIS(iface);
802 FIXME("(%p)->(%p)\n", This, p);
803 return E_NOTIMPL;
806 static HRESULT WINAPI HTMLStyle_put_marginRight(IHTMLStyle *iface, VARIANT v)
808 HTMLStyle *This = HTMLSTYLE_THIS(iface);
810 TRACE("(%p)->(v(%d))\n", This, V_VT(&v));
812 switch(V_VT(&v)) {
813 case VT_NULL:
814 return set_style_attr(This, STYLEID_MARGIN_RIGHT, emptyW, 0);
815 case VT_I4: {
816 WCHAR buf[14];
818 wsprintfW(buf, px_formatW, V_I4(&v));
819 return set_style_attr(This, STYLEID_MARGIN_RIGHT, buf, 0);
821 case VT_BSTR:
822 return set_style_attr(This, STYLEID_MARGIN_RIGHT, V_BSTR(&v), 0);
823 default:
824 FIXME("Unsupported vt=%d\n", V_VT(&v));
827 return E_NOTIMPL;
830 static HRESULT WINAPI HTMLStyle_get_marginRight(IHTMLStyle *iface, VARIANT *p)
832 HTMLStyle *This = HTMLSTYLE_THIS(iface);
833 FIXME("(%p)->(%p)\n", This, p);
834 return E_NOTIMPL;
837 static HRESULT WINAPI HTMLStyle_put_marginBottom(IHTMLStyle *iface, VARIANT v)
839 HTMLStyle *This = HTMLSTYLE_THIS(iface);
840 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
841 return E_NOTIMPL;
844 static HRESULT WINAPI HTMLStyle_get_marginBottom(IHTMLStyle *iface, VARIANT *p)
846 HTMLStyle *This = HTMLSTYLE_THIS(iface);
847 FIXME("(%p)->(%p)\n", This, p);
848 return E_NOTIMPL;
851 static HRESULT WINAPI HTMLStyle_put_marginLeft(IHTMLStyle *iface, VARIANT v)
853 HTMLStyle *This = HTMLSTYLE_THIS(iface);
855 switch(V_VT(&v)) {
856 case VT_NULL:
857 TRACE("(%p)->(NULL)\n", This);
858 return set_style_attr(This, STYLEID_MARGIN_LEFT, emptyW, 0);
859 case VT_I4: {
860 WCHAR buf[14];
862 TRACE("(%p)->(%d)\n", This, V_I4(&v));
864 wsprintfW(buf, px_formatW, V_I4(&v));
865 return set_style_attr(This, STYLEID_MARGIN_LEFT, buf, 0);
867 case VT_BSTR:
868 TRACE("(%p)->(%s)\n", This, debugstr_w(V_BSTR(&v)));
869 return set_style_attr(This, STYLEID_MARGIN_LEFT, V_BSTR(&v), 0);
870 default:
871 FIXME("Unsupported vt=%d\n", V_VT(&v));
874 return E_NOTIMPL;
877 static HRESULT WINAPI HTMLStyle_put_margin(IHTMLStyle *iface, BSTR v)
879 HTMLStyle *This = HTMLSTYLE_THIS(iface);
881 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
883 return set_style_attr(This, STYLEID_MARGIN, v, 0);
886 static HRESULT WINAPI HTMLStyle_get_margin(IHTMLStyle *iface, BSTR *p)
888 HTMLStyle *This = HTMLSTYLE_THIS(iface);
890 TRACE("(%p)->(%p)\n", This, p);
892 return get_style_attr(This, STYLEID_MARGIN, p);
895 static HRESULT WINAPI HTMLStyle_get_marginLeft(IHTMLStyle *iface, VARIANT *p)
897 HTMLStyle *This = HTMLSTYLE_THIS(iface);
898 FIXME("(%p)->(%p)\n", This, p);
899 return E_NOTIMPL;
902 static HRESULT WINAPI HTMLStyle_put_paddingTop(IHTMLStyle *iface, VARIANT v)
904 HTMLStyle *This = HTMLSTYLE_THIS(iface);
905 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
906 return E_NOTIMPL;
909 static HRESULT WINAPI HTMLStyle_get_paddingTop(IHTMLStyle *iface, VARIANT *p)
911 HTMLStyle *This = HTMLSTYLE_THIS(iface);
912 FIXME("(%p)->(%p)\n", This, p);
913 return E_NOTIMPL;
916 static HRESULT WINAPI HTMLStyle_put_paddingRight(IHTMLStyle *iface, VARIANT v)
918 HTMLStyle *This = HTMLSTYLE_THIS(iface);
919 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
920 return E_NOTIMPL;
923 static HRESULT WINAPI HTMLStyle_get_paddingRight(IHTMLStyle *iface, VARIANT *p)
925 HTMLStyle *This = HTMLSTYLE_THIS(iface);
926 FIXME("(%p)->(%p)\n", This, p);
927 return E_NOTIMPL;
930 static HRESULT WINAPI HTMLStyle_put_paddingBottom(IHTMLStyle *iface, VARIANT v)
932 HTMLStyle *This = HTMLSTYLE_THIS(iface);
933 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
934 return E_NOTIMPL;
937 static HRESULT WINAPI HTMLStyle_get_paddingBottom(IHTMLStyle *iface, VARIANT *p)
939 HTMLStyle *This = HTMLSTYLE_THIS(iface);
940 FIXME("(%p)->(%p)\n", This, p);
941 return E_NOTIMPL;
944 static HRESULT WINAPI HTMLStyle_put_paddingLeft(IHTMLStyle *iface, VARIANT v)
946 HTMLStyle *This = HTMLSTYLE_THIS(iface);
948 TRACE("(%p)->(vt=%d)\n", This, V_VT(&v));
950 switch(V_VT(&v)) {
951 case VT_I4: {
952 WCHAR buf[14];
954 wsprintfW(buf, px_formatW, V_I4(&v));
955 return set_style_attr(This, STYLEID_PADDING_LEFT, buf, 0);
957 case VT_BSTR:
958 return set_style_attr(This, STYLEID_PADDING_LEFT, V_BSTR(&v), 0);
959 default:
960 FIXME("unsupported vt=%d\n", V_VT(&v));
963 return E_NOTIMPL;
966 static HRESULT WINAPI HTMLStyle_get_paddingLeft(IHTMLStyle *iface, VARIANT *p)
968 HTMLStyle *This = HTMLSTYLE_THIS(iface);
969 FIXME("(%p)->(%p)\n", This, p);
970 return E_NOTIMPL;
973 static HRESULT WINAPI HTMLStyle_put_padding(IHTMLStyle *iface, BSTR v)
975 HTMLStyle *This = HTMLSTYLE_THIS(iface);
976 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
977 return E_NOTIMPL;
980 static HRESULT WINAPI HTMLStyle_get_padding(IHTMLStyle *iface, BSTR *p)
982 HTMLStyle *This = HTMLSTYLE_THIS(iface);
983 FIXME("(%p)->(%p)\n", This, p);
984 return E_NOTIMPL;
987 static HRESULT WINAPI HTMLStyle_put_border(IHTMLStyle *iface, BSTR v)
989 HTMLStyle *This = HTMLSTYLE_THIS(iface);
991 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
993 return set_style_attr(This, STYLEID_BORDER, v, 0);
996 static HRESULT WINAPI HTMLStyle_get_border(IHTMLStyle *iface, BSTR *p)
998 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1000 TRACE("(%p)->(%p)\n", This, p);
1002 return get_style_attr(This, STYLEID_BORDER, p);
1005 static HRESULT WINAPI HTMLStyle_put_borderTop(IHTMLStyle *iface, BSTR v)
1007 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1008 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1009 return E_NOTIMPL;
1012 static HRESULT WINAPI HTMLStyle_get_borderTop(IHTMLStyle *iface, BSTR *p)
1014 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1015 FIXME("(%p)->(%p)\n", This, p);
1016 return E_NOTIMPL;
1019 static HRESULT WINAPI HTMLStyle_put_borderRight(IHTMLStyle *iface, BSTR v)
1021 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1022 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1023 return E_NOTIMPL;
1026 static HRESULT WINAPI HTMLStyle_get_borderRight(IHTMLStyle *iface, BSTR *p)
1028 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1029 FIXME("(%p)->(%p)\n", This, p);
1030 return E_NOTIMPL;
1033 static HRESULT WINAPI HTMLStyle_put_borderBottom(IHTMLStyle *iface, BSTR v)
1035 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1036 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1037 return E_NOTIMPL;
1040 static HRESULT WINAPI HTMLStyle_get_borderBottom(IHTMLStyle *iface, BSTR *p)
1042 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1043 FIXME("(%p)->(%p)\n", This, p);
1044 return E_NOTIMPL;
1047 static HRESULT WINAPI HTMLStyle_put_borderLeft(IHTMLStyle *iface, BSTR v)
1049 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1051 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1053 return set_style_attr(This, STYLEID_BORDER_LEFT, v, ATTR_FIX_PX);
1056 static HRESULT WINAPI HTMLStyle_get_borderLeft(IHTMLStyle *iface, BSTR *p)
1058 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1059 FIXME("(%p)->(%p)\n", This, p);
1060 return E_NOTIMPL;
1063 static HRESULT WINAPI HTMLStyle_put_borderColor(IHTMLStyle *iface, BSTR v)
1065 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1066 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1067 return E_NOTIMPL;
1070 static HRESULT WINAPI HTMLStyle_get_borderColor(IHTMLStyle *iface, BSTR *p)
1072 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1073 FIXME("(%p)->(%p)\n", This, p);
1074 return E_NOTIMPL;
1077 static HRESULT WINAPI HTMLStyle_put_borderTopColor(IHTMLStyle *iface, VARIANT v)
1079 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1080 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1081 return E_NOTIMPL;
1084 static HRESULT WINAPI HTMLStyle_get_borderTopColor(IHTMLStyle *iface, VARIANT *p)
1086 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1087 FIXME("(%p)->(%p)\n", This, p);
1088 return E_NOTIMPL;
1091 static HRESULT WINAPI HTMLStyle_put_borderRightColor(IHTMLStyle *iface, VARIANT v)
1093 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1094 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1095 return E_NOTIMPL;
1098 static HRESULT WINAPI HTMLStyle_get_borderRightColor(IHTMLStyle *iface, VARIANT *p)
1100 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1101 FIXME("(%p)->(%p)\n", This, p);
1102 return E_NOTIMPL;
1105 static HRESULT WINAPI HTMLStyle_put_borderBottomColor(IHTMLStyle *iface, VARIANT v)
1107 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1108 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1109 return E_NOTIMPL;
1112 static HRESULT WINAPI HTMLStyle_get_borderBottomColor(IHTMLStyle *iface, VARIANT *p)
1114 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1115 FIXME("(%p)->(%p)\n", This, p);
1116 return E_NOTIMPL;
1119 static HRESULT WINAPI HTMLStyle_put_borderLeftColor(IHTMLStyle *iface, VARIANT v)
1121 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1122 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1123 return E_NOTIMPL;
1126 static HRESULT WINAPI HTMLStyle_get_borderLeftColor(IHTMLStyle *iface, VARIANT *p)
1128 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1129 FIXME("(%p)->(%p)\n", This, p);
1130 return E_NOTIMPL;
1133 static HRESULT WINAPI HTMLStyle_put_borderWidth(IHTMLStyle *iface, BSTR v)
1135 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1136 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1137 return E_NOTIMPL;
1140 static HRESULT WINAPI HTMLStyle_get_borderWidth(IHTMLStyle *iface, BSTR *p)
1142 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1143 FIXME("(%p)->(%p)\n", This, p);
1144 return E_NOTIMPL;
1147 static HRESULT WINAPI HTMLStyle_put_borderTopWidth(IHTMLStyle *iface, VARIANT v)
1149 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1150 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1151 return E_NOTIMPL;
1154 static HRESULT WINAPI HTMLStyle_get_borderTopWidth(IHTMLStyle *iface, VARIANT *p)
1156 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1157 FIXME("(%p)->(%p)\n", This, p);
1158 return E_NOTIMPL;
1161 static HRESULT WINAPI HTMLStyle_put_borderRightWidth(IHTMLStyle *iface, VARIANT v)
1163 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1164 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1165 return E_NOTIMPL;
1168 static HRESULT WINAPI HTMLStyle_get_borderRightWidth(IHTMLStyle *iface, VARIANT *p)
1170 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1171 FIXME("(%p)->(%p)\n", This, p);
1172 return E_NOTIMPL;
1175 static HRESULT WINAPI HTMLStyle_put_borderBottomWidth(IHTMLStyle *iface, VARIANT v)
1177 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1178 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1179 return E_NOTIMPL;
1182 static HRESULT WINAPI HTMLStyle_get_borderBottomWidth(IHTMLStyle *iface, VARIANT *p)
1184 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1185 FIXME("(%p)->(%p)\n", This, p);
1186 return E_NOTIMPL;
1189 static HRESULT WINAPI HTMLStyle_put_borderLeftWidth(IHTMLStyle *iface, VARIANT v)
1191 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1192 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1193 return E_NOTIMPL;
1196 static HRESULT WINAPI HTMLStyle_get_borderLeftWidth(IHTMLStyle *iface, VARIANT *p)
1198 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1199 FIXME("(%p)->(%p)\n", This, p);
1200 return E_NOTIMPL;
1203 static HRESULT WINAPI HTMLStyle_put_borderStyle(IHTMLStyle *iface, BSTR v)
1205 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1206 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1207 return E_NOTIMPL;
1210 static HRESULT WINAPI HTMLStyle_get_borderStyle(IHTMLStyle *iface, BSTR *p)
1212 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1213 FIXME("(%p)->(%p)\n", This, p);
1214 return E_NOTIMPL;
1217 static HRESULT WINAPI HTMLStyle_put_borderTopStyle(IHTMLStyle *iface, BSTR v)
1219 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1220 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1221 return E_NOTIMPL;
1224 static HRESULT WINAPI HTMLStyle_get_borderTopStyle(IHTMLStyle *iface, BSTR *p)
1226 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1227 FIXME("(%p)->(%p)\n", This, p);
1228 return E_NOTIMPL;
1231 static HRESULT WINAPI HTMLStyle_put_borderRightStyle(IHTMLStyle *iface, BSTR v)
1233 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1234 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1235 return E_NOTIMPL;
1238 static HRESULT WINAPI HTMLStyle_get_borderRightStyle(IHTMLStyle *iface, BSTR *p)
1240 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1241 FIXME("(%p)->(%p)\n", This, p);
1242 return E_NOTIMPL;
1245 static HRESULT WINAPI HTMLStyle_put_borderBottomStyle(IHTMLStyle *iface, BSTR v)
1247 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1248 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1249 return E_NOTIMPL;
1252 static HRESULT WINAPI HTMLStyle_get_borderBottomStyle(IHTMLStyle *iface, BSTR *p)
1254 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1255 FIXME("(%p)->(%p)\n", This, p);
1256 return E_NOTIMPL;
1259 static HRESULT WINAPI HTMLStyle_put_borderLeftStyle(IHTMLStyle *iface, BSTR v)
1261 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1262 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1263 return E_NOTIMPL;
1266 static HRESULT WINAPI HTMLStyle_get_borderLeftStyle(IHTMLStyle *iface, BSTR *p)
1268 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1269 FIXME("(%p)->(%p)\n", This, p);
1270 return E_NOTIMPL;
1273 static HRESULT WINAPI HTMLStyle_put_width(IHTMLStyle *iface, VARIANT v)
1275 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1277 TRACE("(%p)->(v%d)\n", This, V_VT(&v));
1279 switch(V_VT(&v)) {
1280 case VT_BSTR:
1281 TRACE("%s\n", debugstr_w(V_BSTR(&v)));
1282 return set_style_attr(This, STYLEID_WIDTH, V_BSTR(&v), 0);
1283 default:
1284 FIXME("unsupported vt %d\n", V_VT(&v));
1287 return E_NOTIMPL;
1290 static HRESULT WINAPI HTMLStyle_get_width(IHTMLStyle *iface, VARIANT *p)
1292 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1294 TRACE("(%p)->(%p)\n", This, p);
1296 V_VT(p) = VT_BSTR;
1297 return get_style_attr(This, STYLEID_WIDTH, &V_BSTR(p));
1300 static HRESULT WINAPI HTMLStyle_put_height(IHTMLStyle *iface, VARIANT v)
1302 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1303 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1304 return E_NOTIMPL;
1307 static HRESULT WINAPI HTMLStyle_get_height(IHTMLStyle *iface, VARIANT *p)
1309 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1310 FIXME("(%p)->(%p)\n", This, p);
1311 return E_NOTIMPL;
1314 static HRESULT WINAPI HTMLStyle_put_styleFloat(IHTMLStyle *iface, BSTR v)
1316 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1317 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1318 return E_NOTIMPL;
1321 static HRESULT WINAPI HTMLStyle_get_styleFloat(IHTMLStyle *iface, BSTR *p)
1323 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1324 FIXME("(%p)->(%p)\n", This, p);
1325 return E_NOTIMPL;
1328 static HRESULT WINAPI HTMLStyle_put_clear(IHTMLStyle *iface, BSTR v)
1330 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1331 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1332 return E_NOTIMPL;
1335 static HRESULT WINAPI HTMLStyle_get_clear(IHTMLStyle *iface, BSTR *p)
1337 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1338 FIXME("(%p)->(%p)\n", This, p);
1339 return E_NOTIMPL;
1342 static HRESULT WINAPI HTMLStyle_put_display(IHTMLStyle *iface, BSTR v)
1344 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1346 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1348 return set_style_attr(This, STYLEID_DISPLAY, v, 0);
1351 static HRESULT WINAPI HTMLStyle_get_display(IHTMLStyle *iface, BSTR *p)
1353 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1355 TRACE("(%p)->(%p)\n", This, p);
1357 return get_style_attr(This, STYLEID_DISPLAY, p);
1360 static HRESULT WINAPI HTMLStyle_put_visibility(IHTMLStyle *iface, BSTR v)
1362 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1364 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1366 return set_style_attr(This, STYLEID_VISIBILITY, v, 0);
1369 static HRESULT WINAPI HTMLStyle_get_visibility(IHTMLStyle *iface, BSTR *p)
1371 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1373 TRACE("(%p)->(%p)\n", This, p);
1375 return get_style_attr(This, STYLEID_VISIBILITY, p);
1378 static HRESULT WINAPI HTMLStyle_put_listStyleType(IHTMLStyle *iface, BSTR v)
1380 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1381 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1382 return E_NOTIMPL;
1385 static HRESULT WINAPI HTMLStyle_get_listStyleType(IHTMLStyle *iface, BSTR *p)
1387 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1388 FIXME("(%p)->(%p)\n", This, p);
1389 return E_NOTIMPL;
1392 static HRESULT WINAPI HTMLStyle_put_listStylePosition(IHTMLStyle *iface, BSTR v)
1394 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1395 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1396 return E_NOTIMPL;
1399 static HRESULT WINAPI HTMLStyle_get_listStylePosition(IHTMLStyle *iface, BSTR *p)
1401 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1402 FIXME("(%p)->(%p)\n", This, p);
1403 return E_NOTIMPL;
1406 static HRESULT WINAPI HTMLStyle_put_listStyleImage(IHTMLStyle *iface, BSTR v)
1408 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1409 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1410 return E_NOTIMPL;
1413 static HRESULT WINAPI HTMLStyle_get_listStyleImage(IHTMLStyle *iface, BSTR *p)
1415 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1416 FIXME("(%p)->(%p)\n", This, p);
1417 return E_NOTIMPL;
1420 static HRESULT WINAPI HTMLStyle_put_listStyle(IHTMLStyle *iface, BSTR v)
1422 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1423 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1424 return E_NOTIMPL;
1427 static HRESULT WINAPI HTMLStyle_get_listStyle(IHTMLStyle *iface, BSTR *p)
1429 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1430 FIXME("(%p)->(%p)\n", This, p);
1431 return E_NOTIMPL;
1434 static HRESULT WINAPI HTMLStyle_put_whiteSpace(IHTMLStyle *iface, BSTR v)
1436 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1437 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1438 return E_NOTIMPL;
1441 static HRESULT WINAPI HTMLStyle_get_whiteSpace(IHTMLStyle *iface, BSTR *p)
1443 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1444 FIXME("(%p)->(%p)\n", This, p);
1445 return E_NOTIMPL;
1448 static HRESULT WINAPI HTMLStyle_put_top(IHTMLStyle *iface, VARIANT v)
1450 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1451 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1452 return E_NOTIMPL;
1455 static HRESULT WINAPI HTMLStyle_get_top(IHTMLStyle *iface, VARIANT *p)
1457 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1458 FIXME("(%p)->(%p)\n", This, p);
1459 return E_NOTIMPL;
1462 static HRESULT WINAPI HTMLStyle_put_left(IHTMLStyle *iface, VARIANT v)
1464 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1466 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1468 switch(V_VT(&v)) {
1469 case VT_BSTR:
1470 return set_style_attr(This, STYLEID_LEFT, V_BSTR(&v), 0);
1471 default:
1472 FIXME("unimplemented vt %d\n", V_VT(&v));
1473 return E_NOTIMPL;
1476 return S_OK;
1479 static HRESULT WINAPI HTMLStyle_get_left(IHTMLStyle *iface, VARIANT *p)
1481 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1482 BSTR ret;
1483 HRESULT hres;
1485 TRACE("(%p)->(%p)\n", This, p);
1487 hres = get_style_attr(This, STYLEID_LEFT, &ret);
1488 if(FAILED(hres))
1489 return hres;
1491 V_VT(p) = VT_BSTR;
1492 V_BSTR(p) = ret;
1493 return S_OK;
1496 static HRESULT WINAPI HTMLStyle_get_position(IHTMLStyle *iface, BSTR *p)
1498 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1499 FIXME("(%p)->(%p)\n", This, p);
1500 return E_NOTIMPL;
1503 static HRESULT WINAPI HTMLStyle_put_zIndex(IHTMLStyle *iface, VARIANT v)
1505 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1506 FIXME("(%p)->(v%d)\n", This, V_VT(&v));
1507 return E_NOTIMPL;
1510 static HRESULT WINAPI HTMLStyle_get_zIndex(IHTMLStyle *iface, VARIANT *p)
1512 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1513 FIXME("(%p)->(%p)\n", This, p);
1514 return E_NOTIMPL;
1517 static HRESULT WINAPI HTMLStyle_put_overflow(IHTMLStyle *iface, BSTR v)
1519 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1520 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1521 return E_NOTIMPL;
1524 static HRESULT WINAPI HTMLStyle_get_overflow(IHTMLStyle *iface, BSTR *p)
1526 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1527 FIXME("(%p)->(%p)\n", This, p);
1528 return E_NOTIMPL;
1531 static HRESULT WINAPI HTMLStyle_put_pageBreakBefore(IHTMLStyle *iface, BSTR v)
1533 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1534 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1535 return E_NOTIMPL;
1538 static HRESULT WINAPI HTMLStyle_get_pageBreakBefore(IHTMLStyle *iface, BSTR *p)
1540 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1541 FIXME("(%p)->(%p)\n", This, p);
1542 return E_NOTIMPL;
1545 static HRESULT WINAPI HTMLStyle_put_pageBreakAfter(IHTMLStyle *iface, BSTR v)
1547 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1548 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1549 return E_NOTIMPL;
1552 static HRESULT WINAPI HTMLStyle_get_pageBreakAfter(IHTMLStyle *iface, BSTR *p)
1554 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1555 FIXME("(%p)->(%p)\n", This, p);
1556 return E_NOTIMPL;
1559 static HRESULT WINAPI HTMLStyle_put_cssText(IHTMLStyle *iface, BSTR v)
1561 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1562 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1563 return E_NOTIMPL;
1566 static HRESULT WINAPI HTMLStyle_get_cssText(IHTMLStyle *iface, BSTR *p)
1568 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1569 FIXME("(%p)->(%p)\n", This, p);
1570 return E_NOTIMPL;
1573 static HRESULT WINAPI HTMLStyle_put_pixelTop(IHTMLStyle *iface, long v)
1575 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1576 FIXME("(%p)->()\n", This);
1577 return E_NOTIMPL;
1580 static HRESULT WINAPI HTMLStyle_get_pixelTop(IHTMLStyle *iface, long *p)
1582 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1583 FIXME("(%p)->()\n", This);
1584 return E_NOTIMPL;
1587 static HRESULT WINAPI HTMLStyle_put_pixelLeft(IHTMLStyle *iface, long v)
1589 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1590 FIXME("(%p)->()\n", This);
1591 return E_NOTIMPL;
1594 static HRESULT WINAPI HTMLStyle_get_pixelLeft(IHTMLStyle *iface, long *p)
1596 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1597 FIXME("(%p)->()\n", This);
1598 return E_NOTIMPL;
1601 static HRESULT WINAPI HTMLStyle_put_pixelWidth(IHTMLStyle *iface, long v)
1603 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1604 FIXME("(%p)->()\n", This);
1605 return E_NOTIMPL;
1608 static HRESULT WINAPI HTMLStyle_get_pixelWidth(IHTMLStyle *iface, long *p)
1610 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1611 FIXME("(%p)->()\n", This);
1612 return E_NOTIMPL;
1615 static HRESULT WINAPI HTMLStyle_put_pixelHeight(IHTMLStyle *iface, long v)
1617 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1618 FIXME("(%p)->()\n", This);
1619 return E_NOTIMPL;
1622 static HRESULT WINAPI HTMLStyle_get_pixelHeight(IHTMLStyle *iface, long *p)
1624 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1625 FIXME("(%p)->()\n", This);
1626 return E_NOTIMPL;
1629 static HRESULT WINAPI HTMLStyle_put_posTop(IHTMLStyle *iface, float v)
1631 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1632 FIXME("(%p)->()\n", This);
1633 return E_NOTIMPL;
1636 static HRESULT WINAPI HTMLStyle_get_posTop(IHTMLStyle *iface, float *p)
1638 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1639 FIXME("(%p)->()\n", This);
1640 return E_NOTIMPL;
1643 static HRESULT WINAPI HTMLStyle_put_posLeft(IHTMLStyle *iface, float v)
1645 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1646 FIXME("(%p)->()\n", This);
1647 return E_NOTIMPL;
1650 static HRESULT WINAPI HTMLStyle_get_posLeft(IHTMLStyle *iface, float *p)
1652 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1653 FIXME("(%p)->()\n", This);
1654 return E_NOTIMPL;
1657 static HRESULT WINAPI HTMLStyle_put_posWidth(IHTMLStyle *iface, float v)
1659 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1660 FIXME("(%p)->()\n", This);
1661 return E_NOTIMPL;
1664 static HRESULT WINAPI HTMLStyle_get_posWidth(IHTMLStyle *iface, float *p)
1666 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1667 FIXME("(%p)->()\n", This);
1668 return E_NOTIMPL;
1671 static HRESULT WINAPI HTMLStyle_put_posHeight(IHTMLStyle *iface, float v)
1673 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1674 FIXME("(%p)->()\n", This);
1675 return E_NOTIMPL;
1678 static HRESULT WINAPI HTMLStyle_get_posHeight(IHTMLStyle *iface, float *p)
1680 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1681 FIXME("(%p)->()\n", This);
1682 return E_NOTIMPL;
1685 static HRESULT WINAPI HTMLStyle_put_cursor(IHTMLStyle *iface, BSTR v)
1687 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1688 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1689 return E_NOTIMPL;
1692 static HRESULT WINAPI HTMLStyle_get_cursor(IHTMLStyle *iface, BSTR *p)
1694 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1695 FIXME("(%p)->(%p)\n", This, p);
1696 return E_NOTIMPL;
1699 static HRESULT WINAPI HTMLStyle_put_clip(IHTMLStyle *iface, BSTR v)
1701 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1702 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1703 return E_NOTIMPL;
1706 static HRESULT WINAPI HTMLStyle_get_clip(IHTMLStyle *iface, BSTR *p)
1708 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1709 FIXME("(%p)->(%p)\n", This, p);
1710 return E_NOTIMPL;
1713 static HRESULT WINAPI HTMLStyle_put_filter(IHTMLStyle *iface, BSTR v)
1715 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1716 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1717 return E_NOTIMPL;
1720 static HRESULT WINAPI HTMLStyle_get_filter(IHTMLStyle *iface, BSTR *p)
1722 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1723 FIXME("(%p)->(%p)\n", This, p);
1724 return E_NOTIMPL;
1727 static HRESULT WINAPI HTMLStyle_setAttribute(IHTMLStyle *iface, BSTR strAttributeName,
1728 VARIANT AttributeValue, LONG lFlags)
1730 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1731 FIXME("(%p)->(%s v%d %08x)\n", This, debugstr_w(strAttributeName),
1732 V_VT(&AttributeValue), lFlags);
1733 return E_NOTIMPL;
1736 static HRESULT WINAPI HTMLStyle_getAttribute(IHTMLStyle *iface, BSTR strAttributeName,
1737 LONG lFlags, VARIANT *AttributeValue)
1739 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1740 FIXME("(%p)->(%s %08x %p)\n", This, debugstr_w(strAttributeName),
1741 lFlags, AttributeValue);
1742 return E_NOTIMPL;
1745 static HRESULT WINAPI HTMLStyle_removeAttribute(IHTMLStyle *iface, BSTR strAttributeName,
1746 LONG lFlags, VARIANT_BOOL *pfSuccess)
1748 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1749 FIXME("(%p)->(%s %08x %p)\n", This, debugstr_w(strAttributeName),
1750 lFlags, pfSuccess);
1751 return E_NOTIMPL;
1754 static HRESULT WINAPI HTMLStyle_toString(IHTMLStyle *iface, BSTR *String)
1756 HTMLStyle *This = HTMLSTYLE_THIS(iface);
1757 FIXME("(%p)->(%p)\n", This, String);
1758 return E_NOTIMPL;
1761 static const IHTMLStyleVtbl HTMLStyleVtbl = {
1762 HTMLStyle_QueryInterface,
1763 HTMLStyle_AddRef,
1764 HTMLStyle_Release,
1765 HTMLStyle_GetTypeInfoCount,
1766 HTMLStyle_GetTypeInfo,
1767 HTMLStyle_GetIDsOfNames,
1768 HTMLStyle_Invoke,
1769 HTMLStyle_put_fontFamily,
1770 HTMLStyle_get_fontFamily,
1771 HTMLStyle_put_fontStyle,
1772 HTMLStyle_get_fontStyle,
1773 HTMLStyle_put_fontVariant,
1774 HTMLStyle_get_fontVariant,
1775 HTMLStyle_put_fontWeight,
1776 HTMLStyle_get_fontWeight,
1777 HTMLStyle_put_fontSize,
1778 HTMLStyle_get_fontSize,
1779 HTMLStyle_put_font,
1780 HTMLStyle_get_font,
1781 HTMLStyle_put_color,
1782 HTMLStyle_get_color,
1783 HTMLStyle_put_background,
1784 HTMLStyle_get_background,
1785 HTMLStyle_put_backgroundColor,
1786 HTMLStyle_get_backgroundColor,
1787 HTMLStyle_put_backgroundImage,
1788 HTMLStyle_get_backgroundImage,
1789 HTMLStyle_put_backgroundRepeat,
1790 HTMLStyle_get_backgroundRepeat,
1791 HTMLStyle_put_backgroundAttachment,
1792 HTMLStyle_get_backgroundAttachment,
1793 HTMLStyle_put_backgroundPosition,
1794 HTMLStyle_get_backgroundPosition,
1795 HTMLStyle_put_backgroundPositionX,
1796 HTMLStyle_get_backgroundPositionX,
1797 HTMLStyle_put_backgroundPositionY,
1798 HTMLStyle_get_backgroundPositionY,
1799 HTMLStyle_put_wordSpacing,
1800 HTMLStyle_get_wordSpacing,
1801 HTMLStyle_put_letterSpacing,
1802 HTMLStyle_get_letterSpacing,
1803 HTMLStyle_put_textDecoration,
1804 HTMLStyle_get_textDecoration,
1805 HTMLStyle_put_textDecorationNone,
1806 HTMLStyle_get_textDecorationNone,
1807 HTMLStyle_put_textDecorationUnderline,
1808 HTMLStyle_get_textDecorationUnderline,
1809 HTMLStyle_put_textDecorationOverline,
1810 HTMLStyle_get_textDecorationOverline,
1811 HTMLStyle_put_textDecorationLineThrough,
1812 HTMLStyle_get_textDecorationLineThrough,
1813 HTMLStyle_put_textDecorationBlink,
1814 HTMLStyle_get_textDecorationBlink,
1815 HTMLStyle_put_verticalAlign,
1816 HTMLStyle_get_verticalAlign,
1817 HTMLStyle_put_textTransform,
1818 HTMLStyle_get_textTransform,
1819 HTMLStyle_put_textAlign,
1820 HTMLStyle_get_textAlign,
1821 HTMLStyle_put_textIndent,
1822 HTMLStyle_get_textIndent,
1823 HTMLStyle_put_lineHeight,
1824 HTMLStyle_get_lineHeight,
1825 HTMLStyle_put_marginTop,
1826 HTMLStyle_get_marginTop,
1827 HTMLStyle_put_marginRight,
1828 HTMLStyle_get_marginRight,
1829 HTMLStyle_put_marginBottom,
1830 HTMLStyle_get_marginBottom,
1831 HTMLStyle_put_marginLeft,
1832 HTMLStyle_get_marginLeft,
1833 HTMLStyle_put_margin,
1834 HTMLStyle_get_margin,
1835 HTMLStyle_put_paddingTop,
1836 HTMLStyle_get_paddingTop,
1837 HTMLStyle_put_paddingRight,
1838 HTMLStyle_get_paddingRight,
1839 HTMLStyle_put_paddingBottom,
1840 HTMLStyle_get_paddingBottom,
1841 HTMLStyle_put_paddingLeft,
1842 HTMLStyle_get_paddingLeft,
1843 HTMLStyle_put_padding,
1844 HTMLStyle_get_padding,
1845 HTMLStyle_put_border,
1846 HTMLStyle_get_border,
1847 HTMLStyle_put_borderTop,
1848 HTMLStyle_get_borderTop,
1849 HTMLStyle_put_borderRight,
1850 HTMLStyle_get_borderRight,
1851 HTMLStyle_put_borderBottom,
1852 HTMLStyle_get_borderBottom,
1853 HTMLStyle_put_borderLeft,
1854 HTMLStyle_get_borderLeft,
1855 HTMLStyle_put_borderColor,
1856 HTMLStyle_get_borderColor,
1857 HTMLStyle_put_borderTopColor,
1858 HTMLStyle_get_borderTopColor,
1859 HTMLStyle_put_borderRightColor,
1860 HTMLStyle_get_borderRightColor,
1861 HTMLStyle_put_borderBottomColor,
1862 HTMLStyle_get_borderBottomColor,
1863 HTMLStyle_put_borderLeftColor,
1864 HTMLStyle_get_borderLeftColor,
1865 HTMLStyle_put_borderWidth,
1866 HTMLStyle_get_borderWidth,
1867 HTMLStyle_put_borderTopWidth,
1868 HTMLStyle_get_borderTopWidth,
1869 HTMLStyle_put_borderRightWidth,
1870 HTMLStyle_get_borderRightWidth,
1871 HTMLStyle_put_borderBottomWidth,
1872 HTMLStyle_get_borderBottomWidth,
1873 HTMLStyle_put_borderLeftWidth,
1874 HTMLStyle_get_borderLeftWidth,
1875 HTMLStyle_put_borderStyle,
1876 HTMLStyle_get_borderStyle,
1877 HTMLStyle_put_borderTopStyle,
1878 HTMLStyle_get_borderTopStyle,
1879 HTMLStyle_put_borderRightStyle,
1880 HTMLStyle_get_borderRightStyle,
1881 HTMLStyle_put_borderBottomStyle,
1882 HTMLStyle_get_borderBottomStyle,
1883 HTMLStyle_put_borderLeftStyle,
1884 HTMLStyle_get_borderLeftStyle,
1885 HTMLStyle_put_width,
1886 HTMLStyle_get_width,
1887 HTMLStyle_put_height,
1888 HTMLStyle_get_height,
1889 HTMLStyle_put_styleFloat,
1890 HTMLStyle_get_styleFloat,
1891 HTMLStyle_put_clear,
1892 HTMLStyle_get_clear,
1893 HTMLStyle_put_display,
1894 HTMLStyle_get_display,
1895 HTMLStyle_put_visibility,
1896 HTMLStyle_get_visibility,
1897 HTMLStyle_put_listStyleType,
1898 HTMLStyle_get_listStyleType,
1899 HTMLStyle_put_listStylePosition,
1900 HTMLStyle_get_listStylePosition,
1901 HTMLStyle_put_listStyleImage,
1902 HTMLStyle_get_listStyleImage,
1903 HTMLStyle_put_listStyle,
1904 HTMLStyle_get_listStyle,
1905 HTMLStyle_put_whiteSpace,
1906 HTMLStyle_get_whiteSpace,
1907 HTMLStyle_put_top,
1908 HTMLStyle_get_top,
1909 HTMLStyle_put_left,
1910 HTMLStyle_get_left,
1911 HTMLStyle_get_position,
1912 HTMLStyle_put_zIndex,
1913 HTMLStyle_get_zIndex,
1914 HTMLStyle_put_overflow,
1915 HTMLStyle_get_overflow,
1916 HTMLStyle_put_pageBreakBefore,
1917 HTMLStyle_get_pageBreakBefore,
1918 HTMLStyle_put_pageBreakAfter,
1919 HTMLStyle_get_pageBreakAfter,
1920 HTMLStyle_put_cssText,
1921 HTMLStyle_get_cssText,
1922 HTMLStyle_put_pixelTop,
1923 HTMLStyle_get_pixelTop,
1924 HTMLStyle_put_pixelLeft,
1925 HTMLStyle_get_pixelLeft,
1926 HTMLStyle_put_pixelWidth,
1927 HTMLStyle_get_pixelWidth,
1928 HTMLStyle_put_pixelHeight,
1929 HTMLStyle_get_pixelHeight,
1930 HTMLStyle_put_posTop,
1931 HTMLStyle_get_posTop,
1932 HTMLStyle_put_posLeft,
1933 HTMLStyle_get_posLeft,
1934 HTMLStyle_put_posWidth,
1935 HTMLStyle_get_posWidth,
1936 HTMLStyle_put_posHeight,
1937 HTMLStyle_get_posHeight,
1938 HTMLStyle_put_cursor,
1939 HTMLStyle_get_cursor,
1940 HTMLStyle_put_clip,
1941 HTMLStyle_get_clip,
1942 HTMLStyle_put_filter,
1943 HTMLStyle_get_filter,
1944 HTMLStyle_setAttribute,
1945 HTMLStyle_getAttribute,
1946 HTMLStyle_removeAttribute,
1947 HTMLStyle_toString
1950 static const tid_t HTMLStyle_iface_tids[] = {
1951 IHTMLStyle_tid,
1952 IHTMLStyle2_tid,
1955 static dispex_static_data_t HTMLStyle_dispex = {
1956 NULL,
1957 DispHTMLStyle_tid,
1958 NULL,
1959 HTMLStyle_iface_tids
1962 IHTMLStyle *HTMLStyle_Create(nsIDOMCSSStyleDeclaration *nsstyle)
1964 HTMLStyle *ret = heap_alloc_zero(sizeof(HTMLStyle));
1966 ret->lpHTMLStyleVtbl = &HTMLStyleVtbl;
1967 ret->ref = 1;
1968 ret->nsstyle = nsstyle;
1969 HTMLStyle2_Init(ret);
1971 nsIDOMCSSStyleDeclaration_AddRef(nsstyle);
1973 init_dispex(&ret->dispex, (IUnknown*)HTMLSTYLE(ret), &HTMLStyle_dispex);
1975 return HTMLSTYLE(ret);