Sync with trunk revision 63128.
[reactos.git] / dll / win32 / mshtml / htmlstyle3.c
1 /*
2 * Copyright 2009 Alistair Leslie-Hughes
3 *
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.
8 *
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.
13 *
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
17 */
18
19 #include "mshtml_private.h"
20
21 static inline HTMLStyle *impl_from_IHTMLStyle3(IHTMLStyle3 *iface)
22 {
23 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle3_iface);
24 }
25
26 static HRESULT WINAPI HTMLStyle3_QueryInterface(IHTMLStyle3 *iface, REFIID riid, void **ppv)
27 {
28 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
29
30 return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv);
31 }
32
33 static ULONG WINAPI HTMLStyle3_AddRef(IHTMLStyle3 *iface)
34 {
35 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
36
37 return IHTMLStyle_AddRef(&This->IHTMLStyle_iface);
38 }
39
40 static ULONG WINAPI HTMLStyle3_Release(IHTMLStyle3 *iface)
41 {
42 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
43
44 return IHTMLStyle_Release(&This->IHTMLStyle_iface);
45 }
46
47 static HRESULT WINAPI HTMLStyle3_GetTypeInfoCount(IHTMLStyle3 *iface, UINT *pctinfo)
48 {
49 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
50 return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
51 }
52
53 static HRESULT WINAPI HTMLStyle3_GetTypeInfo(IHTMLStyle3 *iface, UINT iTInfo,
54 LCID lcid, ITypeInfo **ppTInfo)
55 {
56 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
57 return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
58 }
59
60 static HRESULT WINAPI HTMLStyle3_GetIDsOfNames(IHTMLStyle3 *iface, REFIID riid,
61 LPOLESTR *rgszNames, UINT cNames,
62 LCID lcid, DISPID *rgDispId)
63 {
64 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
65 return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames,
66 lcid, rgDispId);
67 }
68
69 static HRESULT WINAPI HTMLStyle3_Invoke(IHTMLStyle3 *iface, DISPID dispIdMember,
70 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
71 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
72 {
73 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
74 return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid,
75 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
76 }
77
78 static HRESULT WINAPI HTMLStyle3_put_layoutFlow(IHTMLStyle3 *iface, BSTR v)
79 {
80 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
81 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
82 return E_NOTIMPL;
83 }
84
85 static HRESULT WINAPI HTMLStyle3_get_layoutFlow(IHTMLStyle3 *iface, BSTR *p)
86 {
87 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
88 FIXME("(%p)->(%p)\n", This, p);
89 return E_NOTIMPL;
90 }
91
92 static HRESULT WINAPI HTMLStyle3_put_zoom(IHTMLStyle3 *iface, VARIANT v)
93 {
94 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
95
96 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
97
98 /* zoom property is IE CSS extension that is mostly used as a hack to workaround IE bugs.
99 * The value is set to 1 then. We can safely ignore setting zoom to 1. */
100 if(V_VT(&v) == VT_I4 && V_I4(&v) == 1)
101 return S_OK;
102
103 FIXME("stub for %s\n", debugstr_variant(&v));
104 return E_NOTIMPL;
105 }
106
107 static HRESULT WINAPI HTMLStyle3_get_zoom(IHTMLStyle3 *iface, VARIANT *p)
108 {
109 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
110 FIXME("(%p)->(%p)\n", This, p);
111 return E_NOTIMPL;
112 }
113
114 static HRESULT WINAPI HTMLStyle3_put_wordWrap(IHTMLStyle3 *iface, BSTR v)
115 {
116 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
117
118 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
119
120 return set_nsstyle_attr(This->nsstyle, STYLEID_WORD_WRAP, v, 0);
121 }
122
123 static HRESULT WINAPI HTMLStyle3_get_wordWrap(IHTMLStyle3 *iface, BSTR *p)
124 {
125 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
126
127 TRACE("(%p)->(%p)\n", This, p);
128
129 return get_nsstyle_attr(This->nsstyle, STYLEID_WORD_WRAP, p, 0);
130 }
131
132 static HRESULT WINAPI HTMLStyle3_put_textUnderlinePosition(IHTMLStyle3 *iface, BSTR v)
133 {
134 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
135 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
136 return E_NOTIMPL;
137 }
138
139 static HRESULT WINAPI HTMLStyle3_get_textUnderlinePosition(IHTMLStyle3 *iface, BSTR *p)
140 {
141 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
142 FIXME("(%p)->(%p)\n", This, p);
143 return E_NOTIMPL;
144 }
145
146 static HRESULT WINAPI HTMLStyle3_put_scrollbarBaseColor(IHTMLStyle3 *iface, VARIANT v)
147 {
148 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
149 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
150 return E_NOTIMPL;
151 }
152
153 static HRESULT WINAPI HTMLStyle3_get_scrollbarBaseColor(IHTMLStyle3 *iface, VARIANT *p)
154 {
155 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
156 FIXME("(%p)->(%p)\n", This, p);
157 return E_NOTIMPL;
158 }
159
160 static HRESULT WINAPI HTMLStyle3_put_scrollbarFaceColor(IHTMLStyle3 *iface, VARIANT v)
161 {
162 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
163 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
164 return E_NOTIMPL;
165 }
166
167 static HRESULT WINAPI HTMLStyle3_get_scrollbarFaceColor(IHTMLStyle3 *iface, VARIANT *p)
168 {
169 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
170 FIXME("(%p)->(%p)\n", This, p);
171 return E_NOTIMPL;
172 }
173
174 static HRESULT WINAPI HTMLStyle3_put_scrollbar3dLightColor(IHTMLStyle3 *iface, VARIANT v)
175 {
176 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
177 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
178 return E_NOTIMPL;
179 }
180
181 static HRESULT WINAPI HTMLStyle3_get_scrollbar3dLightColor(IHTMLStyle3 *iface, VARIANT *p)
182 {
183 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
184 FIXME("(%p)->(%p)\n", This, p);
185 return E_NOTIMPL;
186 }
187
188 static HRESULT WINAPI HTMLStyle3_put_scrollbarShadowColor(IHTMLStyle3 *iface, VARIANT v)
189 {
190 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
191 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
192 return E_NOTIMPL;
193 }
194
195 static HRESULT WINAPI HTMLStyle3_get_scrollbarShadowColor(IHTMLStyle3 *iface, VARIANT *p)
196 {
197 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
198 FIXME("(%p)->(%p)\n", This, p);
199 return E_NOTIMPL;
200 }
201
202 static HRESULT WINAPI HTMLStyle3_put_scrollbarHighlightColor(IHTMLStyle3 *iface, VARIANT v)
203 {
204 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
205 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
206 return E_NOTIMPL;
207 }
208
209 static HRESULT WINAPI HTMLStyle3_get_scrollbarHighlightColor(IHTMLStyle3 *iface, VARIANT *p)
210 {
211 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
212 FIXME("(%p)->(%p)\n", This, p);
213 return E_NOTIMPL;
214 }
215
216 static HRESULT WINAPI HTMLStyle3_put_scrollbarDarkShadowColor(IHTMLStyle3 *iface, VARIANT v)
217 {
218 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
219 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
220 return E_NOTIMPL;
221 }
222
223 static HRESULT WINAPI HTMLStyle3_get_scrollbarDarkShadowColor(IHTMLStyle3 *iface, VARIANT *p)
224 {
225 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
226 FIXME("(%p)->(%p)\n", This, p);
227 return E_NOTIMPL;
228 }
229
230 static HRESULT WINAPI HTMLStyle3_put_scrollbarArrowColor(IHTMLStyle3 *iface, VARIANT v)
231 {
232 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
233 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
234 return E_NOTIMPL;
235 }
236
237 static HRESULT WINAPI HTMLStyle3_get_scrollbarArrowColor(IHTMLStyle3 *iface, VARIANT *p)
238 {
239 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
240 FIXME("(%p)->(%p)\n", This, p);
241 return E_NOTIMPL;
242 }
243
244 static HRESULT WINAPI HTMLStyle3_put_scrollbarTrackColor(IHTMLStyle3 *iface, VARIANT v)
245 {
246 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
247 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
248 return E_NOTIMPL;
249 }
250
251 static HRESULT WINAPI HTMLStyle3_get_scrollbarTrackColor(IHTMLStyle3 *iface, VARIANT *p)
252 {
253 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
254 FIXME("(%p)->(%p)\n", This, p);
255 return E_NOTIMPL;
256 }
257
258 static HRESULT WINAPI HTMLStyle3_put_writingMode(IHTMLStyle3 *iface, BSTR v)
259 {
260 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
261 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
262 return E_NOTIMPL;
263 }
264
265 static HRESULT WINAPI HTMLStyle3_get_writingMode(IHTMLStyle3 *iface, BSTR *p)
266 {
267 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
268 FIXME("(%p)->(%p)\n", This, p);
269 return E_NOTIMPL;
270 }
271
272 static HRESULT WINAPI HTMLStyle3_put_textAlignLast(IHTMLStyle3 *iface, BSTR v)
273 {
274 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
275 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
276 return E_NOTIMPL;
277 }
278
279 static HRESULT WINAPI HTMLStyle3_get_textAlignLast(IHTMLStyle3 *iface, BSTR *p)
280 {
281 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
282 FIXME("(%p)->(%p)\n", This, p);
283 return E_NOTIMPL;
284 }
285
286 static HRESULT WINAPI HTMLStyle3_put_textKashidaSpace(IHTMLStyle3 *iface, VARIANT v)
287 {
288 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
289 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
290 return E_NOTIMPL;
291 }
292
293 static HRESULT WINAPI HTMLStyle3_get_textKashidaSpace(IHTMLStyle3 *iface, VARIANT *p)
294 {
295 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
296 FIXME("(%p)->(%p)\n", This, p);
297 return E_NOTIMPL;
298 }
299
300 static const IHTMLStyle3Vtbl HTMLStyle3Vtbl = {
301 HTMLStyle3_QueryInterface,
302 HTMLStyle3_AddRef,
303 HTMLStyle3_Release,
304 HTMLStyle3_GetTypeInfoCount,
305 HTMLStyle3_GetTypeInfo,
306 HTMLStyle3_GetIDsOfNames,
307 HTMLStyle3_Invoke,
308 HTMLStyle3_put_layoutFlow,
309 HTMLStyle3_get_layoutFlow,
310 HTMLStyle3_put_zoom,
311 HTMLStyle3_get_zoom,
312 HTMLStyle3_put_wordWrap,
313 HTMLStyle3_get_wordWrap,
314 HTMLStyle3_put_textUnderlinePosition,
315 HTMLStyle3_get_textUnderlinePosition,
316 HTMLStyle3_put_scrollbarBaseColor,
317 HTMLStyle3_get_scrollbarBaseColor,
318 HTMLStyle3_put_scrollbarFaceColor,
319 HTMLStyle3_get_scrollbarFaceColor,
320 HTMLStyle3_put_scrollbar3dLightColor,
321 HTMLStyle3_get_scrollbar3dLightColor,
322 HTMLStyle3_put_scrollbarShadowColor,
323 HTMLStyle3_get_scrollbarShadowColor,
324 HTMLStyle3_put_scrollbarHighlightColor,
325 HTMLStyle3_get_scrollbarHighlightColor,
326 HTMLStyle3_put_scrollbarDarkShadowColor,
327 HTMLStyle3_get_scrollbarDarkShadowColor,
328 HTMLStyle3_put_scrollbarArrowColor,
329 HTMLStyle3_get_scrollbarArrowColor,
330 HTMLStyle3_put_scrollbarTrackColor,
331 HTMLStyle3_get_scrollbarTrackColor,
332 HTMLStyle3_put_writingMode,
333 HTMLStyle3_get_writingMode,
334 HTMLStyle3_put_textAlignLast,
335 HTMLStyle3_get_textAlignLast,
336 HTMLStyle3_put_textKashidaSpace,
337 HTMLStyle3_get_textKashidaSpace
338 };
339
340 /*
341 * IHTMLStyle4 Interface
342 */
343 static inline HTMLStyle *impl_from_IHTMLStyle4(IHTMLStyle4 *iface)
344 {
345 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle4_iface);
346 }
347
348 static HRESULT WINAPI HTMLStyle4_QueryInterface(IHTMLStyle4 *iface, REFIID riid, void **ppv)
349 {
350 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
351
352 return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv);
353 }
354
355 static ULONG WINAPI HTMLStyle4_AddRef(IHTMLStyle4 *iface)
356 {
357 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
358
359 return IHTMLStyle_AddRef(&This->IHTMLStyle_iface);
360 }
361
362 static ULONG WINAPI HTMLStyle4_Release(IHTMLStyle4 *iface)
363 {
364 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
365
366 return IHTMLStyle_Release(&This->IHTMLStyle_iface);
367 }
368
369 static HRESULT WINAPI HTMLStyle4_GetTypeInfoCount(IHTMLStyle4 *iface, UINT *pctinfo)
370 {
371 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
372 return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
373 }
374
375 static HRESULT WINAPI HTMLStyle4_GetTypeInfo(IHTMLStyle4 *iface, UINT iTInfo,
376 LCID lcid, ITypeInfo **ppTInfo)
377 {
378 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
379 return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
380 }
381
382 static HRESULT WINAPI HTMLStyle4_GetIDsOfNames(IHTMLStyle4 *iface, REFIID riid,
383 LPOLESTR *rgszNames, UINT cNames,
384 LCID lcid, DISPID *rgDispId)
385 {
386 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
387 return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames,
388 lcid, rgDispId);
389 }
390
391 static HRESULT WINAPI HTMLStyle4_Invoke(IHTMLStyle4 *iface, DISPID dispIdMember,
392 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
393 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
394 {
395 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
396 return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid,
397 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
398 }
399
400 static HRESULT WINAPI HTMLStyle4_put_textOverflow(IHTMLStyle4 *iface, BSTR v)
401 {
402 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
403 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
404 return E_NOTIMPL;
405 }
406
407 static HRESULT WINAPI HTMLStyle4_get_textOverflow(IHTMLStyle4 *iface, BSTR *p)
408 {
409 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
410 FIXME("(%p)->(%p)\n", This, p);
411 return E_NOTIMPL;
412 }
413
414 static HRESULT WINAPI HTMLStyle4_put_minHeight(IHTMLStyle4 *iface, VARIANT v)
415 {
416 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
417
418 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
419
420 return set_nsstyle_attr_var(This->nsstyle, STYLEID_MIN_HEIGHT, &v, 0);
421 }
422
423 static HRESULT WINAPI HTMLStyle4_get_minHeight(IHTMLStyle4 *iface, VARIANT *p)
424 {
425 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
426
427 TRACE("(%p)->(%p)\n", This, p);
428
429 return get_nsstyle_attr_var(This->nsstyle, STYLEID_MIN_HEIGHT, p, 0);
430 }
431
432 static const IHTMLStyle4Vtbl HTMLStyle4Vtbl = {
433 HTMLStyle4_QueryInterface,
434 HTMLStyle4_AddRef,
435 HTMLStyle4_Release,
436 HTMLStyle4_GetTypeInfoCount,
437 HTMLStyle4_GetTypeInfo,
438 HTMLStyle4_GetIDsOfNames,
439 HTMLStyle4_Invoke,
440 HTMLStyle4_put_textOverflow,
441 HTMLStyle4_get_textOverflow,
442 HTMLStyle4_put_minHeight,
443 HTMLStyle4_get_minHeight
444 };
445
446 static inline HTMLStyle *impl_from_IHTMLStyle5(IHTMLStyle5 *iface)
447 {
448 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle5_iface);
449 }
450
451 static HRESULT WINAPI HTMLStyle5_QueryInterface(IHTMLStyle5 *iface, REFIID riid, void **ppv)
452 {
453 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
454
455 return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv);
456 }
457
458 static ULONG WINAPI HTMLStyle5_AddRef(IHTMLStyle5 *iface)
459 {
460 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
461
462 return IHTMLStyle_AddRef(&This->IHTMLStyle_iface);
463 }
464
465 static ULONG WINAPI HTMLStyle5_Release(IHTMLStyle5 *iface)
466 {
467 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
468
469 return IHTMLStyle_Release(&This->IHTMLStyle_iface);
470 }
471
472 static HRESULT WINAPI HTMLStyle5_GetTypeInfoCount(IHTMLStyle5 *iface, UINT *pctinfo)
473 {
474 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
475 return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
476 }
477
478 static HRESULT WINAPI HTMLStyle5_GetTypeInfo(IHTMLStyle5 *iface, UINT iTInfo,
479 LCID lcid, ITypeInfo **ppTInfo)
480 {
481 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
482 return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
483 }
484
485 static HRESULT WINAPI HTMLStyle5_GetIDsOfNames(IHTMLStyle5 *iface, REFIID riid,
486 LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
487 {
488 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
489 return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames,
490 lcid, rgDispId);
491 }
492
493 static HRESULT WINAPI HTMLStyle5_Invoke(IHTMLStyle5 *iface, DISPID dispIdMember,
494 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
495 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
496 {
497 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
498 return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid,
499 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
500 }
501
502 static HRESULT WINAPI HTMLStyle5_put_msInterpolationMode(IHTMLStyle5 *iface, BSTR v)
503 {
504 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
505 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
506 return E_NOTIMPL;
507 }
508
509 static HRESULT WINAPI HTMLStyle5_get_msInterpolationMode(IHTMLStyle5 *iface, BSTR *p)
510 {
511 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
512 FIXME("(%p)->(%p)\n", This, p);
513 return E_NOTIMPL;
514 }
515
516 static HRESULT WINAPI HTMLStyle5_put_maxHeight(IHTMLStyle5 *iface, VARIANT v)
517 {
518 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
519 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
520 return E_NOTIMPL;
521 }
522
523 static HRESULT WINAPI HTMLStyle5_get_maxHeight(IHTMLStyle5 *iface, VARIANT *p)
524 {
525 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
526 FIXME("(%p)->(%p)\n", This, p);
527 return E_NOTIMPL;
528 }
529
530 static HRESULT WINAPI HTMLStyle5_put_minWidth(IHTMLStyle5 *iface, VARIANT v)
531 {
532 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
533 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
534 return E_NOTIMPL;
535 }
536
537 static HRESULT WINAPI HTMLStyle5_get_minWidth(IHTMLStyle5 *iface, VARIANT *p)
538 {
539 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
540 FIXME("(%p)->(%p)\n", This, p);
541 return E_NOTIMPL;
542 }
543
544 static HRESULT WINAPI HTMLStyle5_put_maxWidth(IHTMLStyle5 *iface, VARIANT v)
545 {
546 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
547 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
548 return E_NOTIMPL;
549 }
550
551 static HRESULT WINAPI HTMLStyle5_get_maxWidth(IHTMLStyle5 *iface, VARIANT *p)
552 {
553 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
554 FIXME("(%p)->(%p)\n", This, p);
555 return E_NOTIMPL;
556 }
557
558 static const IHTMLStyle5Vtbl HTMLStyle5Vtbl = {
559 HTMLStyle5_QueryInterface,
560 HTMLStyle5_AddRef,
561 HTMLStyle5_Release,
562 HTMLStyle5_GetTypeInfoCount,
563 HTMLStyle5_GetTypeInfo,
564 HTMLStyle5_GetIDsOfNames,
565 HTMLStyle5_Invoke,
566 HTMLStyle5_put_msInterpolationMode,
567 HTMLStyle5_get_msInterpolationMode,
568 HTMLStyle5_put_maxHeight,
569 HTMLStyle5_get_maxHeight,
570 HTMLStyle5_put_minWidth,
571 HTMLStyle5_get_minWidth,
572 HTMLStyle5_put_maxWidth,
573 HTMLStyle5_get_maxWidth
574 };
575
576 static inline HTMLStyle *impl_from_IHTMLStyle6(IHTMLStyle6 *iface)
577 {
578 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle6_iface);
579 }
580
581 static HRESULT WINAPI HTMLStyle6_QueryInterface(IHTMLStyle6 *iface, REFIID riid, void **ppv)
582 {
583 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
584
585 return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv);
586 }
587
588 static ULONG WINAPI HTMLStyle6_AddRef(IHTMLStyle6 *iface)
589 {
590 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
591
592 return IHTMLStyle_AddRef(&This->IHTMLStyle_iface);
593 }
594
595 static ULONG WINAPI HTMLStyle6_Release(IHTMLStyle6 *iface)
596 {
597 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
598
599 return IHTMLStyle_Release(&This->IHTMLStyle_iface);
600 }
601
602 static HRESULT WINAPI HTMLStyle6_GetTypeInfoCount(IHTMLStyle6 *iface, UINT *pctinfo)
603 {
604 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
605 return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
606 }
607
608 static HRESULT WINAPI HTMLStyle6_GetTypeInfo(IHTMLStyle6 *iface, UINT iTInfo,
609 LCID lcid, ITypeInfo **ppTInfo)
610 {
611 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
612 return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
613 }
614
615 static HRESULT WINAPI HTMLStyle6_GetIDsOfNames(IHTMLStyle6 *iface, REFIID riid,
616 LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
617 {
618 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
619 return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames,
620 lcid, rgDispId);
621 }
622
623 static HRESULT WINAPI HTMLStyle6_Invoke(IHTMLStyle6 *iface, DISPID dispIdMember,
624 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
625 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
626 {
627 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
628 return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid,
629 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
630 }
631
632 static HRESULT WINAPI HTMLStyle6_put_content(IHTMLStyle6 *iface, BSTR v)
633 {
634 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
635 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
636 return E_NOTIMPL;
637 }
638
639 static HRESULT WINAPI HTMLStyle6_get_content(IHTMLStyle6 *iface, BSTR *p)
640 {
641 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
642 FIXME("(%p)->(%p)\n", This, p);
643 return E_NOTIMPL;
644 }
645
646 static HRESULT WINAPI HTMLStyle6_put_contentSide(IHTMLStyle6 *iface, BSTR v)
647 {
648 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
649 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
650 return E_NOTIMPL;
651 }
652
653 static HRESULT WINAPI HTMLStyle6_get_contentSide(IHTMLStyle6 *iface, BSTR *p)
654 {
655 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
656 FIXME("(%p)->(%p)\n", This, p);
657 return E_NOTIMPL;
658 }
659
660 static HRESULT WINAPI HTMLStyle6_put_counterIncrement(IHTMLStyle6 *iface, BSTR v)
661 {
662 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
663 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
664 return E_NOTIMPL;
665 }
666
667 static HRESULT WINAPI HTMLStyle6_get_counterIncrement(IHTMLStyle6 *iface, BSTR *p)
668 {
669 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
670 FIXME("(%p)->(%p)\n", This, p);
671 return E_NOTIMPL;
672 }
673
674 static HRESULT WINAPI HTMLStyle6_put_counterReset(IHTMLStyle6 *iface, BSTR v)
675 {
676 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
677 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
678 return E_NOTIMPL;
679 }
680
681 static HRESULT WINAPI HTMLStyle6_get_counterReset(IHTMLStyle6 *iface, BSTR *p)
682 {
683 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
684 FIXME("(%p)->(%p)\n", This, p);
685 return E_NOTIMPL;
686 }
687
688 static HRESULT WINAPI HTMLStyle6_put_outline(IHTMLStyle6 *iface, BSTR v)
689 {
690 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
691
692 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
693
694 return set_nsstyle_attr(This->nsstyle, STYLEID_OUTLINE, v, 0);
695 }
696
697 static HRESULT WINAPI HTMLStyle6_get_outline(IHTMLStyle6 *iface, BSTR *p)
698 {
699 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
700
701 TRACE("(%p)->(%p)\n", This, p);
702
703 return get_nsstyle_attr(This->nsstyle, STYLEID_OUTLINE, p, ATTR_NO_NULL);
704 }
705
706 static HRESULT WINAPI HTMLStyle6_put_outlineWidth(IHTMLStyle6 *iface, VARIANT v)
707 {
708 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
709 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
710 return E_NOTIMPL;
711 }
712
713 static HRESULT WINAPI HTMLStyle6_get_outlineWidth(IHTMLStyle6 *iface, VARIANT *p)
714 {
715 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
716 FIXME("(%p)->(%p)\n", This, p);
717 return E_NOTIMPL;
718 }
719
720 static HRESULT WINAPI HTMLStyle6_put_outlineStyle(IHTMLStyle6 *iface, BSTR v)
721 {
722 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
723 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
724 return E_NOTIMPL;
725 }
726
727 static HRESULT WINAPI HTMLStyle6_get_outlineStyle(IHTMLStyle6 *iface, BSTR *p)
728 {
729 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
730 FIXME("(%p)->(%p)\n", This, p);
731 return E_NOTIMPL;
732 }
733
734 static HRESULT WINAPI HTMLStyle6_put_outlineColor(IHTMLStyle6 *iface, VARIANT v)
735 {
736 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
737 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
738 return E_NOTIMPL;
739 }
740
741 static HRESULT WINAPI HTMLStyle6_get_outlineColor(IHTMLStyle6 *iface, VARIANT *p)
742 {
743 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
744 FIXME("(%p)->(%p)\n", This, p);
745 return E_NOTIMPL;
746 }
747
748 static HRESULT WINAPI HTMLStyle6_put_boxSizing(IHTMLStyle6 *iface, BSTR v)
749 {
750 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
751
752 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
753
754 return set_nsstyle_attr(This->nsstyle, STYLEID_BOX_SIZING, v, 0);
755 }
756
757 static HRESULT WINAPI HTMLStyle6_get_boxSizing(IHTMLStyle6 *iface, BSTR *p)
758 {
759 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
760
761 TRACE("(%p)->(%p)\n", This, p);
762
763 return get_nsstyle_attr(This->nsstyle, STYLEID_BOX_SIZING, p, 0);
764 }
765
766 static HRESULT WINAPI HTMLStyle6_put_boxSpacing(IHTMLStyle6 *iface, BSTR v)
767 {
768 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
769 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
770 return E_NOTIMPL;
771 }
772
773 static HRESULT WINAPI HTMLStyle6_get_boxSpacing(IHTMLStyle6 *iface, BSTR *p)
774 {
775 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
776 FIXME("(%p)->(%p)\n", This, p);
777 return E_NOTIMPL;
778 }
779
780 static HRESULT WINAPI HTMLStyle6_put_orphans(IHTMLStyle6 *iface, VARIANT v)
781 {
782 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
783 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
784 return E_NOTIMPL;
785 }
786
787 static HRESULT WINAPI HTMLStyle6_get_orphans(IHTMLStyle6 *iface, VARIANT *p)
788 {
789 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
790 FIXME("(%p)->(%p)\n", This, p);
791 return E_NOTIMPL;
792 }
793
794 static HRESULT WINAPI HTMLStyle6_put_windows(IHTMLStyle6 *iface, VARIANT v)
795 {
796 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
797 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
798 return E_NOTIMPL;
799 }
800
801 static HRESULT WINAPI HTMLStyle6_get_windows(IHTMLStyle6 *iface, VARIANT *p)
802 {
803 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
804 FIXME("(%p)->(%p)\n", This, p);
805 return E_NOTIMPL;
806 }
807
808 static HRESULT WINAPI HTMLStyle6_put_pageBreakInside(IHTMLStyle6 *iface, BSTR v)
809 {
810 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
811 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
812 return E_NOTIMPL;
813 }
814
815 static HRESULT WINAPI HTMLStyle6_get_pageBreakInside(IHTMLStyle6 *iface, BSTR *p)
816 {
817 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
818 FIXME("(%p)->(%p)\n", This, p);
819 return E_NOTIMPL;
820 }
821
822 static HRESULT WINAPI HTMLStyle6_put_emptyCells(IHTMLStyle6 *iface, BSTR v)
823 {
824 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
825 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
826 return E_NOTIMPL;
827 }
828
829 static HRESULT WINAPI HTMLStyle6_get_emptyCells(IHTMLStyle6 *iface, BSTR *p)
830 {
831 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
832 FIXME("(%p)->(%p)\n", This, p);
833 return E_NOTIMPL;
834 }
835
836 static HRESULT WINAPI HTMLStyle6_put_msBlockProgression(IHTMLStyle6 *iface, BSTR v)
837 {
838 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
839 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
840 return E_NOTIMPL;
841 }
842
843 static HRESULT WINAPI HTMLStyle6_get_msBlockProgression(IHTMLStyle6 *iface, BSTR *p)
844 {
845 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
846 FIXME("(%p)->(%p)\n", This, p);
847 return E_NOTIMPL;
848 }
849
850 static HRESULT WINAPI HTMLStyle6_put_quotes(IHTMLStyle6 *iface, BSTR v)
851 {
852 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
853 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
854 return E_NOTIMPL;
855 }
856
857 static HRESULT WINAPI HTMLStyle6_get_quotes(IHTMLStyle6 *iface, BSTR *p)
858 {
859 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
860 FIXME("(%p)->(%p)\n", This, p);
861 return E_NOTIMPL;
862 }
863
864 static const IHTMLStyle6Vtbl HTMLStyle6Vtbl = {
865 HTMLStyle6_QueryInterface,
866 HTMLStyle6_AddRef,
867 HTMLStyle6_Release,
868 HTMLStyle6_GetTypeInfoCount,
869 HTMLStyle6_GetTypeInfo,
870 HTMLStyle6_GetIDsOfNames,
871 HTMLStyle6_Invoke,
872 HTMLStyle6_put_content,
873 HTMLStyle6_get_content,
874 HTMLStyle6_put_contentSide,
875 HTMLStyle6_get_contentSide,
876 HTMLStyle6_put_counterIncrement,
877 HTMLStyle6_get_counterIncrement,
878 HTMLStyle6_put_counterReset,
879 HTMLStyle6_get_counterReset,
880 HTMLStyle6_put_outline,
881 HTMLStyle6_get_outline,
882 HTMLStyle6_put_outlineWidth,
883 HTMLStyle6_get_outlineWidth,
884 HTMLStyle6_put_outlineStyle,
885 HTMLStyle6_get_outlineStyle,
886 HTMLStyle6_put_outlineColor,
887 HTMLStyle6_get_outlineColor,
888 HTMLStyle6_put_boxSizing,
889 HTMLStyle6_get_boxSizing,
890 HTMLStyle6_put_boxSpacing,
891 HTMLStyle6_get_boxSpacing,
892 HTMLStyle6_put_orphans,
893 HTMLStyle6_get_orphans,
894 HTMLStyle6_put_windows,
895 HTMLStyle6_get_windows,
896 HTMLStyle6_put_pageBreakInside,
897 HTMLStyle6_get_pageBreakInside,
898 HTMLStyle6_put_emptyCells,
899 HTMLStyle6_get_emptyCells,
900 HTMLStyle6_put_msBlockProgression,
901 HTMLStyle6_get_msBlockProgression,
902 HTMLStyle6_put_quotes,
903 HTMLStyle6_get_quotes
904 };
905
906 void HTMLStyle3_Init(HTMLStyle *This)
907 {
908 This->IHTMLStyle3_iface.lpVtbl = &HTMLStyle3Vtbl;
909 This->IHTMLStyle4_iface.lpVtbl = &HTMLStyle4Vtbl;
910 This->IHTMLStyle5_iface.lpVtbl = &HTMLStyle5Vtbl;
911 This->IHTMLStyle6_iface.lpVtbl = &HTMLStyle6Vtbl;
912 }