2 * Copyright 2008 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
28 #include "mshtml_private.h"
29 #include "htmlstyle.h"
31 #include "wine/debug.h"
32 #include "wine/unicode.h"
34 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
36 #define HTMLSTYLE2_THIS(iface) DEFINE_THIS(HTMLStyle, HTMLStyle2, iface)
38 static HRESULT WINAPI HTMLStyle2_QueryInterface(IHTMLStyle2 *iface, REFIID riid, void **ppv)
40 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
42 return IHTMLStyle_QueryInterface(HTMLSTYLE(This), riid, ppv);
45 static ULONG WINAPI HTMLStyle2_AddRef(IHTMLStyle2 *iface)
47 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
49 return IHTMLStyle_AddRef(HTMLSTYLE(This));
52 static ULONG WINAPI HTMLStyle2_Release(IHTMLStyle2 *iface)
54 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
56 return IHTMLStyle_Release(HTMLSTYLE(This));
59 static HRESULT WINAPI HTMLStyle2_GetTypeInfoCount(IHTMLStyle2 *iface, UINT *pctinfo)
61 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
62 return IDispatchEx_GetTypeInfoCount(DISPATCHEX(&This->dispex), pctinfo);
65 static HRESULT WINAPI HTMLStyle2_GetTypeInfo(IHTMLStyle2 *iface, UINT iTInfo,
66 LCID lcid, ITypeInfo **ppTInfo)
68 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
69 return IDispatchEx_GetTypeInfo(DISPATCHEX(&This->dispex), iTInfo, lcid, ppTInfo);
72 static HRESULT WINAPI HTMLStyle2_GetIDsOfNames(IHTMLStyle2 *iface, REFIID riid,
73 LPOLESTR *rgszNames, UINT cNames,
74 LCID lcid, DISPID *rgDispId)
76 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
77 return IDispatchEx_GetIDsOfNames(DISPATCHEX(&This->dispex), riid, rgszNames, cNames, lcid, rgDispId);
80 static HRESULT WINAPI HTMLStyle2_Invoke(IHTMLStyle2 *iface, DISPID dispIdMember,
81 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
82 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
84 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
85 return IDispatchEx_Invoke(DISPATCHEX(&This->dispex), dispIdMember, riid, lcid,
86 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
89 static HRESULT WINAPI HTMLStyle2_put_tableLayout(IHTMLStyle2 *iface, BSTR v)
91 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
92 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
96 static HRESULT WINAPI HTMLStyle2_get_tableLayout(IHTMLStyle2 *iface, BSTR *p)
98 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
99 FIXME("(%p)->(%p)\n", This, p);
103 static HRESULT WINAPI HTMLStyle2_put_borderCollapse(IHTMLStyle2 *iface, BSTR v)
105 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
106 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
110 static HRESULT WINAPI HTMLStyle2_get_borderCollapse(IHTMLStyle2 *iface, BSTR *p)
112 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
113 FIXME("(%p)->(%p)\n", This, p);
117 static HRESULT WINAPI HTMLStyle2_put_direction(IHTMLStyle2 *iface, BSTR v)
119 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
120 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
124 static HRESULT WINAPI HTMLStyle2_get_direction(IHTMLStyle2 *iface, BSTR *p)
126 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
127 FIXME("(%p)->(%p)\n", This, p);
131 static HRESULT WINAPI HTMLStyle2_put_behavior(IHTMLStyle2 *iface, BSTR v)
133 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
134 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
138 static HRESULT WINAPI HTMLStyle2_get_behavior(IHTMLStyle2 *iface, BSTR *p)
140 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
141 FIXME("(%p)->(%p)\n", This, p);
145 static HRESULT WINAPI HTMLStyle2_setExpression(IHTMLStyle2 *iface, BSTR propname, BSTR expression, BSTR language)
147 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
148 FIXME("(%p)->(%s %s %s)\n", This, debugstr_w(propname), debugstr_w(expression), debugstr_w(language));
152 static HRESULT WINAPI HTMLStyle2_getExpression(IHTMLStyle2 *iface, BSTR propname, VARIANT *expression)
154 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
155 FIXME("(%p)->(%s %p)\n", This, debugstr_w(propname), expression);
159 static HRESULT WINAPI HTMLStyle2_removeExpression(IHTMLStyle2 *iface, BSTR propname, VARIANT_BOOL *pfSuccess)
161 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
162 FIXME("(%p)->(%s %p)\n", This, debugstr_w(propname), pfSuccess);
166 static HRESULT WINAPI HTMLStyle2_put_position(IHTMLStyle2 *iface, BSTR v)
168 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
170 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
172 return set_nsstyle_attr(This->nsstyle, STYLEID_POSITION, v, 0);
175 static HRESULT WINAPI HTMLStyle2_get_position(IHTMLStyle2 *iface, BSTR *p)
177 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
179 TRACE("(%p)->(%p)\n", This, p);
181 return get_nsstyle_attr(This->nsstyle, STYLEID_POSITION, p);
184 static HRESULT WINAPI HTMLStyle2_put_unicodeBidi(IHTMLStyle2 *iface, BSTR v)
186 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
187 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
191 static HRESULT WINAPI HTMLStyle2_get_unicodeBidi(IHTMLStyle2 *iface, BSTR *p)
193 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
194 FIXME("(%p)->(%p)\n", This, p);
198 static HRESULT WINAPI HTMLStyle2_put_bottom(IHTMLStyle2 *iface, VARIANT v)
200 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
201 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
205 static HRESULT WINAPI HTMLStyle2_get_bottom(IHTMLStyle2 *iface, VARIANT *p)
207 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
208 FIXME("(%p)->(%p)\n", This, p);
212 static HRESULT WINAPI HTMLStyle2_put_right(IHTMLStyle2 *iface, VARIANT v)
214 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
215 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
219 static HRESULT WINAPI HTMLStyle2_get_right(IHTMLStyle2 *iface, VARIANT *p)
221 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
222 FIXME("(%p)->(%p)\n", This, p);
226 static HRESULT WINAPI HTMLStyle2_put_pixelBottom(IHTMLStyle2 *iface, long v)
228 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
229 FIXME("(%p)->(%ld)\n", This, v);
233 static HRESULT WINAPI HTMLStyle2_get_pixelBottom(IHTMLStyle2 *iface, long *p)
235 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
236 FIXME("(%p)->(%p)\n", This, p);
240 static HRESULT WINAPI HTMLStyle2_put_pixelRight(IHTMLStyle2 *iface, long v)
242 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
243 FIXME("(%p)->(%ld)\n", This, v);
247 static HRESULT WINAPI HTMLStyle2_get_pixelRight(IHTMLStyle2 *iface, long *p)
249 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
250 FIXME("(%p)->(%p)\n", This, p);
254 static HRESULT WINAPI HTMLStyle2_put_posBottom(IHTMLStyle2 *iface, float v)
256 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
257 FIXME("(%p)->(%f)\n", This, v);
261 static HRESULT WINAPI HTMLStyle2_get_posBottom(IHTMLStyle2 *iface, float *p)
263 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
264 FIXME("(%p)->(%p)\n", This, p);
268 static HRESULT WINAPI HTMLStyle2_put_posRight(IHTMLStyle2 *iface, float v)
270 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
271 FIXME("(%p)->(%f)\n", This, v);
275 static HRESULT WINAPI HTMLStyle2_get_posRight(IHTMLStyle2 *iface, float *p)
277 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
278 FIXME("(%p)->(%p)\n", This, p);
282 static HRESULT WINAPI HTMLStyle2_put_imeMode(IHTMLStyle2 *iface, BSTR v)
284 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
285 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
289 static HRESULT WINAPI HTMLStyle2_get_imeMode(IHTMLStyle2 *iface, BSTR *p)
291 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
292 FIXME("(%p)->(%p)\n", This, p);
296 static HRESULT WINAPI HTMLStyle2_put_rubyAlign(IHTMLStyle2 *iface, BSTR v)
298 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
299 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
303 static HRESULT WINAPI HTMLStyle2_get_rubyAlign(IHTMLStyle2 *iface, BSTR *p)
305 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
306 FIXME("(%p)->(%p)\n", This, p);
310 static HRESULT WINAPI HTMLStyle2_put_rubyPosition(IHTMLStyle2 *iface, BSTR v)
312 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
313 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
317 static HRESULT WINAPI HTMLStyle2_get_rubyPosition(IHTMLStyle2 *iface, BSTR *p)
319 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
320 FIXME("(%p)->(%p)\n", This, p);
324 static HRESULT WINAPI HTMLStyle2_put_rubyOverhang(IHTMLStyle2 *iface, BSTR v)
326 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
327 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
331 static HRESULT WINAPI HTMLStyle2_get_rubyOverhang(IHTMLStyle2 *iface, BSTR *p)
333 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
334 FIXME("(%p)->(%p)\n", This, p);
338 static HRESULT WINAPI HTMLStyle2_put_layoutGridChar(IHTMLStyle2 *iface, VARIANT v)
340 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
341 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
345 static HRESULT WINAPI HTMLStyle2_get_layoutGridChar(IHTMLStyle2 *iface, VARIANT *p)
347 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
348 FIXME("(%p)->(%p)\n", This, p);
352 static HRESULT WINAPI HTMLStyle2_put_layoutGridLine(IHTMLStyle2 *iface, VARIANT v)
354 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
355 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
359 static HRESULT WINAPI HTMLStyle2_get_layoutGridLine(IHTMLStyle2 *iface, VARIANT *p)
361 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
362 FIXME("(%p)->(%p)\n", This, p);
366 static HRESULT WINAPI HTMLStyle2_put_layoutGridMode(IHTMLStyle2 *iface, BSTR v)
368 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
369 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
373 static HRESULT WINAPI HTMLStyle2_get_layoutGridMode(IHTMLStyle2 *iface, BSTR *p)
375 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
376 FIXME("(%p)->(%p)\n", This, p);
380 static HRESULT WINAPI HTMLStyle2_put_layoutGridType(IHTMLStyle2 *iface, BSTR v)
382 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
383 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
387 static HRESULT WINAPI HTMLStyle2_get_layoutGridType(IHTMLStyle2 *iface, BSTR *p)
389 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
390 FIXME("(%p)->(%p)\n", This, p);
394 static HRESULT WINAPI HTMLStyle2_put_layoutGrid(IHTMLStyle2 *iface, BSTR v)
396 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
397 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
401 static HRESULT WINAPI HTMLStyle2_get_layoutGrid(IHTMLStyle2 *iface, BSTR *p)
403 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
404 FIXME("(%p)->(%p)\n", This, p);
408 static HRESULT WINAPI HTMLStyle2_put_wordBreak(IHTMLStyle2 *iface, BSTR v)
410 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
411 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
415 static HRESULT WINAPI HTMLStyle2_get_wordBreak(IHTMLStyle2 *iface, BSTR *p)
417 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
418 FIXME("(%p)->(%p)\n", This, p);
422 static HRESULT WINAPI HTMLStyle2_put_lineBreak(IHTMLStyle2 *iface, BSTR v)
424 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
425 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
429 static HRESULT WINAPI HTMLStyle2_get_lineBreak(IHTMLStyle2 *iface, BSTR *p)
431 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
432 FIXME("(%p)->(%p)\n", This, p);
436 static HRESULT WINAPI HTMLStyle2_put_textJustify(IHTMLStyle2 *iface, BSTR v)
438 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
439 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
443 static HRESULT WINAPI HTMLStyle2_get_textJustify(IHTMLStyle2 *iface, BSTR *p)
445 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
446 FIXME("(%p)->(%p)\n", This, p);
450 static HRESULT WINAPI HTMLStyle2_put_textJustifyTrim(IHTMLStyle2 *iface, BSTR v)
452 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
453 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
457 static HRESULT WINAPI HTMLStyle2_get_textJustifyTrim(IHTMLStyle2 *iface, BSTR *p)
459 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
460 FIXME("(%p)->(%p)\n", This, p);
464 static HRESULT WINAPI HTMLStyle2_put_textKashida(IHTMLStyle2 *iface, VARIANT v)
466 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
467 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
471 static HRESULT WINAPI HTMLStyle2_get_textKashida(IHTMLStyle2 *iface, VARIANT *p)
473 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
474 FIXME("(%p)->(%p)\n", This, p);
478 static HRESULT WINAPI HTMLStyle2_put_textAutospace(IHTMLStyle2 *iface, BSTR v)
480 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
481 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
485 static HRESULT WINAPI HTMLStyle2_get_textAutospace(IHTMLStyle2 *iface, BSTR *p)
487 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
488 FIXME("(%p)->(%p)\n", This, p);
492 static HRESULT WINAPI HTMLStyle2_put_overflowX(IHTMLStyle2 *iface, BSTR v)
494 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
495 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
499 static HRESULT WINAPI HTMLStyle2_get_overflowX(IHTMLStyle2 *iface, BSTR *p)
501 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
502 FIXME("(%p)->(%p)\n", This, p);
506 static HRESULT WINAPI HTMLStyle2_put_overflowY(IHTMLStyle2 *iface, BSTR v)
508 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
509 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
513 static HRESULT WINAPI HTMLStyle2_get_overflowY(IHTMLStyle2 *iface, BSTR *p)
515 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
516 FIXME("(%p)->(%p)\n", This, p);
520 static HRESULT WINAPI HTMLStyle2_put_accelerator(IHTMLStyle2 *iface, BSTR v)
522 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
523 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
527 static HRESULT WINAPI HTMLStyle2_get_accelerator(IHTMLStyle2 *iface, BSTR *p)
529 HTMLStyle *This = HTMLSTYLE2_THIS(iface);
530 FIXME("(%p)->(%p)\n", This, p);
534 static const IHTMLStyle2Vtbl HTMLStyle2Vtbl = {
535 HTMLStyle2_QueryInterface,
538 HTMLStyle2_GetTypeInfoCount,
539 HTMLStyle2_GetTypeInfo,
540 HTMLStyle2_GetIDsOfNames,
542 HTMLStyle2_put_tableLayout,
543 HTMLStyle2_get_tableLayout,
544 HTMLStyle2_put_borderCollapse,
545 HTMLStyle2_get_borderCollapse,
546 HTMLStyle2_put_direction,
547 HTMLStyle2_get_direction,
548 HTMLStyle2_put_behavior,
549 HTMLStyle2_get_behavior,
550 HTMLStyle2_setExpression,
551 HTMLStyle2_getExpression,
552 HTMLStyle2_removeExpression,
553 HTMLStyle2_put_position,
554 HTMLStyle2_get_position,
555 HTMLStyle2_put_unicodeBidi,
556 HTMLStyle2_get_unicodeBidi,
557 HTMLStyle2_put_bottom,
558 HTMLStyle2_get_bottom,
559 HTMLStyle2_put_right,
560 HTMLStyle2_get_right,
561 HTMLStyle2_put_pixelBottom,
562 HTMLStyle2_get_pixelBottom,
563 HTMLStyle2_put_pixelRight,
564 HTMLStyle2_get_pixelRight,
565 HTMLStyle2_put_posBottom,
566 HTMLStyle2_get_posBottom,
567 HTMLStyle2_put_posRight,
568 HTMLStyle2_get_posRight,
569 HTMLStyle2_put_imeMode,
570 HTMLStyle2_get_imeMode,
571 HTMLStyle2_put_rubyAlign,
572 HTMLStyle2_get_rubyAlign,
573 HTMLStyle2_put_rubyPosition,
574 HTMLStyle2_get_rubyPosition,
575 HTMLStyle2_put_rubyOverhang,
576 HTMLStyle2_get_rubyOverhang,
577 HTMLStyle2_put_layoutGridChar,
578 HTMLStyle2_get_layoutGridChar,
579 HTMLStyle2_put_layoutGridLine,
580 HTMLStyle2_get_layoutGridLine,
581 HTMLStyle2_put_layoutGridMode,
582 HTMLStyle2_get_layoutGridMode,
583 HTMLStyle2_put_layoutGridType,
584 HTMLStyle2_get_layoutGridType,
585 HTMLStyle2_put_layoutGrid,
586 HTMLStyle2_get_layoutGrid,
587 HTMLStyle2_put_wordBreak,
588 HTMLStyle2_get_wordBreak,
589 HTMLStyle2_put_lineBreak,
590 HTMLStyle2_get_lineBreak,
591 HTMLStyle2_put_textJustify,
592 HTMLStyle2_get_textJustify,
593 HTMLStyle2_put_textJustifyTrim,
594 HTMLStyle2_get_textJustifyTrim,
595 HTMLStyle2_put_textKashida,
596 HTMLStyle2_get_textKashida,
597 HTMLStyle2_put_textAutospace,
598 HTMLStyle2_get_textAutospace,
599 HTMLStyle2_put_overflowX,
600 HTMLStyle2_get_overflowX,
601 HTMLStyle2_put_overflowY,
602 HTMLStyle2_get_overflowY,
603 HTMLStyle2_put_accelerator,
604 HTMLStyle2_get_accelerator
607 void HTMLStyle2_Init(HTMLStyle *This)
609 This->lpHTMLStyle2Vtbl = &HTMLStyle2Vtbl;