xref: /reactos/dll/win32/mshtml/htmlstyle2.c (revision c2c66aff)
1 /*
2  * Copyright 2008 Jacek Caban for CodeWeavers
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 
impl_from_IHTMLStyle2(IHTMLStyle2 * iface)21 static inline HTMLStyle *impl_from_IHTMLStyle2(IHTMLStyle2 *iface)
22 {
23     return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle2_iface);
24 }
25 
HTMLStyle2_QueryInterface(IHTMLStyle2 * iface,REFIID riid,void ** ppv)26 static HRESULT WINAPI HTMLStyle2_QueryInterface(IHTMLStyle2 *iface, REFIID riid, void **ppv)
27 {
28     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
29 
30     return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv);
31 }
32 
HTMLStyle2_AddRef(IHTMLStyle2 * iface)33 static ULONG WINAPI HTMLStyle2_AddRef(IHTMLStyle2 *iface)
34 {
35     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
36 
37     return IHTMLStyle_AddRef(&This->IHTMLStyle_iface);
38 }
39 
HTMLStyle2_Release(IHTMLStyle2 * iface)40 static ULONG WINAPI HTMLStyle2_Release(IHTMLStyle2 *iface)
41 {
42     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
43 
44     return IHTMLStyle_Release(&This->IHTMLStyle_iface);
45 }
46 
HTMLStyle2_GetTypeInfoCount(IHTMLStyle2 * iface,UINT * pctinfo)47 static HRESULT WINAPI HTMLStyle2_GetTypeInfoCount(IHTMLStyle2 *iface, UINT *pctinfo)
48 {
49     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
50     return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
51 }
52 
HTMLStyle2_GetTypeInfo(IHTMLStyle2 * iface,UINT iTInfo,LCID lcid,ITypeInfo ** ppTInfo)53 static HRESULT WINAPI HTMLStyle2_GetTypeInfo(IHTMLStyle2 *iface, UINT iTInfo,
54                                               LCID lcid, ITypeInfo **ppTInfo)
55 {
56     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
57     return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
58 }
59 
HTMLStyle2_GetIDsOfNames(IHTMLStyle2 * iface,REFIID riid,LPOLESTR * rgszNames,UINT cNames,LCID lcid,DISPID * rgDispId)60 static HRESULT WINAPI HTMLStyle2_GetIDsOfNames(IHTMLStyle2 *iface, REFIID riid,
61                                                 LPOLESTR *rgszNames, UINT cNames,
62                                                 LCID lcid, DISPID *rgDispId)
63 {
64     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
65     return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames,
66             lcid, rgDispId);
67 }
68 
HTMLStyle2_Invoke(IHTMLStyle2 * iface,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS * pDispParams,VARIANT * pVarResult,EXCEPINFO * pExcepInfo,UINT * puArgErr)69 static HRESULT WINAPI HTMLStyle2_Invoke(IHTMLStyle2 *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_IHTMLStyle2(iface);
74     return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid,
75             wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
76 }
77 
HTMLStyle2_put_tableLayout(IHTMLStyle2 * iface,BSTR v)78 static HRESULT WINAPI HTMLStyle2_put_tableLayout(IHTMLStyle2 *iface, BSTR v)
79 {
80     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
81 
82     TRACE("(%p)->(%s)\n", This, debugstr_w(v));
83 
84     return set_nsstyle_attr(This->nsstyle, STYLEID_TABLE_LAYOUT, v, 0);
85 }
86 
HTMLStyle2_get_tableLayout(IHTMLStyle2 * iface,BSTR * p)87 static HRESULT WINAPI HTMLStyle2_get_tableLayout(IHTMLStyle2 *iface, BSTR *p)
88 {
89     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
90 
91     TRACE("(%p)->(%p)\n", This, p);
92 
93     return get_nsstyle_attr(This->nsstyle, STYLEID_TABLE_LAYOUT, p, 0);
94 }
95 
HTMLStyle2_put_borderCollapse(IHTMLStyle2 * iface,BSTR v)96 static HRESULT WINAPI HTMLStyle2_put_borderCollapse(IHTMLStyle2 *iface, BSTR v)
97 {
98     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
99     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
100     return E_NOTIMPL;
101 }
102 
HTMLStyle2_get_borderCollapse(IHTMLStyle2 * iface,BSTR * p)103 static HRESULT WINAPI HTMLStyle2_get_borderCollapse(IHTMLStyle2 *iface, BSTR *p)
104 {
105     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
106     FIXME("(%p)->(%p)\n", This, p);
107     return E_NOTIMPL;
108 }
109 
HTMLStyle2_put_direction(IHTMLStyle2 * iface,BSTR v)110 static HRESULT WINAPI HTMLStyle2_put_direction(IHTMLStyle2 *iface, BSTR v)
111 {
112     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
113 
114     TRACE("(%p)->(%s)\n", This, debugstr_w(v));
115 
116     return set_nsstyle_attr(This->nsstyle, STYLEID_DIRECTION, v, 0);
117 }
118 
HTMLStyle2_get_direction(IHTMLStyle2 * iface,BSTR * p)119 static HRESULT WINAPI HTMLStyle2_get_direction(IHTMLStyle2 *iface, BSTR *p)
120 {
121     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
122 
123     TRACE("(%p)->(%p)\n", This, p);
124 
125     return get_nsstyle_attr(This->nsstyle, STYLEID_DIRECTION, p, 0);
126 }
127 
HTMLStyle2_put_behavior(IHTMLStyle2 * iface,BSTR v)128 static HRESULT WINAPI HTMLStyle2_put_behavior(IHTMLStyle2 *iface, BSTR v)
129 {
130     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
131     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
132     return E_NOTIMPL;
133 }
134 
HTMLStyle2_get_behavior(IHTMLStyle2 * iface,BSTR * p)135 static HRESULT WINAPI HTMLStyle2_get_behavior(IHTMLStyle2 *iface, BSTR *p)
136 {
137     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
138     FIXME("(%p)->(%p)\n", This, p);
139     return E_NOTIMPL;
140 }
141 
HTMLStyle2_setExpression(IHTMLStyle2 * iface,BSTR propname,BSTR expression,BSTR language)142 static HRESULT WINAPI HTMLStyle2_setExpression(IHTMLStyle2 *iface, BSTR propname, BSTR expression, BSTR language)
143 {
144     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
145     FIXME("(%p)->(%s %s %s)\n", This, debugstr_w(propname), debugstr_w(expression), debugstr_w(language));
146     return E_NOTIMPL;
147 }
148 
HTMLStyle2_getExpression(IHTMLStyle2 * iface,BSTR propname,VARIANT * expression)149 static HRESULT WINAPI HTMLStyle2_getExpression(IHTMLStyle2 *iface, BSTR propname, VARIANT *expression)
150 {
151     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
152     FIXME("(%p)->(%s %p)\n", This, debugstr_w(propname), expression);
153     return E_NOTIMPL;
154 }
155 
HTMLStyle2_removeExpression(IHTMLStyle2 * iface,BSTR propname,VARIANT_BOOL * pfSuccess)156 static HRESULT WINAPI HTMLStyle2_removeExpression(IHTMLStyle2 *iface, BSTR propname, VARIANT_BOOL *pfSuccess)
157 {
158     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
159     FIXME("(%p)->(%s %p)\n", This, debugstr_w(propname), pfSuccess);
160     return E_NOTIMPL;
161 }
162 
HTMLStyle2_put_position(IHTMLStyle2 * iface,BSTR v)163 static HRESULT WINAPI HTMLStyle2_put_position(IHTMLStyle2 *iface, BSTR v)
164 {
165     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
166 
167     TRACE("(%p)->(%s)\n", This, debugstr_w(v));
168 
169     return set_nsstyle_attr(This->nsstyle, STYLEID_POSITION, v, 0);
170 }
171 
HTMLStyle2_get_position(IHTMLStyle2 * iface,BSTR * p)172 static HRESULT WINAPI HTMLStyle2_get_position(IHTMLStyle2 *iface, BSTR *p)
173 {
174     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
175 
176     TRACE("(%p)->(%p)\n", This, p);
177 
178     return get_nsstyle_attr(This->nsstyle, STYLEID_POSITION, p, 0);
179 }
180 
HTMLStyle2_put_unicodeBidi(IHTMLStyle2 * iface,BSTR v)181 static HRESULT WINAPI HTMLStyle2_put_unicodeBidi(IHTMLStyle2 *iface, BSTR v)
182 {
183     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
184     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
185     return E_NOTIMPL;
186 }
187 
HTMLStyle2_get_unicodeBidi(IHTMLStyle2 * iface,BSTR * p)188 static HRESULT WINAPI HTMLStyle2_get_unicodeBidi(IHTMLStyle2 *iface, BSTR *p)
189 {
190     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
191     FIXME("(%p)->(%p)\n", This, p);
192     return E_NOTIMPL;
193 }
194 
HTMLStyle2_put_bottom(IHTMLStyle2 * iface,VARIANT v)195 static HRESULT WINAPI HTMLStyle2_put_bottom(IHTMLStyle2 *iface, VARIANT v)
196 {
197     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
198 
199     TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
200 
201     return set_nsstyle_attr_var(This->nsstyle, STYLEID_BOTTOM, &v, ATTR_FIX_PX);
202 }
203 
HTMLStyle2_get_bottom(IHTMLStyle2 * iface,VARIANT * p)204 static HRESULT WINAPI HTMLStyle2_get_bottom(IHTMLStyle2 *iface, VARIANT *p)
205 {
206     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
207 
208     TRACE("(%p)->(%p)\n", This, p);
209 
210     return get_nsstyle_attr_var(This->nsstyle, STYLEID_BOTTOM, p, 0);
211 }
212 
HTMLStyle2_put_right(IHTMLStyle2 * iface,VARIANT v)213 static HRESULT WINAPI HTMLStyle2_put_right(IHTMLStyle2 *iface, VARIANT v)
214 {
215     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
216 
217     TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
218 
219     return set_nsstyle_attr_var(This->nsstyle, STYLEID_RIGHT, &v, 0);
220 }
221 
HTMLStyle2_get_right(IHTMLStyle2 * iface,VARIANT * p)222 static HRESULT WINAPI HTMLStyle2_get_right(IHTMLStyle2 *iface, VARIANT *p)
223 {
224     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
225 
226     TRACE("(%p)->(%p)\n", This, p);
227 
228     return get_nsstyle_attr_var(This->nsstyle, STYLEID_RIGHT, p, 0);
229 }
230 
HTMLStyle2_put_pixelBottom(IHTMLStyle2 * iface,LONG v)231 static HRESULT WINAPI HTMLStyle2_put_pixelBottom(IHTMLStyle2 *iface, LONG v)
232 {
233     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
234     FIXME("(%p)->(%d)\n", This, v);
235     return E_NOTIMPL;
236 }
237 
HTMLStyle2_get_pixelBottom(IHTMLStyle2 * iface,LONG * p)238 static HRESULT WINAPI HTMLStyle2_get_pixelBottom(IHTMLStyle2 *iface, LONG *p)
239 {
240     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
241     FIXME("(%p)->(%p)\n", This, p);
242     return E_NOTIMPL;
243 }
244 
HTMLStyle2_put_pixelRight(IHTMLStyle2 * iface,LONG v)245 static HRESULT WINAPI HTMLStyle2_put_pixelRight(IHTMLStyle2 *iface, LONG v)
246 {
247     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
248     FIXME("(%p)->(%d)\n", This, v);
249     return E_NOTIMPL;
250 }
251 
HTMLStyle2_get_pixelRight(IHTMLStyle2 * iface,LONG * p)252 static HRESULT WINAPI HTMLStyle2_get_pixelRight(IHTMLStyle2 *iface, LONG *p)
253 {
254     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
255     FIXME("(%p)->(%p)\n", This, p);
256     return E_NOTIMPL;
257 }
258 
HTMLStyle2_put_posBottom(IHTMLStyle2 * iface,float v)259 static HRESULT WINAPI HTMLStyle2_put_posBottom(IHTMLStyle2 *iface, float v)
260 {
261     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
262     FIXME("(%p)->(%f)\n", This, v);
263     return E_NOTIMPL;
264 }
265 
HTMLStyle2_get_posBottom(IHTMLStyle2 * iface,float * p)266 static HRESULT WINAPI HTMLStyle2_get_posBottom(IHTMLStyle2 *iface, float *p)
267 {
268     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
269     FIXME("(%p)->(%p)\n", This, p);
270     return E_NOTIMPL;
271 }
272 
HTMLStyle2_put_posRight(IHTMLStyle2 * iface,float v)273 static HRESULT WINAPI HTMLStyle2_put_posRight(IHTMLStyle2 *iface, float v)
274 {
275     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
276     FIXME("(%p)->(%f)\n", This, v);
277     return E_NOTIMPL;
278 }
279 
HTMLStyle2_get_posRight(IHTMLStyle2 * iface,float * p)280 static HRESULT WINAPI HTMLStyle2_get_posRight(IHTMLStyle2 *iface, float *p)
281 {
282     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
283     FIXME("(%p)->(%p)\n", This, p);
284     return E_NOTIMPL;
285 }
286 
HTMLStyle2_put_imeMode(IHTMLStyle2 * iface,BSTR v)287 static HRESULT WINAPI HTMLStyle2_put_imeMode(IHTMLStyle2 *iface, BSTR v)
288 {
289     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
290     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
291     return E_NOTIMPL;
292 }
293 
HTMLStyle2_get_imeMode(IHTMLStyle2 * iface,BSTR * p)294 static HRESULT WINAPI HTMLStyle2_get_imeMode(IHTMLStyle2 *iface, BSTR *p)
295 {
296     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
297     FIXME("(%p)->(%p)\n", This, p);
298     return E_NOTIMPL;
299 }
300 
HTMLStyle2_put_rubyAlign(IHTMLStyle2 * iface,BSTR v)301 static HRESULT WINAPI HTMLStyle2_put_rubyAlign(IHTMLStyle2 *iface, BSTR v)
302 {
303     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
304     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
305     return E_NOTIMPL;
306 }
307 
HTMLStyle2_get_rubyAlign(IHTMLStyle2 * iface,BSTR * p)308 static HRESULT WINAPI HTMLStyle2_get_rubyAlign(IHTMLStyle2 *iface, BSTR *p)
309 {
310     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
311     FIXME("(%p)->(%p)\n", This, p);
312     return E_NOTIMPL;
313 }
314 
HTMLStyle2_put_rubyPosition(IHTMLStyle2 * iface,BSTR v)315 static HRESULT WINAPI HTMLStyle2_put_rubyPosition(IHTMLStyle2 *iface, BSTR v)
316 {
317     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
318     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
319     return E_NOTIMPL;
320 }
321 
HTMLStyle2_get_rubyPosition(IHTMLStyle2 * iface,BSTR * p)322 static HRESULT WINAPI HTMLStyle2_get_rubyPosition(IHTMLStyle2 *iface, BSTR *p)
323 {
324     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
325     FIXME("(%p)->(%p)\n", This, p);
326     return E_NOTIMPL;
327 }
328 
HTMLStyle2_put_rubyOverhang(IHTMLStyle2 * iface,BSTR v)329 static HRESULT WINAPI HTMLStyle2_put_rubyOverhang(IHTMLStyle2 *iface, BSTR v)
330 {
331     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
332     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
333     return E_NOTIMPL;
334 }
335 
HTMLStyle2_get_rubyOverhang(IHTMLStyle2 * iface,BSTR * p)336 static HRESULT WINAPI HTMLStyle2_get_rubyOverhang(IHTMLStyle2 *iface, BSTR *p)
337 {
338     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
339     FIXME("(%p)->(%p)\n", This, p);
340     return E_NOTIMPL;
341 }
342 
HTMLStyle2_put_layoutGridChar(IHTMLStyle2 * iface,VARIANT v)343 static HRESULT WINAPI HTMLStyle2_put_layoutGridChar(IHTMLStyle2 *iface, VARIANT v)
344 {
345     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
346     FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
347     return E_NOTIMPL;
348 }
349 
HTMLStyle2_get_layoutGridChar(IHTMLStyle2 * iface,VARIANT * p)350 static HRESULT WINAPI HTMLStyle2_get_layoutGridChar(IHTMLStyle2 *iface, VARIANT *p)
351 {
352     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
353     FIXME("(%p)->(%p)\n", This, p);
354     return E_NOTIMPL;
355 }
356 
HTMLStyle2_put_layoutGridLine(IHTMLStyle2 * iface,VARIANT v)357 static HRESULT WINAPI HTMLStyle2_put_layoutGridLine(IHTMLStyle2 *iface, VARIANT v)
358 {
359     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
360     FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
361     return E_NOTIMPL;
362 }
363 
HTMLStyle2_get_layoutGridLine(IHTMLStyle2 * iface,VARIANT * p)364 static HRESULT WINAPI HTMLStyle2_get_layoutGridLine(IHTMLStyle2 *iface, VARIANT *p)
365 {
366     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
367     FIXME("(%p)->(%p)\n", This, p);
368     return E_NOTIMPL;
369 }
370 
HTMLStyle2_put_layoutGridMode(IHTMLStyle2 * iface,BSTR v)371 static HRESULT WINAPI HTMLStyle2_put_layoutGridMode(IHTMLStyle2 *iface, BSTR v)
372 {
373     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
374     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
375     return E_NOTIMPL;
376 }
377 
HTMLStyle2_get_layoutGridMode(IHTMLStyle2 * iface,BSTR * p)378 static HRESULT WINAPI HTMLStyle2_get_layoutGridMode(IHTMLStyle2 *iface, BSTR *p)
379 {
380     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
381     FIXME("(%p)->(%p)\n", This, p);
382     return E_NOTIMPL;
383 }
384 
HTMLStyle2_put_layoutGridType(IHTMLStyle2 * iface,BSTR v)385 static HRESULT WINAPI HTMLStyle2_put_layoutGridType(IHTMLStyle2 *iface, BSTR v)
386 {
387     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
388     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
389     return E_NOTIMPL;
390 }
391 
HTMLStyle2_get_layoutGridType(IHTMLStyle2 * iface,BSTR * p)392 static HRESULT WINAPI HTMLStyle2_get_layoutGridType(IHTMLStyle2 *iface, BSTR *p)
393 {
394     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
395     FIXME("(%p)->(%p)\n", This, p);
396     return E_NOTIMPL;
397 }
398 
HTMLStyle2_put_layoutGrid(IHTMLStyle2 * iface,BSTR v)399 static HRESULT WINAPI HTMLStyle2_put_layoutGrid(IHTMLStyle2 *iface, BSTR v)
400 {
401     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
402     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
403     return E_NOTIMPL;
404 }
405 
HTMLStyle2_get_layoutGrid(IHTMLStyle2 * iface,BSTR * p)406 static HRESULT WINAPI HTMLStyle2_get_layoutGrid(IHTMLStyle2 *iface, BSTR *p)
407 {
408     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
409     FIXME("(%p)->(%p)\n", This, p);
410     return E_NOTIMPL;
411 }
412 
HTMLStyle2_put_wordBreak(IHTMLStyle2 * iface,BSTR v)413 static HRESULT WINAPI HTMLStyle2_put_wordBreak(IHTMLStyle2 *iface, BSTR v)
414 {
415     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
416     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
417     return E_NOTIMPL;
418 }
419 
HTMLStyle2_get_wordBreak(IHTMLStyle2 * iface,BSTR * p)420 static HRESULT WINAPI HTMLStyle2_get_wordBreak(IHTMLStyle2 *iface, BSTR *p)
421 {
422     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
423     FIXME("(%p)->(%p)\n", This, p);
424     return E_NOTIMPL;
425 }
426 
HTMLStyle2_put_lineBreak(IHTMLStyle2 * iface,BSTR v)427 static HRESULT WINAPI HTMLStyle2_put_lineBreak(IHTMLStyle2 *iface, BSTR v)
428 {
429     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
430     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
431     return E_NOTIMPL;
432 }
433 
HTMLStyle2_get_lineBreak(IHTMLStyle2 * iface,BSTR * p)434 static HRESULT WINAPI HTMLStyle2_get_lineBreak(IHTMLStyle2 *iface, BSTR *p)
435 {
436     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
437     FIXME("(%p)->(%p)\n", This, p);
438     return E_NOTIMPL;
439 }
440 
HTMLStyle2_put_textJustify(IHTMLStyle2 * iface,BSTR v)441 static HRESULT WINAPI HTMLStyle2_put_textJustify(IHTMLStyle2 *iface, BSTR v)
442 {
443     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
444     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
445     return E_NOTIMPL;
446 }
447 
HTMLStyle2_get_textJustify(IHTMLStyle2 * iface,BSTR * p)448 static HRESULT WINAPI HTMLStyle2_get_textJustify(IHTMLStyle2 *iface, BSTR *p)
449 {
450     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
451     FIXME("(%p)->(%p)\n", This, p);
452     return E_NOTIMPL;
453 }
454 
HTMLStyle2_put_textJustifyTrim(IHTMLStyle2 * iface,BSTR v)455 static HRESULT WINAPI HTMLStyle2_put_textJustifyTrim(IHTMLStyle2 *iface, BSTR v)
456 {
457     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
458     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
459     return E_NOTIMPL;
460 }
461 
HTMLStyle2_get_textJustifyTrim(IHTMLStyle2 * iface,BSTR * p)462 static HRESULT WINAPI HTMLStyle2_get_textJustifyTrim(IHTMLStyle2 *iface, BSTR *p)
463 {
464     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
465     FIXME("(%p)->(%p)\n", This, p);
466     return E_NOTIMPL;
467 }
468 
HTMLStyle2_put_textKashida(IHTMLStyle2 * iface,VARIANT v)469 static HRESULT WINAPI HTMLStyle2_put_textKashida(IHTMLStyle2 *iface, VARIANT v)
470 {
471     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
472     FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
473     return E_NOTIMPL;
474 }
475 
HTMLStyle2_get_textKashida(IHTMLStyle2 * iface,VARIANT * p)476 static HRESULT WINAPI HTMLStyle2_get_textKashida(IHTMLStyle2 *iface, VARIANT *p)
477 {
478     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
479     FIXME("(%p)->(%p)\n", This, p);
480     return E_NOTIMPL;
481 }
482 
HTMLStyle2_put_textAutospace(IHTMLStyle2 * iface,BSTR v)483 static HRESULT WINAPI HTMLStyle2_put_textAutospace(IHTMLStyle2 *iface, BSTR v)
484 {
485     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
486     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
487     return E_NOTIMPL;
488 }
489 
HTMLStyle2_get_textAutospace(IHTMLStyle2 * iface,BSTR * p)490 static HRESULT WINAPI HTMLStyle2_get_textAutospace(IHTMLStyle2 *iface, BSTR *p)
491 {
492     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
493     FIXME("(%p)->(%p)\n", This, p);
494     return E_NOTIMPL;
495 }
496 
HTMLStyle2_put_overflowX(IHTMLStyle2 * iface,BSTR v)497 static HRESULT WINAPI HTMLStyle2_put_overflowX(IHTMLStyle2 *iface, BSTR v)
498 {
499     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
500 
501     TRACE("(%p)->(%s)\n", This, debugstr_w(v));
502 
503     return set_nsstyle_attr(This->nsstyle, STYLEID_OVERFLOW_X, v, 0);
504 }
505 
HTMLStyle2_get_overflowX(IHTMLStyle2 * iface,BSTR * p)506 static HRESULT WINAPI HTMLStyle2_get_overflowX(IHTMLStyle2 *iface, BSTR *p)
507 {
508     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
509 
510     TRACE("(%p)->(%p)\n", This, p);
511 
512     return get_nsstyle_attr(This->nsstyle, STYLEID_OVERFLOW_X, p, 0);
513 }
514 
HTMLStyle2_put_overflowY(IHTMLStyle2 * iface,BSTR v)515 static HRESULT WINAPI HTMLStyle2_put_overflowY(IHTMLStyle2 *iface, BSTR v)
516 {
517     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
518 
519     TRACE("(%p)->(%s)\n", This, debugstr_w(v));
520 
521     return set_nsstyle_attr(This->nsstyle, STYLEID_OVERFLOW_Y, v, 0);
522 }
523 
HTMLStyle2_get_overflowY(IHTMLStyle2 * iface,BSTR * p)524 static HRESULT WINAPI HTMLStyle2_get_overflowY(IHTMLStyle2 *iface, BSTR *p)
525 {
526     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
527 
528     TRACE("(%p)->(%p)\n", This, p);
529 
530     return get_nsstyle_attr(This->nsstyle, STYLEID_OVERFLOW_Y, p, 0);
531 }
532 
HTMLStyle2_put_accelerator(IHTMLStyle2 * iface,BSTR v)533 static HRESULT WINAPI HTMLStyle2_put_accelerator(IHTMLStyle2 *iface, BSTR v)
534 {
535     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
536     FIXME("(%p)->(%s)\n", This, debugstr_w(v));
537     return E_NOTIMPL;
538 }
539 
HTMLStyle2_get_accelerator(IHTMLStyle2 * iface,BSTR * p)540 static HRESULT WINAPI HTMLStyle2_get_accelerator(IHTMLStyle2 *iface, BSTR *p)
541 {
542     HTMLStyle *This = impl_from_IHTMLStyle2(iface);
543     FIXME("(%p)->(%p)\n", This, p);
544     return E_NOTIMPL;
545 }
546 
547 static const IHTMLStyle2Vtbl HTMLStyle2Vtbl = {
548     HTMLStyle2_QueryInterface,
549     HTMLStyle2_AddRef,
550     HTMLStyle2_Release,
551     HTMLStyle2_GetTypeInfoCount,
552     HTMLStyle2_GetTypeInfo,
553     HTMLStyle2_GetIDsOfNames,
554     HTMLStyle2_Invoke,
555     HTMLStyle2_put_tableLayout,
556     HTMLStyle2_get_tableLayout,
557     HTMLStyle2_put_borderCollapse,
558     HTMLStyle2_get_borderCollapse,
559     HTMLStyle2_put_direction,
560     HTMLStyle2_get_direction,
561     HTMLStyle2_put_behavior,
562     HTMLStyle2_get_behavior,
563     HTMLStyle2_setExpression,
564     HTMLStyle2_getExpression,
565     HTMLStyle2_removeExpression,
566     HTMLStyle2_put_position,
567     HTMLStyle2_get_position,
568     HTMLStyle2_put_unicodeBidi,
569     HTMLStyle2_get_unicodeBidi,
570     HTMLStyle2_put_bottom,
571     HTMLStyle2_get_bottom,
572     HTMLStyle2_put_right,
573     HTMLStyle2_get_right,
574     HTMLStyle2_put_pixelBottom,
575     HTMLStyle2_get_pixelBottom,
576     HTMLStyle2_put_pixelRight,
577     HTMLStyle2_get_pixelRight,
578     HTMLStyle2_put_posBottom,
579     HTMLStyle2_get_posBottom,
580     HTMLStyle2_put_posRight,
581     HTMLStyle2_get_posRight,
582     HTMLStyle2_put_imeMode,
583     HTMLStyle2_get_imeMode,
584     HTMLStyle2_put_rubyAlign,
585     HTMLStyle2_get_rubyAlign,
586     HTMLStyle2_put_rubyPosition,
587     HTMLStyle2_get_rubyPosition,
588     HTMLStyle2_put_rubyOverhang,
589     HTMLStyle2_get_rubyOverhang,
590     HTMLStyle2_put_layoutGridChar,
591     HTMLStyle2_get_layoutGridChar,
592     HTMLStyle2_put_layoutGridLine,
593     HTMLStyle2_get_layoutGridLine,
594     HTMLStyle2_put_layoutGridMode,
595     HTMLStyle2_get_layoutGridMode,
596     HTMLStyle2_put_layoutGridType,
597     HTMLStyle2_get_layoutGridType,
598     HTMLStyle2_put_layoutGrid,
599     HTMLStyle2_get_layoutGrid,
600     HTMLStyle2_put_wordBreak,
601     HTMLStyle2_get_wordBreak,
602     HTMLStyle2_put_lineBreak,
603     HTMLStyle2_get_lineBreak,
604     HTMLStyle2_put_textJustify,
605     HTMLStyle2_get_textJustify,
606     HTMLStyle2_put_textJustifyTrim,
607     HTMLStyle2_get_textJustifyTrim,
608     HTMLStyle2_put_textKashida,
609     HTMLStyle2_get_textKashida,
610     HTMLStyle2_put_textAutospace,
611     HTMLStyle2_get_textAutospace,
612     HTMLStyle2_put_overflowX,
613     HTMLStyle2_get_overflowX,
614     HTMLStyle2_put_overflowY,
615     HTMLStyle2_get_overflowY,
616     HTMLStyle2_put_accelerator,
617     HTMLStyle2_get_accelerator
618 };
619 
HTMLStyle2_Init(HTMLStyle * This)620 void HTMLStyle2_Init(HTMLStyle *This)
621 {
622     This->IHTMLStyle2_iface.lpVtbl = &HTMLStyle2Vtbl;
623 }
624