mshtml: Implement known IHTMLCSSStyleDeclaration BSTR properties.
[wine.git] / dlls / mshtml / htmlstyle.c
blob2454d8630ecd9c24025dde5102886c74778ce0a5
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>
20 #include <assert.h>
21 #include <math.h>
23 #define COBJMACROS
25 #include "windef.h"
26 #include "winbase.h"
27 #include "winuser.h"
28 #include "ole2.h"
29 #include "mshtmdid.h"
31 #include "mshtml_private.h"
32 #include "htmlstyle.h"
34 #include "wine/debug.h"
36 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
38 static const WCHAR backgroundW[] =
39 {'b','a','c','k','g','r','o','u','n','d',0};
40 static const WCHAR background_attachmentW[] =
41 {'b','a','c','k','g','r','o','u','n','d','-','a','t','t','a','c','h','m','e','n','t',0};
42 static const WCHAR background_colorW[] =
43 {'b','a','c','k','g','r','o','u','n','d','-','c','o','l','o','r',0};
44 static const WCHAR background_imageW[] =
45 {'b','a','c','k','g','r','o','u','n','d','-','i','m','a','g','e',0};
46 static const WCHAR background_positionW[] =
47 {'b','a','c','k','g','r','o','u','n','d','-','p','o','s','i','t','i','o','n',0};
48 static const WCHAR background_position_xW[] =
49 {'b','a','c','k','g','r','o','u','n','d','-','p','o','s','i','t','i','o','n','-','x',0};
50 static const WCHAR background_position_yW[] =
51 {'b','a','c','k','g','r','o','u','n','d','-','p','o','s','i','t','i','o','n','-','y',0};
52 static const WCHAR background_repeatW[] =
53 {'b','a','c','k','g','r','o','u','n','d','-','r','e','p','e','a','t',0};
54 static const WCHAR borderW[] =
55 {'b','o','r','d','e','r',0};
56 static const WCHAR border_bottomW[] =
57 {'b','o','r','d','e','r','-','b','o','t','t','o','m',0};
58 static const WCHAR border_bottom_colorW[] =
59 {'b','o','r','d','e','r','-','b','o','t','t','o','m','-','c','o','l','o','r',0};
60 static const WCHAR border_bottom_styleW[] =
61 {'b','o','r','d','e','r','-','b','o','t','t','o','m','-','s','t','y','l','e',0};
62 static const WCHAR border_bottom_widthW[] =
63 {'b','o','r','d','e','r','-','b','o','t','t','o','m','-','w','i','d','t','h',0};
64 static const WCHAR border_colorW[] =
65 {'b','o','r','d','e','r','-','c','o','l','o','r',0};
66 static const WCHAR border_leftW[] =
67 {'b','o','r','d','e','r','-','l','e','f','t',0};
68 static const WCHAR border_left_colorW[] =
69 {'b','o','r','d','e','r','-','l','e','f','t','-','c','o','l','o','r',0};
70 static const WCHAR border_left_styleW[] =
71 {'b','o','r','d','e','r','-','l','e','f','t','-','s','t','y','l','e',0};
72 static const WCHAR border_left_widthW[] =
73 {'b','o','r','d','e','r','-','l','e','f','t','-','w','i','d','t','h',0};
74 static const WCHAR border_rightW[] =
75 {'b','o','r','d','e','r','-','r','i','g','h','t',0};
76 static const WCHAR border_right_colorW[] =
77 {'b','o','r','d','e','r','-','r','i','g','h','t','-','c','o','l','o','r',0};
78 static const WCHAR border_right_styleW[] =
79 {'b','o','r','d','e','r','-','r','i','g','h','t','-','s','t','y','l','e',0};
80 static const WCHAR border_right_widthW[] =
81 {'b','o','r','d','e','r','-','r','i','g','h','t','-','w','i','d','t','h',0};
82 static const WCHAR border_topW[] =
83 {'b','o','r','d','e','r','-','t','o','p',0};
84 static const WCHAR border_top_colorW[] =
85 {'b','o','r','d','e','r','-','t','o','p','-','c','o','l','o','r',0};
86 static const WCHAR border_styleW[] =
87 {'b','o','r','d','e','r','-','s','t','y','l','e',0};
88 static const WCHAR border_top_styleW[] =
89 {'b','o','r','d','e','r','-','t','o','p','-','s','t','y','l','e',0};
90 static const WCHAR border_top_widthW[] =
91 {'b','o','r','d','e','r','-','t','o','p','-','w','i','d','t','h',0};
92 static const WCHAR border_widthW[] =
93 {'b','o','r','d','e','r','-','w','i','d','t','h',0};
94 static const WCHAR bottomW[] =
95 {'b','o','t','t','o','m',0};
96 /* FIXME: Use unprefixed version (requires Gecko changes). */
97 static const WCHAR box_sizingW[] =
98 {'-','m','o','z','-','b','o','x','-','s','i','z','i','n','g',0};
99 static const WCHAR clearW[] =
100 {'c','l','e','a','r',0};
101 static const WCHAR clipW[] =
102 {'c','l','i','p',0};
103 static const WCHAR colorW[] =
104 {'c','o','l','o','r',0};
105 static const WCHAR cursorW[] =
106 {'c','u','r','s','o','r',0};
107 static const WCHAR directionW[] =
108 {'d','i','r','e','c','t','i','o','n',0};
109 static const WCHAR displayW[] =
110 {'d','i','s','p','l','a','y',0};
111 static const WCHAR filterW[] =
112 {'f','i','l','e','t','e','r',0};
113 static const WCHAR floatW[] =
114 {'f','l','o','a','t',0};
115 static const WCHAR font_familyW[] =
116 {'f','o','n','t','-','f','a','m','i','l','y',0};
117 static const WCHAR font_sizeW[] =
118 {'f','o','n','t','-','s','i','z','e',0};
119 static const WCHAR font_styleW[] =
120 {'f','o','n','t','-','s','t','y','l','e',0};
121 static const WCHAR font_variantW[] =
122 {'f','o','n','t','-','v','a','r','i','a','n','t',0};
123 static const WCHAR font_weightW[] =
124 {'f','o','n','t','-','w','e','i','g','h','t',0};
125 static const WCHAR heightW[] =
126 {'h','e','i','g','h','t',0};
127 static const WCHAR leftW[] =
128 {'l','e','f','t',0};
129 static const WCHAR letter_spacingW[] =
130 {'l','e','t','t','e','r','-','s','p','a','c','i','n','g',0};
131 static const WCHAR line_heightW[] =
132 {'l','i','n','e','-','h','e','i','g','h','t',0};
133 static const WCHAR list_styleW[] =
134 {'l','i','s','t','-','s','t','y','l','e',0};
135 static const WCHAR list_style_typeW[] =
136 {'l','i','s','t','-','s','t','y','l','e','-','t','y','p','e',0};
137 static const WCHAR list_style_positionW[] =
138 {'l','i','s','t','-','s','t','y','l','e','-','p','o','s','i','t','i','o','n',0};
139 static const WCHAR marginW[] =
140 {'m','a','r','g','i','n',0};
141 static const WCHAR margin_bottomW[] =
142 {'m','a','r','g','i','n','-','b','o','t','t','o','m',0};
143 static const WCHAR margin_leftW[] =
144 {'m','a','r','g','i','n','-','l','e','f','t',0};
145 static const WCHAR margin_rightW[] =
146 {'m','a','r','g','i','n','-','r','i','g','h','t',0};
147 static const WCHAR margin_topW[] =
148 {'m','a','r','g','i','n','-','t','o','p',0};
149 static const WCHAR max_heightW[] =
150 {'m','a','x','-','h','e','i','g','h','t',0};
151 static const WCHAR max_widthW[] =
152 {'m','a','x','-','w','i','d','t','h',0};
153 static const WCHAR min_heightW[] =
154 {'m','i','n','-','h','e','i','g','h','t',0};
155 static const WCHAR min_widthW[] =
156 {'m','i','n','-','w','i','d','t','h',0};
157 static const WCHAR outlineW[] =
158 {'o','u','t','l','i','n','e',0};
159 static const WCHAR overflowW[] =
160 {'o','v','e','r','f','l','o','w',0};
161 static const WCHAR overflow_xW[] =
162 {'o','v','e','r','f','l','o','w','-','x',0};
163 static const WCHAR overflow_yW[] =
164 {'o','v','e','r','f','l','o','w','-','y',0};
165 static const WCHAR paddingW[] =
166 {'p','a','d','d','i','n','g',0};
167 static const WCHAR padding_bottomW[] =
168 {'p','a','d','d','i','n','g','-','b','o','t','t','o','m',0};
169 static const WCHAR padding_leftW[] =
170 {'p','a','d','d','i','n','g','-','l','e','f','t',0};
171 static const WCHAR padding_rightW[] =
172 {'p','a','d','d','i','n','g','-','r','i','g','h','t',0};
173 static const WCHAR padding_topW[] =
174 {'p','a','d','d','i','n','g','-','t','o','p',0};
175 static const WCHAR page_break_afterW[] =
176 {'p','a','g','e','-','b','r','e','a','k','-','a','f','t','e','r',0};
177 static const WCHAR page_break_beforeW[] =
178 {'p','a','g','e','-','b','r','e','a','k','-','b','e','f','o','r','e',0};
179 static const WCHAR positionW[] =
180 {'p','o','s','i','t','i','o','n',0};
181 static const WCHAR rightW[] =
182 {'r','i','g','h','t',0};
183 static const WCHAR table_layoutW[] =
184 {'t','a','b','l','e','-','l','a','y','o','u','t',0};
185 static const WCHAR text_alignW[] =
186 {'t','e','x','t','-','a','l','i','g','n',0};
187 static const WCHAR text_decorationW[] =
188 {'t','e','x','t','-','d','e','c','o','r','a','t','i','o','n',0};
189 static const WCHAR text_indentW[] =
190 {'t','e','x','t','-','i','n','d','e','n','t',0};
191 static const WCHAR text_transformW[] =
192 {'t','e','x','t','-','t','r','a','n','s','f','o','r','m',0};
193 static const WCHAR topW[] =
194 {'t','o','p',0};
195 static const WCHAR vertical_alignW[] =
196 {'v','e','r','t','i','c','a','l','-','a','l','i','g','n',0};
197 static const WCHAR visibilityW[] =
198 {'v','i','s','i','b','i','l','i','t','y',0};
199 static const WCHAR white_spaceW[] =
200 {'w','h','i','t','e','-','s','p','a','c','e',0};
201 static const WCHAR widthW[] =
202 {'w','i','d','t','h',0};
203 static const WCHAR word_spacingW[] =
204 {'w','o','r','d','-','s','p','a','c','i','n','g',0};
205 static const WCHAR word_wrapW[] =
206 {'w','o','r','d','-','w','r','a','p',0};
207 static const WCHAR z_indexW[] =
208 {'z','-','i','n','d','e','x',0};
210 static const WCHAR autoW[] = {'a','u','t','o',0};
211 static const WCHAR blinkW[] = {'b','l','i','n','k',0};
212 static const WCHAR boldW[] = {'b','o','l','d',0};
213 static const WCHAR bolderW[] = {'b','o','l','d','e','r',0};
214 static const WCHAR capsW[] = {'s','m','a','l','l','-','c','a','p','s',0};
215 static const WCHAR dashedW[] = {'d','a','s','h','e','d',0};
216 static const WCHAR dottedW[] = {'d','o','t','t','e','d',0};
217 static const WCHAR doubleW[] = {'d','o','u','b','l','e',0};
218 static const WCHAR grooveW[] = {'g','r','o','o','v','e',0};
219 static const WCHAR hiddenW[] = {'h','i','d','d','e','n',0};
220 static const WCHAR insetW[] = {'i','n','s','e','t',0};
221 static const WCHAR italicW[] = {'i','t','a','l','i','c',0};
222 static const WCHAR lighterW[] = {'l','i','g','h','t','e','r',0};
223 static const WCHAR line_throughW[] = {'l','i','n','e','-','t','h','r','o','u','g','h',0};
224 static const WCHAR no_repeatW[] = {'n','o','-','r','e','p','e','a','t',0};
225 static const WCHAR noneW[] = {'n','o','n','e',0};
226 static const WCHAR normalW[] = {'n','o','r','m','a','l',0};
227 static const WCHAR obliqueW[] = {'o','b','l','i','q','u','e',0};
228 static const WCHAR outsetW[] = {'o','u','t','s','e','t',0};
229 static const WCHAR overlineW[] = {'o','v','e','r','l','i','n','e',0};
230 static const WCHAR repeatW[] = {'r','e','p','e','a','t',0};
231 static const WCHAR repeat_xW[] = {'r','e','p','e','a','t','-','x',0};
232 static const WCHAR repeat_yW[] = {'r','e','p','e','a','t','-','y',0};
233 static const WCHAR ridgeW[] = {'r','i','d','g','e',0};
234 static const WCHAR scrollW[] = {'s','c','r','o','l','l',0};
235 static const WCHAR solidW[] = {'s','o','l','i','d',0};
236 static const WCHAR underlineW[] = {'u','n','d','e','r','l','i','n','e',0};
237 static const WCHAR visibleW[] = {'v','i','s','i','b','l','e',0};
239 static const WCHAR style100W[] = {'1','0','0',0};
240 static const WCHAR style200W[] = {'2','0','0',0};
241 static const WCHAR style300W[] = {'3','0','0',0};
242 static const WCHAR style400W[] = {'4','0','0',0};
243 static const WCHAR style500W[] = {'5','0','0',0};
244 static const WCHAR style600W[] = {'6','0','0',0};
245 static const WCHAR style700W[] = {'7','0','0',0};
246 static const WCHAR style800W[] = {'8','0','0',0};
247 static const WCHAR style900W[] = {'9','0','0',0};
249 static const WCHAR *font_style_values[] = {
250 italicW,
251 normalW,
252 obliqueW,
253 NULL
256 static const WCHAR *font_variant_values[] = {
257 capsW,
258 normalW,
259 NULL
262 static const WCHAR *font_weight_values[] = {
263 style100W,
264 style200W,
265 style300W,
266 style400W,
267 style500W,
268 style600W,
269 style700W,
270 style800W,
271 style900W,
272 boldW,
273 bolderW,
274 lighterW,
275 normalW,
276 NULL
279 static const WCHAR *background_repeat_values[] = {
280 no_repeatW,
281 repeatW,
282 repeat_xW,
283 repeat_yW,
284 NULL
287 static const WCHAR *text_decoration_values[] = {
288 blinkW,
289 line_throughW,
290 noneW,
291 overlineW,
292 underlineW,
293 NULL
296 static const WCHAR *border_style_values[] = {
297 dashedW,
298 dottedW,
299 doubleW,
300 grooveW,
301 insetW,
302 noneW,
303 outsetW,
304 ridgeW,
305 solidW,
306 NULL
309 static const WCHAR *overflow_values[] = {
310 autoW,
311 hiddenW,
312 scrollW,
313 visibleW,
314 NULL
317 #define ATTR_FIX_PX 0x0001
318 #define ATTR_FIX_URL 0x0002
319 #define ATTR_STR_TO_INT 0x0004
320 #define ATTR_HEX_INT 0x0008
321 #define ATTR_REMOVE_COMMA 0x0010
322 #define ATTR_NO_NULL 0x0020
324 static const WCHAR pxW[] = {'p','x',0};
326 typedef struct {
327 const WCHAR *name;
328 DISPID dispid;
329 unsigned flags;
330 const WCHAR **allowed_values;
331 } style_tbl_entry_t;
333 static const style_tbl_entry_t style_tbl[] = {
334 {backgroundW, DISPID_IHTMLSTYLE_BACKGROUND},
335 {background_attachmentW, DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT},
336 {background_colorW, DISPID_IHTMLSTYLE_BACKGROUNDCOLOR, ATTR_HEX_INT},
337 {background_imageW, DISPID_IHTMLSTYLE_BACKGROUNDIMAGE, ATTR_FIX_URL},
338 {background_positionW, DISPID_IHTMLSTYLE_BACKGROUNDPOSITION},
339 {background_position_xW, DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX, ATTR_FIX_PX},
340 {background_position_yW, DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY, ATTR_FIX_PX},
341 {background_repeatW, DISPID_IHTMLSTYLE_BACKGROUNDREPEAT, 0, background_repeat_values},
342 {borderW, DISPID_IHTMLSTYLE_BORDER},
343 {border_bottomW, DISPID_IHTMLSTYLE_BORDERBOTTOM, ATTR_FIX_PX},
344 {border_bottom_colorW, DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR, ATTR_HEX_INT},
345 {border_bottom_styleW, DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE, 0, border_style_values},
346 {border_bottom_widthW, DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH, ATTR_FIX_PX},
347 {border_colorW, DISPID_IHTMLSTYLE_BORDERCOLOR},
348 {border_leftW, DISPID_IHTMLSTYLE_BORDERLEFT, ATTR_FIX_PX},
349 {border_left_colorW, DISPID_IHTMLSTYLE_BORDERLEFTCOLOR, ATTR_HEX_INT},
350 {border_left_styleW, DISPID_IHTMLSTYLE_BORDERLEFTSTYLE, 0, border_style_values},
351 {border_left_widthW, DISPID_IHTMLSTYLE_BORDERLEFTWIDTH, ATTR_FIX_PX},
352 {border_rightW, DISPID_IHTMLSTYLE_BORDERRIGHT, ATTR_FIX_PX},
353 {border_right_colorW, DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR, ATTR_HEX_INT},
354 {border_right_styleW, DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE, 0, border_style_values},
355 {border_right_widthW, DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH, ATTR_FIX_PX},
356 {border_styleW, DISPID_IHTMLSTYLE_BORDERSTYLE},
357 {border_topW, DISPID_IHTMLSTYLE_BORDERTOP, ATTR_FIX_PX},
358 {border_top_colorW, DISPID_IHTMLSTYLE_BORDERTOPCOLOR, ATTR_HEX_INT},
359 {border_top_styleW, DISPID_IHTMLSTYLE_BORDERTOPSTYLE, 0, border_style_values},
360 {border_top_widthW, DISPID_IHTMLSTYLE_BORDERTOPWIDTH},
361 {border_widthW, DISPID_IHTMLSTYLE_BORDERWIDTH},
362 {bottomW, DISPID_IHTMLSTYLE2_BOTTOM, ATTR_FIX_PX},
363 {box_sizingW, DISPID_IHTMLSTYLE6_BOXSIZING},
364 {clearW, DISPID_IHTMLSTYLE_CLEAR},
365 {clipW, DISPID_IHTMLSTYLE_CLIP, ATTR_REMOVE_COMMA},
366 {colorW, DISPID_IHTMLSTYLE_COLOR, ATTR_HEX_INT},
367 {cursorW, DISPID_IHTMLSTYLE_CURSOR},
368 {directionW, DISPID_IHTMLSTYLE2_DIRECTION},
369 {displayW, DISPID_IHTMLSTYLE_DISPLAY},
370 {filterW, DISPID_IHTMLSTYLE_FILTER},
371 {floatW, DISPID_IHTMLSTYLE_STYLEFLOAT},
372 {font_familyW, DISPID_IHTMLSTYLE_FONTFAMILY},
373 {font_sizeW, DISPID_IHTMLSTYLE_FONTSIZE, ATTR_FIX_PX},
374 {font_styleW, DISPID_IHTMLSTYLE_FONTSTYLE, 0, font_style_values},
375 {font_variantW, DISPID_IHTMLSTYLE_FONTVARIANT, 0, font_variant_values},
376 {font_weightW, DISPID_IHTMLSTYLE_FONTWEIGHT, ATTR_STR_TO_INT, font_weight_values},
377 {heightW, DISPID_IHTMLSTYLE_HEIGHT, ATTR_FIX_PX},
378 {leftW, DISPID_IHTMLSTYLE_LEFT},
379 {letter_spacingW, DISPID_IHTMLSTYLE_LETTERSPACING},
380 {line_heightW, DISPID_IHTMLSTYLE_LINEHEIGHT},
381 {list_styleW, DISPID_IHTMLSTYLE_LISTSTYLE},
382 {list_style_positionW, DISPID_IHTMLSTYLE_LISTSTYLEPOSITION},
383 {list_style_typeW, DISPID_IHTMLSTYLE_LISTSTYLETYPE},
384 {marginW, DISPID_IHTMLSTYLE_MARGIN},
385 {margin_bottomW, DISPID_IHTMLSTYLE_MARGINBOTTOM, ATTR_FIX_PX},
386 {margin_leftW, DISPID_IHTMLSTYLE_MARGINLEFT, ATTR_FIX_PX},
387 {margin_rightW, DISPID_IHTMLSTYLE_MARGINRIGHT, ATTR_FIX_PX},
388 {margin_topW, DISPID_IHTMLSTYLE_MARGINTOP, ATTR_FIX_PX},
389 {max_heightW, DISPID_IHTMLSTYLE5_MAXHEIGHT, ATTR_FIX_PX},
390 {max_widthW, DISPID_IHTMLSTYLE5_MAXWIDTH, ATTR_FIX_PX},
391 {min_heightW, DISPID_IHTMLSTYLE4_MINHEIGHT},
392 {min_widthW, DISPID_IHTMLSTYLE5_MINWIDTH, ATTR_FIX_PX},
393 {outlineW, DISPID_IHTMLSTYLE6_OUTLINE, ATTR_NO_NULL},
394 {overflowW, DISPID_IHTMLSTYLE_OVERFLOW, 0, overflow_values},
395 {overflow_xW, DISPID_IHTMLSTYLE2_OVERFLOWX},
396 {overflow_yW, DISPID_IHTMLSTYLE2_OVERFLOWY},
397 {paddingW, DISPID_IHTMLSTYLE_PADDING},
398 {padding_bottomW, DISPID_IHTMLSTYLE_PADDINGBOTTOM, ATTR_FIX_PX},
399 {padding_leftW, DISPID_IHTMLSTYLE_PADDINGLEFT, ATTR_FIX_PX},
400 {padding_rightW, DISPID_IHTMLSTYLE_PADDINGRIGHT, ATTR_FIX_PX},
401 {padding_topW, DISPID_IHTMLSTYLE_PADDINGTOP, ATTR_FIX_PX},
402 {page_break_afterW, DISPID_IHTMLSTYLE_PAGEBREAKAFTER},
403 {page_break_beforeW, DISPID_IHTMLSTYLE_PAGEBREAKBEFORE},
404 {positionW, DISPID_IHTMLSTYLE2_POSITION},
405 {rightW, DISPID_IHTMLSTYLE2_RIGHT},
406 {table_layoutW, DISPID_IHTMLSTYLE2_TABLELAYOUT},
407 {text_alignW, DISPID_IHTMLSTYLE_TEXTALIGN},
408 {text_decorationW, DISPID_IHTMLSTYLE_TEXTDECORATION, 0, text_decoration_values},
409 {text_indentW, DISPID_IHTMLSTYLE_TEXTINDENT, ATTR_FIX_PX},
410 {text_transformW, DISPID_IHTMLSTYLE_TEXTTRANSFORM},
411 {topW, DISPID_IHTMLSTYLE_TOP},
412 {vertical_alignW, DISPID_IHTMLSTYLE_VERTICALALIGN, ATTR_FIX_PX},
413 {visibilityW, DISPID_IHTMLSTYLE_VISIBILITY},
414 {white_spaceW, DISPID_IHTMLSTYLE_WHITESPACE},
415 {widthW, DISPID_IHTMLSTYLE_WIDTH, ATTR_FIX_PX},
416 {word_spacingW, DISPID_IHTMLSTYLE_WORDSPACING},
417 {word_wrapW, DISPID_IHTMLSTYLE3_WORDWRAP},
418 {z_indexW, DISPID_IHTMLSTYLE_ZINDEX, ATTR_STR_TO_INT}
421 C_ASSERT(ARRAY_SIZE(style_tbl) == STYLEID_MAX_VALUE);
423 static const WCHAR px_formatW[] = {'%','d','p','x',0};
424 static const WCHAR emptyW[] = {0};
426 static const style_tbl_entry_t *lookup_style_tbl(const WCHAR *name)
428 int c, i, min = 0, max = ARRAY_SIZE(style_tbl)-1;
430 while(min <= max) {
431 i = (min+max)/2;
433 c = strcmpW(style_tbl[i].name, name);
434 if(!c)
435 return style_tbl+i;
437 if(c > 0)
438 max = i-1;
439 else
440 min = i+1;
443 return NULL;
446 static inline compat_mode_t get_style_compat_mode(HTMLStyle *style)
448 return style->elem && style->elem->node.doc ? style->elem->node.doc->document_mode : COMPAT_MODE_QUIRKS;
451 static LPWSTR fix_px_value(LPCWSTR val)
453 LPCWSTR ptr = val;
455 while(*ptr) {
456 while(*ptr && isspaceW(*ptr))
457 ptr++;
458 if(!*ptr)
459 break;
461 while(*ptr && isdigitW(*ptr))
462 ptr++;
464 if(!*ptr || isspaceW(*ptr)) {
465 LPWSTR ret, p;
466 int len = strlenW(val)+1;
468 ret = heap_alloc((len+2)*sizeof(WCHAR));
469 memcpy(ret, val, (ptr-val)*sizeof(WCHAR));
470 p = ret + (ptr-val);
471 *p++ = 'p';
472 *p++ = 'x';
473 strcpyW(p, ptr);
475 TRACE("fixed %s -> %s\n", debugstr_w(val), debugstr_w(ret));
477 return ret;
480 while(*ptr && !isspaceW(*ptr))
481 ptr++;
484 return NULL;
487 static LPWSTR fix_url_value(LPCWSTR val)
489 WCHAR *ret, *ptr;
491 static const WCHAR urlW[] = {'u','r','l','('};
493 if(strncmpW(val, urlW, ARRAY_SIZE(urlW)) || !strchrW(val, '\\'))
494 return NULL;
496 ret = heap_strdupW(val);
498 for(ptr = ret; *ptr; ptr++) {
499 if(*ptr == '\\')
500 *ptr = '/';
503 return ret;
506 static HRESULT set_nsstyle_property(nsIDOMCSSStyleDeclaration *nsstyle, styleid_t sid, const WCHAR *value)
508 nsAString str_name, str_value, str_empty;
509 nsresult nsres;
511 nsAString_InitDepend(&str_name, style_tbl[sid].name);
512 nsAString_InitDepend(&str_value, value);
513 nsAString_InitDepend(&str_empty, emptyW);
515 nsres = nsIDOMCSSStyleDeclaration_SetProperty(nsstyle, &str_name, &str_value, &str_empty);
516 if(NS_FAILED(nsres))
517 ERR("SetProperty failed: %08x\n", nsres);
519 nsAString_Finish(&str_name);
520 nsAString_Finish(&str_value);
521 nsAString_Finish(&str_empty);
523 return S_OK;
526 static HRESULT var_to_styleval(HTMLStyle *style, const VARIANT *v, styleid_t sid, WCHAR *buf, const WCHAR **ret)
528 switch(V_VT(v)) {
529 case VT_NULL:
530 *ret = emptyW;
531 return S_OK;
533 case VT_BSTR:
534 *ret = V_BSTR(v);
535 return S_OK;
537 case VT_BSTR|VT_BYREF:
538 *ret = *V_BSTRREF(v);
539 return S_OK;
541 case VT_I4: {
542 unsigned flags = dispex_compat_mode(&style->dispex) < COMPAT_MODE_IE9 ? style_tbl[sid].flags : 0;
543 static const WCHAR formatW[] = {'%','d',0};
544 static const WCHAR hex_formatW[] = {'#','%','0','6','x',0};
546 if(flags & ATTR_HEX_INT)
547 wsprintfW(buf, hex_formatW, V_I4(v));
548 else if(flags & ATTR_FIX_PX)
549 wsprintfW(buf, px_formatW, V_I4(v));
550 else
551 wsprintfW(buf, formatW, V_I4(v));
553 *ret = buf;
554 return S_OK;
556 default:
557 FIXME("not implemented for %s\n", debugstr_variant(v));
558 return E_NOTIMPL;
563 static inline HRESULT set_style_property(HTMLStyle *style, styleid_t sid, const WCHAR *value)
565 WCHAR *val = NULL;
566 HRESULT hres;
568 if(value && *value && dispex_compat_mode(&style->dispex) < COMPAT_MODE_IE9) {
569 unsigned flags = style_tbl[sid].flags;
571 if(style_tbl[sid].allowed_values) {
572 const WCHAR **iter;
573 for(iter = style_tbl[sid].allowed_values; *iter; iter++) {
574 if(!strcmpiW(*iter, value))
575 break;
577 if(!*iter) {
578 WARN("invalid value %s\n", debugstr_w(value));
579 set_nsstyle_property(style->nsstyle, sid, emptyW);
580 return E_INVALIDARG;
584 if(flags & ATTR_FIX_PX)
585 val = fix_px_value(value);
586 else if(flags & ATTR_FIX_URL)
587 val = fix_url_value(value);
590 hres = set_nsstyle_property(style->nsstyle, sid, val ? val : value);
591 heap_free(val);
592 return hres;
595 static HRESULT set_style_property_var(HTMLStyle *style, styleid_t sid, VARIANT *value)
597 const WCHAR *val;
598 WCHAR buf[14];
599 HRESULT hres;
601 hres = var_to_styleval(style, value, sid, buf, &val);
602 if(FAILED(hres))
603 return hres;
605 return set_style_property(style, sid, val);
608 static HRESULT get_nsstyle_attr_nsval(nsIDOMCSSStyleDeclaration *nsstyle, styleid_t sid, nsAString *value)
610 nsAString str_name;
611 nsresult nsres;
613 nsAString_InitDepend(&str_name, style_tbl[sid].name);
614 nsres = nsIDOMCSSStyleDeclaration_GetPropertyValue(nsstyle, &str_name, value);
615 nsAString_Finish(&str_name);
616 if(NS_FAILED(nsres)) {
617 ERR("SetProperty failed: %08x\n", nsres);
618 return E_FAIL;
621 return S_OK;
624 static HRESULT nsstyle_to_bstr(const WCHAR *val, DWORD flags, BSTR *p)
626 BSTR ret;
627 DWORD len;
629 if(!*val) {
630 *p = (flags & ATTR_NO_NULL) ? SysAllocStringLen(NULL, 0) : NULL;
631 return S_OK;
634 ret = SysAllocString(val);
635 if(!ret)
636 return E_OUTOFMEMORY;
638 len = SysStringLen(ret);
640 if(flags & ATTR_REMOVE_COMMA) {
641 DWORD new_len = len;
642 WCHAR *ptr, *ptr2;
644 for(ptr = ret; (ptr = strchrW(ptr, ',')); ptr++)
645 new_len--;
647 if(new_len != len) {
648 BSTR new_ret;
650 new_ret = SysAllocStringLen(NULL, new_len);
651 if(!new_ret) {
652 SysFreeString(ret);
653 return E_OUTOFMEMORY;
656 for(ptr2 = new_ret, ptr = ret; *ptr; ptr++) {
657 if(*ptr != ',')
658 *ptr2++ = *ptr;
661 SysFreeString(ret);
662 ret = new_ret;
666 *p = ret;
667 return S_OK;
670 HRESULT get_nsstyle_property(nsIDOMCSSStyleDeclaration *nsstyle, styleid_t sid, compat_mode_t compat_mode, BSTR *p)
672 nsAString str_value;
673 const PRUnichar *value;
674 HRESULT hres;
676 nsAString_Init(&str_value, NULL);
678 get_nsstyle_attr_nsval(nsstyle, sid, &str_value);
680 nsAString_GetData(&str_value, &value);
681 hres = nsstyle_to_bstr(value, compat_mode < COMPAT_MODE_IE9 ? style_tbl[sid].flags : 0, p);
682 nsAString_Finish(&str_value);
684 TRACE("%s -> %s\n", debugstr_w(style_tbl[sid].name), debugstr_w(*p));
685 return hres;
688 HRESULT get_nsstyle_property_var(nsIDOMCSSStyleDeclaration *nsstyle, styleid_t sid, compat_mode_t compat_mode, VARIANT *p)
690 unsigned flags = style_tbl[sid].flags;
691 nsAString str_value;
692 const PRUnichar *value;
693 BOOL set = FALSE;
694 HRESULT hres = S_OK;
696 nsAString_Init(&str_value, NULL);
698 get_nsstyle_attr_nsval(nsstyle, sid, &str_value);
700 nsAString_GetData(&str_value, &value);
702 if((flags & ATTR_STR_TO_INT) && (*value || compat_mode < COMPAT_MODE_IE9)) {
703 const PRUnichar *ptr = value;
704 BOOL neg = FALSE;
705 INT i = 0;
707 if(*ptr == '-') {
708 neg = TRUE;
709 ptr++;
712 while(isdigitW(*ptr))
713 i = i*10 + (*ptr++ - '0');
715 if(!*ptr) {
716 V_VT(p) = VT_I4;
717 V_I4(p) = neg ? -i : i;
718 set = TRUE;
722 if(!set) {
723 BSTR str;
725 hres = nsstyle_to_bstr(value, compat_mode < COMPAT_MODE_IE9 ? flags : 0, &str);
726 if(SUCCEEDED(hres)) {
727 V_VT(p) = VT_BSTR;
728 V_BSTR(p) = str;
732 nsAString_Finish(&str_value);
734 TRACE("%s -> %s\n", debugstr_w(style_tbl[sid].name), debugstr_variant(p));
735 return S_OK;
738 static inline HRESULT get_style_property(HTMLStyle *This, styleid_t sid, BSTR *p)
740 return get_nsstyle_property(This->nsstyle, sid, dispex_compat_mode(&This->dispex), p);
743 static inline HRESULT get_style_property_var(HTMLStyle *This, styleid_t sid, VARIANT *v)
745 return get_nsstyle_property_var(This->nsstyle, sid, dispex_compat_mode(&This->dispex), v);
748 static HRESULT check_style_attr_value(HTMLStyle *This, styleid_t sid, LPCWSTR exval, VARIANT_BOOL *p)
750 nsAString str_value;
751 const PRUnichar *value;
753 nsAString_Init(&str_value, NULL);
755 get_nsstyle_attr_nsval(This->nsstyle, sid, &str_value);
757 nsAString_GetData(&str_value, &value);
758 *p = variant_bool(!strcmpW(value, exval));
759 nsAString_Finish(&str_value);
761 TRACE("%s -> %x\n", debugstr_w(style_tbl[sid].name), *p);
762 return S_OK;
765 static inline HRESULT set_style_pos(HTMLStyle *This, styleid_t sid, float value)
767 WCHAR szValue[25];
768 WCHAR szFormat[] = {'%','.','0','f','p','x',0};
770 value = floor(value);
772 sprintfW(szValue, szFormat, value);
774 return set_style_property(This, sid, szValue);
777 static HRESULT set_style_pxattr(HTMLStyle *style, styleid_t sid, LONG value)
779 WCHAR value_str[16];
781 sprintfW(value_str, px_formatW, value);
783 return set_style_property(style, sid, value_str);
786 static HRESULT get_nsstyle_pos(HTMLStyle *This, styleid_t sid, float *p)
788 nsAString str_value;
789 HRESULT hres;
791 TRACE("%p %d %p\n", This, sid, p);
793 *p = 0.0f;
795 nsAString_Init(&str_value, NULL);
797 hres = get_nsstyle_attr_nsval(This->nsstyle, sid, &str_value);
798 if(hres == S_OK)
800 WCHAR *ptr;
801 const PRUnichar *value;
803 nsAString_GetData(&str_value, &value);
804 if(value)
806 *p = strtolW(value, &ptr, 10);
808 if(*ptr && strcmpW(ptr, pxW))
810 nsAString_Finish(&str_value);
811 FIXME("only px values are currently supported\n");
812 hres = E_FAIL;
817 TRACE("ret %f\n", *p);
819 nsAString_Finish(&str_value);
820 return hres;
823 static HRESULT get_nsstyle_pixel_val(HTMLStyle *This, styleid_t sid, LONG *p)
825 nsAString str_value;
826 HRESULT hres;
828 if(!p)
829 return E_POINTER;
831 nsAString_Init(&str_value, NULL);
833 hres = get_nsstyle_attr_nsval(This->nsstyle, sid, &str_value);
834 if(hres == S_OK) {
835 WCHAR *ptr = NULL;
836 const PRUnichar *value;
838 nsAString_GetData(&str_value, &value);
839 if(value) {
840 *p = strtolW(value, &ptr, 10);
842 if(*ptr == '.') {
843 /* Skip all digits. We have tests showing that we should not round the value. */
844 while(isdigitW(*++ptr));
848 if(!ptr || (*ptr && strcmpW(ptr, pxW)))
849 *p = 0;
852 nsAString_Finish(&str_value);
853 return hres;
856 static BOOL is_valid_border_style(BSTR v)
858 return !v || strcmpiW(v, noneW) == 0 || strcmpiW(v, dottedW) == 0 ||
859 strcmpiW(v, dashedW) == 0 || strcmpiW(v, solidW) == 0 ||
860 strcmpiW(v, doubleW) == 0 || strcmpiW(v, grooveW) == 0 ||
861 strcmpiW(v, ridgeW) == 0 || strcmpiW(v, insetW) == 0 ||
862 strcmpiW(v, outsetW) == 0;
865 static inline HTMLStyle *impl_from_IHTMLStyle(IHTMLStyle *iface)
867 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle_iface);
870 static HRESULT WINAPI HTMLStyle_QueryInterface(IHTMLStyle *iface, REFIID riid, void **ppv)
872 HTMLStyle *This = impl_from_IHTMLStyle(iface);
874 TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv);
876 if(IsEqualGUID(&IID_IUnknown, riid)) {
877 *ppv = &This->IHTMLStyle_iface;
878 }else if(IsEqualGUID(&IID_IHTMLCSSStyleDeclaration, riid)) {
879 *ppv = &This->IHTMLCSSStyleDeclaration_iface;
880 }else if(IsEqualGUID(&IID_IHTMLStyle, riid)) {
881 *ppv = &This->IHTMLStyle_iface;
882 }else if(IsEqualGUID(&IID_IHTMLStyle2, riid)) {
883 *ppv = &This->IHTMLStyle2_iface;
884 }else if(IsEqualGUID(&IID_IHTMLStyle3, riid)) {
885 *ppv = &This->IHTMLStyle3_iface;
886 }else if(IsEqualGUID(&IID_IHTMLStyle4, riid)) {
887 *ppv = &This->IHTMLStyle4_iface;
888 }else if(IsEqualGUID(&IID_IHTMLStyle5, riid)) {
889 *ppv = &This->IHTMLStyle5_iface;
890 }else if(IsEqualGUID(&IID_IHTMLStyle6, riid)) {
891 *ppv = &This->IHTMLStyle6_iface;
892 }else if(dispex_query_interface(&This->dispex, riid, ppv)) {
893 return *ppv ? S_OK : E_NOINTERFACE;
894 }else {
895 *ppv = NULL;
896 WARN("unsupported iface %s\n", debugstr_mshtml_guid(riid));
897 return E_NOINTERFACE;
900 IUnknown_AddRef((IUnknown*)*ppv);
901 return S_OK;
904 static ULONG WINAPI HTMLStyle_AddRef(IHTMLStyle *iface)
906 HTMLStyle *This = impl_from_IHTMLStyle(iface);
907 LONG ref = InterlockedIncrement(&This->ref);
909 TRACE("(%p) ref=%d\n", This, ref);
911 return ref;
914 static ULONG WINAPI HTMLStyle_Release(IHTMLStyle *iface)
916 HTMLStyle *This = impl_from_IHTMLStyle(iface);
917 LONG ref = InterlockedDecrement(&This->ref);
919 TRACE("(%p) ref=%d\n", This, ref);
921 if(!ref) {
922 assert(!This->elem);
923 if(This->nsstyle)
924 nsIDOMCSSStyleDeclaration_Release(This->nsstyle);
925 release_dispex(&This->dispex);
926 heap_free(This);
929 return ref;
932 static HRESULT WINAPI HTMLStyle_GetTypeInfoCount(IHTMLStyle *iface, UINT *pctinfo)
934 HTMLStyle *This = impl_from_IHTMLStyle(iface);
935 return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
938 static HRESULT WINAPI HTMLStyle_GetTypeInfo(IHTMLStyle *iface, UINT iTInfo,
939 LCID lcid, ITypeInfo **ppTInfo)
941 HTMLStyle *This = impl_from_IHTMLStyle(iface);
942 return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
945 static HRESULT WINAPI HTMLStyle_GetIDsOfNames(IHTMLStyle *iface, REFIID riid,
946 LPOLESTR *rgszNames, UINT cNames,
947 LCID lcid, DISPID *rgDispId)
949 HTMLStyle *This = impl_from_IHTMLStyle(iface);
950 return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames,
951 lcid, rgDispId);
954 static HRESULT WINAPI HTMLStyle_Invoke(IHTMLStyle *iface, DISPID dispIdMember,
955 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
956 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
958 HTMLStyle *This = impl_from_IHTMLStyle(iface);
959 return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid,
960 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
963 static HRESULT WINAPI HTMLStyle_put_fontFamily(IHTMLStyle *iface, BSTR v)
965 HTMLStyle *This = impl_from_IHTMLStyle(iface);
967 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
969 return set_style_property(This, STYLEID_FONT_FAMILY, v);
972 static HRESULT WINAPI HTMLStyle_get_fontFamily(IHTMLStyle *iface, BSTR *p)
974 HTMLStyle *This = impl_from_IHTMLStyle(iface);
976 TRACE("(%p)->(%p)\n", This, p);
978 return get_style_property(This, STYLEID_FONT_FAMILY, p);
981 static HRESULT WINAPI HTMLStyle_put_fontStyle(IHTMLStyle *iface, BSTR v)
983 HTMLStyle *This = impl_from_IHTMLStyle(iface);
985 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
987 return set_style_property(This, STYLEID_FONT_STYLE, v);
990 static HRESULT WINAPI HTMLStyle_get_fontStyle(IHTMLStyle *iface, BSTR *p)
992 HTMLStyle *This = impl_from_IHTMLStyle(iface);
994 TRACE("(%p)->(%p)\n", This, p);
996 return get_style_property(This, STYLEID_FONT_STYLE, p);
999 static HRESULT WINAPI HTMLStyle_put_fontVariant(IHTMLStyle *iface, BSTR v)
1001 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1003 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1005 return set_style_property(This, STYLEID_FONT_VARIANT, v);
1008 static HRESULT WINAPI HTMLStyle_get_fontVariant(IHTMLStyle *iface, BSTR *p)
1010 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1011 TRACE("(%p)->(%p)\n", This, p);
1013 if(!p)
1014 return E_INVALIDARG;
1016 return get_style_property(This, STYLEID_FONT_VARIANT, p);
1019 static HRESULT WINAPI HTMLStyle_put_fontWeight(IHTMLStyle *iface, BSTR v)
1021 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1023 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1025 return set_style_property(This, STYLEID_FONT_WEIGHT, v);
1028 static HRESULT WINAPI HTMLStyle_get_fontWeight(IHTMLStyle *iface, BSTR *p)
1030 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1032 TRACE("(%p)->(%p)\n", This, p);
1034 return get_style_property(This, STYLEID_FONT_WEIGHT, p);
1037 static HRESULT WINAPI HTMLStyle_put_fontSize(IHTMLStyle *iface, VARIANT v)
1039 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1041 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1043 return set_style_property_var(This, STYLEID_FONT_SIZE, &v);
1046 static HRESULT WINAPI HTMLStyle_get_fontSize(IHTMLStyle *iface, VARIANT *p)
1048 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1050 TRACE("(%p)->(%p)\n", This, p);
1052 return get_style_property_var(This, STYLEID_FONT_SIZE, p);
1055 static HRESULT WINAPI HTMLStyle_put_font(IHTMLStyle *iface, BSTR v)
1057 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1058 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
1059 return E_NOTIMPL;
1062 static HRESULT WINAPI HTMLStyle_get_font(IHTMLStyle *iface, BSTR *p)
1064 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1065 FIXME("(%p)->(%p)\n", This, p);
1066 return E_NOTIMPL;
1069 static HRESULT WINAPI HTMLStyle_put_color(IHTMLStyle *iface, VARIANT v)
1071 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1073 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1075 return set_style_property_var(This, STYLEID_COLOR, &v);
1078 static HRESULT WINAPI HTMLStyle_get_color(IHTMLStyle *iface, VARIANT *p)
1080 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1082 TRACE("(%p)->(%p)\n", This, p);
1084 return get_style_property_var(This, STYLEID_COLOR, p);
1087 static HRESULT WINAPI HTMLStyle_put_background(IHTMLStyle *iface, BSTR v)
1089 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1091 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1093 return set_style_property(This, STYLEID_BACKGROUND, v);
1096 static HRESULT WINAPI HTMLStyle_get_background(IHTMLStyle *iface, BSTR *p)
1098 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1100 TRACE("(%p)->(%p)\n", This, p);
1102 return get_style_property(This, STYLEID_BACKGROUND, p);
1105 static HRESULT WINAPI HTMLStyle_put_backgroundColor(IHTMLStyle *iface, VARIANT v)
1107 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1109 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1111 return set_style_property_var(This, STYLEID_BACKGROUND_COLOR, &v);
1114 static HRESULT WINAPI HTMLStyle_get_backgroundColor(IHTMLStyle *iface, VARIANT *p)
1116 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1118 TRACE("(%p)->(%p)\n", This, p);
1120 return get_style_property_var(This, STYLEID_BACKGROUND_COLOR, p);
1123 static HRESULT WINAPI HTMLStyle_put_backgroundImage(IHTMLStyle *iface, BSTR v)
1125 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1127 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1129 return set_style_property(This, STYLEID_BACKGROUND_IMAGE, v);
1132 static HRESULT WINAPI HTMLStyle_get_backgroundImage(IHTMLStyle *iface, BSTR *p)
1134 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1136 TRACE("(%p)->(%p)\n", This, p);
1138 return get_style_property(This, STYLEID_BACKGROUND_IMAGE, p);
1141 static HRESULT WINAPI HTMLStyle_put_backgroundRepeat(IHTMLStyle *iface, BSTR v)
1143 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1145 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1147 return set_style_property(This, STYLEID_BACKGROUND_REPEAT , v);
1150 static HRESULT WINAPI HTMLStyle_get_backgroundRepeat(IHTMLStyle *iface, BSTR *p)
1152 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1154 TRACE("(%p)->(%p)\n", This, p);
1156 return get_style_property(This, STYLEID_BACKGROUND_REPEAT, p);
1159 static HRESULT WINAPI HTMLStyle_put_backgroundAttachment(IHTMLStyle *iface, BSTR v)
1161 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1163 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1165 return set_style_property(This, STYLEID_BACKGROUND_ATTACHMENT, v);
1168 static HRESULT WINAPI HTMLStyle_get_backgroundAttachment(IHTMLStyle *iface, BSTR *p)
1170 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1172 TRACE("(%p)->(%p)\n", This, p);
1174 return get_style_property(This, STYLEID_BACKGROUND_ATTACHMENT, p);
1177 static HRESULT WINAPI HTMLStyle_put_backgroundPosition(IHTMLStyle *iface, BSTR v)
1179 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1181 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1183 return set_style_property(This, STYLEID_BACKGROUND_POSITION, v);
1186 static HRESULT WINAPI HTMLStyle_get_backgroundPosition(IHTMLStyle *iface, BSTR *p)
1188 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1190 TRACE("(%p)->(%p)\n", This, p);
1192 return get_style_property(This, STYLEID_BACKGROUND_POSITION, p);
1195 static HRESULT WINAPI HTMLStyle_put_backgroundPositionX(IHTMLStyle *iface, VARIANT v)
1197 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1198 WCHAR buf[14], *pos_val;
1199 nsAString pos_str;
1200 const WCHAR *val;
1201 DWORD val_len;
1202 HRESULT hres;
1204 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1206 hres = var_to_styleval(This, &v, STYLEID_BACKGROUND_POSITION_X, buf, &val);
1207 if(FAILED(hres))
1208 return hres;
1210 val_len = val ? strlenW(val) : 0;
1212 nsAString_Init(&pos_str, NULL);
1213 hres = get_nsstyle_attr_nsval(This->nsstyle, STYLEID_BACKGROUND_POSITION, &pos_str);
1214 if(SUCCEEDED(hres)) {
1215 const PRUnichar *pos, *posy;
1216 DWORD posy_len;
1218 nsAString_GetData(&pos_str, &pos);
1219 posy = strchrW(pos, ' ');
1220 if(!posy) {
1221 static const WCHAR zero_pxW[] = {' ','0','p','x',0};
1223 TRACE("no space in %s\n", debugstr_w(pos));
1224 posy = zero_pxW;
1227 posy_len = strlenW(posy);
1228 pos_val = heap_alloc((val_len+posy_len+1)*sizeof(WCHAR));
1229 if(pos_val) {
1230 if(val_len)
1231 memcpy(pos_val, val, val_len*sizeof(WCHAR));
1232 if(posy_len)
1233 memcpy(pos_val+val_len, posy, posy_len*sizeof(WCHAR));
1234 pos_val[val_len+posy_len] = 0;
1235 }else {
1236 hres = E_OUTOFMEMORY;
1239 nsAString_Finish(&pos_str);
1240 if(FAILED(hres))
1241 return hres;
1243 TRACE("setting position to %s\n", debugstr_w(pos_val));
1244 hres = set_style_property(This, STYLEID_BACKGROUND_POSITION, pos_val);
1245 heap_free(pos_val);
1246 return hres;
1249 static HRESULT WINAPI HTMLStyle_get_backgroundPositionX(IHTMLStyle *iface, VARIANT *p)
1251 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1252 nsAString pos_str;
1253 BSTR ret;
1254 HRESULT hres;
1256 TRACE("(%p)->(%p)\n", This, p);
1258 nsAString_Init(&pos_str, NULL);
1259 hres = get_nsstyle_attr_nsval(This->nsstyle, STYLEID_BACKGROUND_POSITION, &pos_str);
1260 if(SUCCEEDED(hres)) {
1261 const PRUnichar *pos, *space;
1263 nsAString_GetData(&pos_str, &pos);
1264 space = strchrW(pos, ' ');
1265 if(!space) {
1266 WARN("no space in %s\n", debugstr_w(pos));
1267 space = pos + strlenW(pos);
1270 if(space != pos) {
1271 ret = SysAllocStringLen(pos, space-pos);
1272 if(!ret)
1273 hres = E_OUTOFMEMORY;
1274 }else {
1275 ret = NULL;
1278 nsAString_Finish(&pos_str);
1279 if(FAILED(hres))
1280 return hres;
1282 TRACE("returning %s\n", debugstr_w(ret));
1283 V_VT(p) = VT_BSTR;
1284 V_BSTR(p) = ret;
1285 return S_OK;
1288 static HRESULT WINAPI HTMLStyle_put_backgroundPositionY(IHTMLStyle *iface, VARIANT v)
1290 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1291 WCHAR buf[14], *pos_val;
1292 nsAString pos_str;
1293 const WCHAR *val;
1294 DWORD val_len;
1295 HRESULT hres;
1297 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1299 hres = var_to_styleval(This, &v, STYLEID_BACKGROUND_POSITION, buf, &val);
1300 if(FAILED(hres))
1301 return hres;
1303 val_len = val ? strlenW(val) : 0;
1305 nsAString_Init(&pos_str, NULL);
1306 hres = get_nsstyle_attr_nsval(This->nsstyle, STYLEID_BACKGROUND_POSITION, &pos_str);
1307 if(SUCCEEDED(hres)) {
1308 const PRUnichar *pos, *space;
1309 DWORD posx_len;
1311 nsAString_GetData(&pos_str, &pos);
1312 space = strchrW(pos, ' ');
1313 if(space) {
1314 space++;
1315 }else {
1316 static const WCHAR zero_pxW[] = {'0','p','x',' ',0};
1318 TRACE("no space in %s\n", debugstr_w(pos));
1319 pos = zero_pxW;
1320 space = pos + ARRAY_SIZE(zero_pxW)-1;
1323 posx_len = space-pos;
1325 pos_val = heap_alloc((posx_len+val_len+1)*sizeof(WCHAR));
1326 if(pos_val) {
1327 memcpy(pos_val, pos, posx_len*sizeof(WCHAR));
1328 if(val_len)
1329 memcpy(pos_val+posx_len, val, val_len*sizeof(WCHAR));
1330 pos_val[posx_len+val_len] = 0;
1331 }else {
1332 hres = E_OUTOFMEMORY;
1335 nsAString_Finish(&pos_str);
1336 if(FAILED(hres))
1337 return hres;
1339 TRACE("setting position to %s\n", debugstr_w(pos_val));
1340 hres = set_style_property(This, STYLEID_BACKGROUND_POSITION, pos_val);
1341 heap_free(pos_val);
1342 return hres;
1345 static HRESULT WINAPI HTMLStyle_get_backgroundPositionY(IHTMLStyle *iface, VARIANT *p)
1347 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1348 nsAString pos_str;
1349 BSTR ret;
1350 HRESULT hres;
1352 TRACE("(%p)->(%p)\n", This, p);
1354 nsAString_Init(&pos_str, NULL);
1355 hres = get_nsstyle_attr_nsval(This->nsstyle, STYLEID_BACKGROUND_POSITION, &pos_str);
1356 if(SUCCEEDED(hres)) {
1357 const PRUnichar *pos, *posy;
1359 nsAString_GetData(&pos_str, &pos);
1360 posy = strchrW(pos, ' ');
1361 if(posy) {
1362 ret = SysAllocString(posy+1);
1363 if(!ret)
1364 hres = E_OUTOFMEMORY;
1365 }else {
1366 ret = NULL;
1369 nsAString_Finish(&pos_str);
1370 if(FAILED(hres))
1371 return hres;
1373 TRACE("returning %s\n", debugstr_w(ret));
1374 V_VT(p) = VT_BSTR;
1375 V_BSTR(p) = ret;
1376 return S_OK;
1379 static HRESULT WINAPI HTMLStyle_put_wordSpacing(IHTMLStyle *iface, VARIANT v)
1381 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1383 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1385 return set_style_property_var(This, STYLEID_WORD_SPACING, &v);
1388 static HRESULT WINAPI HTMLStyle_get_wordSpacing(IHTMLStyle *iface, VARIANT *p)
1390 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1391 TRACE("(%p)->(%p)\n", This, p);
1392 return get_style_property_var(This, STYLEID_WORD_SPACING, p);
1395 static HRESULT WINAPI HTMLStyle_put_letterSpacing(IHTMLStyle *iface, VARIANT v)
1397 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1399 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1401 return set_style_property_var(This, STYLEID_LETTER_SPACING, &v);
1404 static HRESULT WINAPI HTMLStyle_get_letterSpacing(IHTMLStyle *iface, VARIANT *p)
1406 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1407 TRACE("(%p)->(%p)\n", This, p);
1408 return get_style_property_var(This, STYLEID_LETTER_SPACING, p);
1411 static HRESULT WINAPI HTMLStyle_put_textDecoration(IHTMLStyle *iface, BSTR v)
1413 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1415 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1417 return set_style_property(This, STYLEID_TEXT_DECORATION , v);
1420 static HRESULT WINAPI HTMLStyle_get_textDecoration(IHTMLStyle *iface, BSTR *p)
1422 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1424 TRACE("(%p)->(%p)\n", This, p);
1426 return get_style_property(This, STYLEID_TEXT_DECORATION, p);
1429 static HRESULT WINAPI HTMLStyle_put_textDecorationNone(IHTMLStyle *iface, VARIANT_BOOL v)
1431 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1433 TRACE("(%p)->(%x)\n", This, v);
1435 return set_style_property(This, STYLEID_TEXT_DECORATION, v ? noneW : emptyW);
1438 static HRESULT WINAPI HTMLStyle_get_textDecorationNone(IHTMLStyle *iface, VARIANT_BOOL *p)
1440 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1442 TRACE("(%p)->(%p)\n", This, p);
1444 return check_style_attr_value(This, STYLEID_TEXT_DECORATION, noneW, p);
1447 static HRESULT WINAPI HTMLStyle_put_textDecorationUnderline(IHTMLStyle *iface, VARIANT_BOOL v)
1449 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1451 TRACE("(%p)->(%x)\n", This, v);
1453 return set_style_property(This, STYLEID_TEXT_DECORATION, v ? underlineW : emptyW);
1456 static HRESULT WINAPI HTMLStyle_get_textDecorationUnderline(IHTMLStyle *iface, VARIANT_BOOL *p)
1458 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1460 TRACE("(%p)->(%p)\n", This, p);
1462 return check_style_attr_value(This, STYLEID_TEXT_DECORATION, underlineW, p);
1465 static HRESULT WINAPI HTMLStyle_put_textDecorationOverline(IHTMLStyle *iface, VARIANT_BOOL v)
1467 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1469 TRACE("(%p)->(%x)\n", This, v);
1471 return set_style_property(This, STYLEID_TEXT_DECORATION, v ? overlineW : emptyW);
1474 static HRESULT WINAPI HTMLStyle_get_textDecorationOverline(IHTMLStyle *iface, VARIANT_BOOL *p)
1476 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1478 TRACE("(%p)->(%p)\n", This, p);
1480 return check_style_attr_value(This, STYLEID_TEXT_DECORATION, overlineW, p);
1483 static HRESULT WINAPI HTMLStyle_put_textDecorationLineThrough(IHTMLStyle *iface, VARIANT_BOOL v)
1485 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1487 TRACE("(%p)->(%x)\n", This, v);
1489 return set_style_property(This, STYLEID_TEXT_DECORATION, v ? line_throughW : emptyW);
1492 static HRESULT WINAPI HTMLStyle_get_textDecorationLineThrough(IHTMLStyle *iface, VARIANT_BOOL *p)
1494 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1496 TRACE("(%p)->(%p)\n", This, p);
1498 return check_style_attr_value(This, STYLEID_TEXT_DECORATION, line_throughW, p);
1501 static HRESULT WINAPI HTMLStyle_put_textDecorationBlink(IHTMLStyle *iface, VARIANT_BOOL v)
1503 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1505 TRACE("(%p)->(%x)\n", This, v);
1507 return set_style_property(This, STYLEID_TEXT_DECORATION, v ? blinkW : emptyW);
1510 static HRESULT WINAPI HTMLStyle_get_textDecorationBlink(IHTMLStyle *iface, VARIANT_BOOL *p)
1512 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1514 TRACE("(%p)->(%p)\n", This, p);
1516 return check_style_attr_value(This, STYLEID_TEXT_DECORATION, blinkW, p);
1519 static HRESULT WINAPI HTMLStyle_put_verticalAlign(IHTMLStyle *iface, VARIANT v)
1521 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1523 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1525 return set_style_property_var(This, STYLEID_VERTICAL_ALIGN, &v);
1528 static HRESULT WINAPI HTMLStyle_get_verticalAlign(IHTMLStyle *iface, VARIANT *p)
1530 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1532 TRACE("(%p)->(%p)\n", This, p);
1534 return get_style_property_var(This, STYLEID_VERTICAL_ALIGN, p);
1537 static HRESULT WINAPI HTMLStyle_put_textTransform(IHTMLStyle *iface, BSTR v)
1539 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1541 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1543 return set_style_property(This, STYLEID_TEXT_TRANSFORM, v);
1546 static HRESULT WINAPI HTMLStyle_get_textTransform(IHTMLStyle *iface, BSTR *p)
1548 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1550 TRACE("(%p)->(%p)\n", This, p);
1552 return get_style_property(This, STYLEID_TEXT_TRANSFORM, p);
1555 static HRESULT WINAPI HTMLStyle_put_textAlign(IHTMLStyle *iface, BSTR v)
1557 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1559 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1561 return set_style_property(This, STYLEID_TEXT_ALIGN, v);
1564 static HRESULT WINAPI HTMLStyle_get_textAlign(IHTMLStyle *iface, BSTR *p)
1566 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1568 TRACE("(%p)->(%p)\n", This, p);
1570 return get_style_property(This, STYLEID_TEXT_ALIGN, p);
1573 static HRESULT WINAPI HTMLStyle_put_textIndent(IHTMLStyle *iface, VARIANT v)
1575 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1577 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1579 return set_style_property_var(This, STYLEID_TEXT_INDENT, &v);
1582 static HRESULT WINAPI HTMLStyle_get_textIndent(IHTMLStyle *iface, VARIANT *p)
1584 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1586 TRACE("(%p)->(%p)\n", This, p);
1588 return get_style_property_var(This, STYLEID_TEXT_INDENT, p);
1591 static HRESULT WINAPI HTMLStyle_put_lineHeight(IHTMLStyle *iface, VARIANT v)
1593 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1595 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1597 return set_style_property_var(This, STYLEID_LINE_HEIGHT, &v);
1600 static HRESULT WINAPI HTMLStyle_get_lineHeight(IHTMLStyle *iface, VARIANT *p)
1602 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1604 TRACE("(%p)->(%p)\n", This, p);
1606 return get_style_property_var(This, STYLEID_LINE_HEIGHT, p);
1609 static HRESULT WINAPI HTMLStyle_put_marginTop(IHTMLStyle *iface, VARIANT v)
1611 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1613 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1615 return set_style_property_var(This, STYLEID_MARGIN_TOP, &v);
1618 static HRESULT WINAPI HTMLStyle_get_marginTop(IHTMLStyle *iface, VARIANT *p)
1620 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1622 TRACE("(%p)->(%p)\n", This, p);
1624 return get_style_property_var(This, STYLEID_MARGIN_TOP, p);
1627 static HRESULT WINAPI HTMLStyle_put_marginRight(IHTMLStyle *iface, VARIANT v)
1629 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1631 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1633 return set_style_property_var(This, STYLEID_MARGIN_RIGHT, &v);
1636 static HRESULT WINAPI HTMLStyle_get_marginRight(IHTMLStyle *iface, VARIANT *p)
1638 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1639 TRACE("(%p)->(%p)\n", This, p);
1640 return get_style_property_var(This, STYLEID_MARGIN_RIGHT, p);
1643 static HRESULT WINAPI HTMLStyle_put_marginBottom(IHTMLStyle *iface, VARIANT v)
1645 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1647 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1649 return set_style_property_var(This, STYLEID_MARGIN_BOTTOM, &v);
1652 static HRESULT WINAPI HTMLStyle_get_marginBottom(IHTMLStyle *iface, VARIANT *p)
1654 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1656 TRACE("(%p)->(%p)\n", This, p);
1658 return get_style_property_var(This, STYLEID_MARGIN_BOTTOM, p);
1661 static HRESULT WINAPI HTMLStyle_put_marginLeft(IHTMLStyle *iface, VARIANT v)
1663 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1665 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1667 return set_style_property_var(This, STYLEID_MARGIN_LEFT, &v);
1670 static HRESULT WINAPI HTMLStyle_put_margin(IHTMLStyle *iface, BSTR v)
1672 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1674 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1676 return set_style_property(This, STYLEID_MARGIN, v);
1679 static HRESULT WINAPI HTMLStyle_get_margin(IHTMLStyle *iface, BSTR *p)
1681 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1683 TRACE("(%p)->(%p)\n", This, p);
1685 return get_style_property(This, STYLEID_MARGIN, p);
1688 static HRESULT WINAPI HTMLStyle_get_marginLeft(IHTMLStyle *iface, VARIANT *p)
1690 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1691 TRACE("(%p)->(%p)\n", This, p);
1692 return get_style_property_var(This, STYLEID_MARGIN_LEFT, p);
1695 static HRESULT WINAPI HTMLStyle_put_paddingTop(IHTMLStyle *iface, VARIANT v)
1697 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1699 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1701 return set_style_property_var(This, STYLEID_PADDING_TOP, &v);
1704 static HRESULT WINAPI HTMLStyle_get_paddingTop(IHTMLStyle *iface, VARIANT *p)
1706 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1708 TRACE("(%p)->(%p)\n", This, p);
1710 return get_style_property_var(This, STYLEID_PADDING_TOP, p);
1713 static HRESULT WINAPI HTMLStyle_put_paddingRight(IHTMLStyle *iface, VARIANT v)
1715 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1717 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1719 return set_style_property_var(This, STYLEID_PADDING_RIGHT, &v);
1722 static HRESULT WINAPI HTMLStyle_get_paddingRight(IHTMLStyle *iface, VARIANT *p)
1724 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1726 TRACE("(%p)->(%p)\n", This, p);
1728 return get_style_property_var(This, STYLEID_PADDING_RIGHT, p);
1731 static HRESULT WINAPI HTMLStyle_put_paddingBottom(IHTMLStyle *iface, VARIANT v)
1733 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1735 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1737 return set_style_property_var(This, STYLEID_PADDING_BOTTOM, &v);
1740 static HRESULT WINAPI HTMLStyle_get_paddingBottom(IHTMLStyle *iface, VARIANT *p)
1742 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1744 TRACE("(%p)->(%p)\n", This, p);
1746 return get_style_property_var(This, STYLEID_PADDING_BOTTOM, p);
1749 static HRESULT WINAPI HTMLStyle_put_paddingLeft(IHTMLStyle *iface, VARIANT v)
1751 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1753 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1755 return set_style_property_var(This, STYLEID_PADDING_LEFT, &v);
1758 static HRESULT WINAPI HTMLStyle_get_paddingLeft(IHTMLStyle *iface, VARIANT *p)
1760 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1762 TRACE("(%p)->(%p)\n", This, p);
1764 return get_style_property_var(This, STYLEID_PADDING_LEFT, p);
1767 static HRESULT WINAPI HTMLStyle_put_padding(IHTMLStyle *iface, BSTR v)
1769 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1771 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1773 return set_style_property(This, STYLEID_PADDING, v);
1776 static HRESULT WINAPI HTMLStyle_get_padding(IHTMLStyle *iface, BSTR *p)
1778 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1780 TRACE("(%p)->(%p)\n", This, p);
1782 return get_style_property(This, STYLEID_PADDING, p);
1785 static HRESULT WINAPI HTMLStyle_put_border(IHTMLStyle *iface, BSTR v)
1787 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1789 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1791 return set_style_property(This, STYLEID_BORDER, v);
1794 static HRESULT WINAPI HTMLStyle_get_border(IHTMLStyle *iface, BSTR *p)
1796 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1798 TRACE("(%p)->(%p)\n", This, p);
1800 return get_style_property(This, STYLEID_BORDER, p);
1803 static HRESULT WINAPI HTMLStyle_put_borderTop(IHTMLStyle *iface, BSTR v)
1805 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1806 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1807 return set_style_property(This, STYLEID_BORDER_TOP, v);
1810 static HRESULT WINAPI HTMLStyle_get_borderTop(IHTMLStyle *iface, BSTR *p)
1812 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1813 TRACE("(%p)->(%p)\n", This, p);
1814 return get_style_property(This, STYLEID_BORDER_TOP, p);
1817 static HRESULT WINAPI HTMLStyle_put_borderRight(IHTMLStyle *iface, BSTR v)
1819 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1820 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1821 return set_style_property(This, STYLEID_BORDER_RIGHT, v);
1824 static HRESULT WINAPI HTMLStyle_get_borderRight(IHTMLStyle *iface, BSTR *p)
1826 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1827 TRACE("(%p)->(%p)\n", This, p);
1828 return get_style_property(This, STYLEID_BORDER_RIGHT, p);
1831 static HRESULT WINAPI HTMLStyle_put_borderBottom(IHTMLStyle *iface, BSTR v)
1833 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1834 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1835 return set_style_property(This, STYLEID_BORDER_BOTTOM, v);
1838 static HRESULT WINAPI HTMLStyle_get_borderBottom(IHTMLStyle *iface, BSTR *p)
1840 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1841 TRACE("(%p)->(%p)\n", This, p);
1842 return get_style_property(This, STYLEID_BORDER_BOTTOM, p);
1845 static HRESULT WINAPI HTMLStyle_put_borderLeft(IHTMLStyle *iface, BSTR v)
1847 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1849 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1851 return set_style_property(This, STYLEID_BORDER_LEFT, v);
1854 static HRESULT WINAPI HTMLStyle_get_borderLeft(IHTMLStyle *iface, BSTR *p)
1856 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1858 TRACE("(%p)->(%p)\n", This, p);
1860 return get_style_property(This, STYLEID_BORDER_LEFT, p);
1863 static HRESULT WINAPI HTMLStyle_put_borderColor(IHTMLStyle *iface, BSTR v)
1865 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1867 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1869 return set_style_property(This, STYLEID_BORDER_COLOR, v);
1872 static HRESULT WINAPI HTMLStyle_get_borderColor(IHTMLStyle *iface, BSTR *p)
1874 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1876 TRACE("(%p)->(%p)\n", This, p);
1878 return get_style_property(This, STYLEID_BORDER_COLOR, p);
1881 static HRESULT WINAPI HTMLStyle_put_borderTopColor(IHTMLStyle *iface, VARIANT v)
1883 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1885 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1887 return set_style_property_var(This, STYLEID_BORDER_TOP_COLOR, &v);
1890 static HRESULT WINAPI HTMLStyle_get_borderTopColor(IHTMLStyle *iface, VARIANT *p)
1892 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1894 TRACE("(%p)->(%p)\n", This, p);
1896 return get_style_property_var(This, STYLEID_BORDER_TOP_COLOR, p);
1899 static HRESULT WINAPI HTMLStyle_put_borderRightColor(IHTMLStyle *iface, VARIANT v)
1901 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1903 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1905 return set_style_property_var(This, STYLEID_BORDER_RIGHT_COLOR, &v);
1908 static HRESULT WINAPI HTMLStyle_get_borderRightColor(IHTMLStyle *iface, VARIANT *p)
1910 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1912 TRACE("(%p)->(%p)\n", This, p);
1914 return get_style_property_var(This, STYLEID_BORDER_RIGHT_COLOR, p);
1917 static HRESULT WINAPI HTMLStyle_put_borderBottomColor(IHTMLStyle *iface, VARIANT v)
1919 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1921 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1923 return set_style_property_var(This, STYLEID_BORDER_BOTTOM_COLOR, &v);
1926 static HRESULT WINAPI HTMLStyle_get_borderBottomColor(IHTMLStyle *iface, VARIANT *p)
1928 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1930 TRACE("(%p)->(%p)\n", This, p);
1932 return get_style_property_var(This, STYLEID_BORDER_BOTTOM_COLOR, p);
1935 static HRESULT WINAPI HTMLStyle_put_borderLeftColor(IHTMLStyle *iface, VARIANT v)
1937 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1939 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1941 return set_style_property_var(This, STYLEID_BORDER_LEFT_COLOR, &v);
1944 static HRESULT WINAPI HTMLStyle_get_borderLeftColor(IHTMLStyle *iface, VARIANT *p)
1946 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1948 TRACE("(%p)->(%p)\n", This, p);
1950 return get_style_property_var(This, STYLEID_BORDER_LEFT_COLOR, p);
1953 static HRESULT WINAPI HTMLStyle_put_borderWidth(IHTMLStyle *iface, BSTR v)
1955 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1956 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
1957 return set_style_property(This, STYLEID_BORDER_WIDTH, v);
1960 static HRESULT WINAPI HTMLStyle_get_borderWidth(IHTMLStyle *iface, BSTR *p)
1962 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1963 TRACE("(%p)->(%p)\n", This, p);
1964 return get_style_property(This, STYLEID_BORDER_WIDTH, p);
1967 static HRESULT WINAPI HTMLStyle_put_borderTopWidth(IHTMLStyle *iface, VARIANT v)
1969 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1971 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1973 return set_style_property_var(This, STYLEID_BORDER_TOP_WIDTH, &v);
1976 static HRESULT WINAPI HTMLStyle_get_borderTopWidth(IHTMLStyle *iface, VARIANT *p)
1978 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1980 TRACE("(%p)->(%p)\n", This, p);
1982 return get_style_property_var(This, STYLEID_BORDER_TOP_WIDTH, p);
1985 static HRESULT WINAPI HTMLStyle_put_borderRightWidth(IHTMLStyle *iface, VARIANT v)
1987 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1989 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
1991 return set_style_property_var(This, STYLEID_BORDER_RIGHT_WIDTH, &v);
1994 static HRESULT WINAPI HTMLStyle_get_borderRightWidth(IHTMLStyle *iface, VARIANT *p)
1996 HTMLStyle *This = impl_from_IHTMLStyle(iface);
1998 TRACE("(%p)->(%p)\n", This, p);
2000 return get_style_property_var(This, STYLEID_BORDER_RIGHT_WIDTH, p);
2003 static HRESULT WINAPI HTMLStyle_put_borderBottomWidth(IHTMLStyle *iface, VARIANT v)
2005 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2007 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
2009 return set_style_property_var(This, STYLEID_BORDER_BOTTOM_WIDTH, &v);
2012 static HRESULT WINAPI HTMLStyle_get_borderBottomWidth(IHTMLStyle *iface, VARIANT *p)
2014 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2015 TRACE("(%p)->(%p)\n", This, p);
2016 return get_style_property_var(This, STYLEID_BORDER_BOTTOM_WIDTH, p);
2019 static HRESULT WINAPI HTMLStyle_put_borderLeftWidth(IHTMLStyle *iface, VARIANT v)
2021 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2023 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
2025 return set_style_property_var(This, STYLEID_BORDER_LEFT_WIDTH, &v);
2028 static HRESULT WINAPI HTMLStyle_get_borderLeftWidth(IHTMLStyle *iface, VARIANT *p)
2030 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2031 TRACE("(%p)->(%p)\n", This, p);
2032 return get_style_property_var(This, STYLEID_BORDER_LEFT_WIDTH, p);
2035 static HRESULT WINAPI HTMLStyle_put_borderStyle(IHTMLStyle *iface, BSTR v)
2037 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2038 static const WCHAR styleWindowInset[] = {'w','i','n','d','o','w','-','i','n','s','e','t',0};
2039 HRESULT hres = S_OK;
2040 BSTR pstyle;
2041 int i=0;
2042 int last = 0;
2044 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2046 while(v[i] && hres == S_OK)
2048 if(v[i] == (WCHAR)' ')
2050 pstyle = SysAllocStringLen(&v[last], (i-last));
2051 if( !(is_valid_border_style(pstyle) || strcmpiW(styleWindowInset, pstyle) == 0))
2053 TRACE("1. Invalid style (%s)\n", debugstr_w(pstyle));
2054 hres = E_INVALIDARG;
2056 SysFreeString(pstyle);
2057 last = i+1;
2059 i++;
2062 if(hres == S_OK)
2064 pstyle = SysAllocStringLen(&v[last], i-last);
2065 if( !(is_valid_border_style(pstyle) || strcmpiW(styleWindowInset, pstyle) == 0))
2067 TRACE("2. Invalid style (%s)\n", debugstr_w(pstyle));
2068 hres = E_INVALIDARG;
2070 SysFreeString(pstyle);
2073 if(hres == S_OK)
2074 hres = set_style_property(This, STYLEID_BORDER_STYLE, v);
2076 return hres;
2079 static HRESULT WINAPI HTMLStyle_get_borderStyle(IHTMLStyle *iface, BSTR *p)
2081 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2082 TRACE("(%p)->(%p)\n", This, p);
2083 return get_style_property(This, STYLEID_BORDER_STYLE, p);
2086 static HRESULT WINAPI HTMLStyle_put_borderTopStyle(IHTMLStyle *iface, BSTR v)
2088 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2089 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2090 return set_style_property(This, STYLEID_BORDER_TOP_STYLE, v);
2093 static HRESULT WINAPI HTMLStyle_get_borderTopStyle(IHTMLStyle *iface, BSTR *p)
2095 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2096 TRACE("(%p)->(%p)\n", This, p);
2097 return get_style_property(This, STYLEID_BORDER_TOP_STYLE, p);
2100 static HRESULT WINAPI HTMLStyle_put_borderRightStyle(IHTMLStyle *iface, BSTR v)
2102 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2103 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2104 return set_style_property(This, STYLEID_BORDER_RIGHT_STYLE, v);
2107 static HRESULT WINAPI HTMLStyle_get_borderRightStyle(IHTMLStyle *iface, BSTR *p)
2109 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2110 TRACE("(%p)->(%p)\n", This, p);
2111 return get_style_property(This, STYLEID_BORDER_RIGHT_STYLE, p);
2114 static HRESULT WINAPI HTMLStyle_put_borderBottomStyle(IHTMLStyle *iface, BSTR v)
2116 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2117 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2118 return set_style_property(This, STYLEID_BORDER_BOTTOM_STYLE, v);
2121 static HRESULT WINAPI HTMLStyle_get_borderBottomStyle(IHTMLStyle *iface, BSTR *p)
2123 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2124 TRACE("(%p)->(%p)\n", This, p);
2125 return get_style_property(This, STYLEID_BORDER_BOTTOM_STYLE, p);
2128 static HRESULT WINAPI HTMLStyle_put_borderLeftStyle(IHTMLStyle *iface, BSTR v)
2130 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2131 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2132 return set_style_property(This, STYLEID_BORDER_LEFT_STYLE, v);
2135 static HRESULT WINAPI HTMLStyle_get_borderLeftStyle(IHTMLStyle *iface, BSTR *p)
2137 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2138 TRACE("(%p)->(%p)\n", This, p);
2139 return get_style_property(This, STYLEID_BORDER_LEFT_STYLE, p);
2142 static HRESULT WINAPI HTMLStyle_put_width(IHTMLStyle *iface, VARIANT v)
2144 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2146 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
2148 return set_style_property_var(This, STYLEID_WIDTH, &v);
2151 static HRESULT WINAPI HTMLStyle_get_width(IHTMLStyle *iface, VARIANT *p)
2153 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2155 TRACE("(%p)->(%p)\n", This, p);
2157 return get_style_property_var(This, STYLEID_WIDTH, p);
2160 static HRESULT WINAPI HTMLStyle_put_height(IHTMLStyle *iface, VARIANT v)
2162 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2164 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
2166 return set_style_property_var(This, STYLEID_HEIGHT, &v);
2169 static HRESULT WINAPI HTMLStyle_get_height(IHTMLStyle *iface, VARIANT *p)
2171 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2173 TRACE("(%p)->(%p)\n", This, p);
2175 return get_style_property_var(This, STYLEID_HEIGHT, p);
2178 static HRESULT WINAPI HTMLStyle_put_styleFloat(IHTMLStyle *iface, BSTR v)
2180 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2182 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2184 return set_style_property(This, STYLEID_FLOAT, v);
2187 static HRESULT WINAPI HTMLStyle_get_styleFloat(IHTMLStyle *iface, BSTR *p)
2189 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2191 TRACE("(%p)->(%p)\n", This, p);
2193 return get_style_property(This, STYLEID_FLOAT, p);
2196 static HRESULT WINAPI HTMLStyle_put_clear(IHTMLStyle *iface, BSTR v)
2198 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2200 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2202 return set_style_property(This, STYLEID_CLEAR, v);
2205 static HRESULT WINAPI HTMLStyle_get_clear(IHTMLStyle *iface, BSTR *p)
2207 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2209 TRACE("(%p)->(%p)\n", This, p);
2211 return get_style_property(This, STYLEID_CLEAR, p);
2214 static HRESULT WINAPI HTMLStyle_put_display(IHTMLStyle *iface, BSTR v)
2216 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2218 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2220 return set_style_property(This, STYLEID_DISPLAY, v);
2223 static HRESULT WINAPI HTMLStyle_get_display(IHTMLStyle *iface, BSTR *p)
2225 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2227 TRACE("(%p)->(%p)\n", This, p);
2229 return get_style_property(This, STYLEID_DISPLAY, p);
2232 static HRESULT WINAPI HTMLStyle_put_visibility(IHTMLStyle *iface, BSTR v)
2234 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2236 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2238 return set_style_property(This, STYLEID_VISIBILITY, v);
2241 static HRESULT WINAPI HTMLStyle_get_visibility(IHTMLStyle *iface, BSTR *p)
2243 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2245 TRACE("(%p)->(%p)\n", This, p);
2247 return get_style_property(This, STYLEID_VISIBILITY, p);
2250 static HRESULT WINAPI HTMLStyle_put_listStyleType(IHTMLStyle *iface, BSTR v)
2252 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2254 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2256 return set_style_property(This, STYLEID_LISTSTYLETYPE, v);
2259 static HRESULT WINAPI HTMLStyle_get_listStyleType(IHTMLStyle *iface, BSTR *p)
2261 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2263 TRACE("(%p)->(%p)\n", This, p);
2265 return get_style_property(This, STYLEID_LISTSTYLETYPE, p);
2268 static HRESULT WINAPI HTMLStyle_put_listStylePosition(IHTMLStyle *iface, BSTR v)
2270 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2272 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2274 return set_style_property(This, STYLEID_LISTSTYLEPOSITION, v);
2277 static HRESULT WINAPI HTMLStyle_get_listStylePosition(IHTMLStyle *iface, BSTR *p)
2279 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2281 TRACE("(%p)->(%p)\n", This, p);
2283 return get_style_property(This, STYLEID_LISTSTYLEPOSITION, p);
2286 static HRESULT WINAPI HTMLStyle_put_listStyleImage(IHTMLStyle *iface, BSTR v)
2288 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2289 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
2290 return E_NOTIMPL;
2293 static HRESULT WINAPI HTMLStyle_get_listStyleImage(IHTMLStyle *iface, BSTR *p)
2295 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2296 FIXME("(%p)->(%p)\n", This, p);
2297 return E_NOTIMPL;
2300 static HRESULT WINAPI HTMLStyle_put_listStyle(IHTMLStyle *iface, BSTR v)
2302 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2304 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2306 return set_style_property(This, STYLEID_LIST_STYLE, v);
2309 static HRESULT WINAPI HTMLStyle_get_listStyle(IHTMLStyle *iface, BSTR *p)
2311 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2313 TRACE("(%p)->(%p)\n", This, p);
2315 return get_style_property(This, STYLEID_LIST_STYLE, p);
2318 static HRESULT WINAPI HTMLStyle_put_whiteSpace(IHTMLStyle *iface, BSTR v)
2320 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2322 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2324 return set_style_property(This, STYLEID_WHITE_SPACE, v);
2327 static HRESULT WINAPI HTMLStyle_get_whiteSpace(IHTMLStyle *iface, BSTR *p)
2329 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2331 TRACE("(%p)->(%p)\n", This, p);
2333 return get_style_property(This, STYLEID_WHITE_SPACE, p);
2336 static HRESULT WINAPI HTMLStyle_put_top(IHTMLStyle *iface, VARIANT v)
2338 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2340 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
2342 return set_style_property_var(This, STYLEID_TOP, &v);
2345 static HRESULT WINAPI HTMLStyle_get_top(IHTMLStyle *iface, VARIANT *p)
2347 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2349 TRACE("(%p)->(%p)\n", This, p);
2351 return get_style_property_var(This, STYLEID_TOP, p);
2354 static HRESULT WINAPI HTMLStyle_put_left(IHTMLStyle *iface, VARIANT v)
2356 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2358 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
2360 return set_style_property_var(This, STYLEID_LEFT, &v);
2363 static HRESULT WINAPI HTMLStyle_get_left(IHTMLStyle *iface, VARIANT *p)
2365 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2367 TRACE("(%p)->(%p)\n", This, p);
2369 return get_style_property_var(This, STYLEID_LEFT, p);
2372 static HRESULT WINAPI HTMLStyle_get_position(IHTMLStyle *iface, BSTR *p)
2374 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2375 TRACE("(%p)->(%p)\n", This, p);
2376 return IHTMLStyle2_get_position(&This->IHTMLStyle2_iface, p);
2379 static HRESULT WINAPI HTMLStyle_put_zIndex(IHTMLStyle *iface, VARIANT v)
2381 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2383 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
2385 return set_style_property_var(This, STYLEID_Z_INDEX, &v);
2388 static HRESULT WINAPI HTMLStyle_get_zIndex(IHTMLStyle *iface, VARIANT *p)
2390 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2392 TRACE("(%p)->(%p)\n", This, p);
2394 return get_style_property_var(This, STYLEID_Z_INDEX, p);
2397 static HRESULT WINAPI HTMLStyle_put_overflow(IHTMLStyle *iface, BSTR v)
2399 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2401 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2403 return set_style_property(This, STYLEID_OVERFLOW, v);
2407 static HRESULT WINAPI HTMLStyle_get_overflow(IHTMLStyle *iface, BSTR *p)
2409 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2411 TRACE("(%p)->(%p)\n", This, p);
2413 if(!p)
2414 return E_INVALIDARG;
2416 return get_style_property(This, STYLEID_OVERFLOW, p);
2419 static HRESULT WINAPI HTMLStyle_put_pageBreakBefore(IHTMLStyle *iface, BSTR v)
2421 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2423 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2425 return set_style_property(This, STYLEID_PAGE_BREAK_BEFORE, v);
2428 static HRESULT WINAPI HTMLStyle_get_pageBreakBefore(IHTMLStyle *iface, BSTR *p)
2430 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2432 TRACE("(%p)->(%p)\n", This, p);
2434 return get_style_property(This, STYLEID_PAGE_BREAK_BEFORE, p);
2437 static HRESULT WINAPI HTMLStyle_put_pageBreakAfter(IHTMLStyle *iface, BSTR v)
2439 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2441 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2443 return set_style_property(This, STYLEID_PAGE_BREAK_AFTER, v);
2446 static HRESULT WINAPI HTMLStyle_get_pageBreakAfter(IHTMLStyle *iface, BSTR *p)
2448 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2450 TRACE("(%p)->(%p)\n", This, p);
2452 return get_style_property(This, STYLEID_PAGE_BREAK_AFTER, p);
2455 static HRESULT WINAPI HTMLStyle_put_cssText(IHTMLStyle *iface, BSTR v)
2457 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2458 nsAString text_str;
2459 nsresult nsres;
2461 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2463 nsAString_InitDepend(&text_str, v);
2464 nsres = nsIDOMCSSStyleDeclaration_SetCssText(This->nsstyle, &text_str);
2465 nsAString_Finish(&text_str);
2466 if(NS_FAILED(nsres)) {
2467 FIXME("SetCssStyle failed: %08x\n", nsres);
2468 return E_FAIL;
2471 return S_OK;
2474 static HRESULT WINAPI HTMLStyle_get_cssText(IHTMLStyle *iface, BSTR *p)
2476 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2477 nsAString text_str;
2478 nsresult nsres;
2480 TRACE("(%p)->(%p)\n", This, p);
2482 /* FIXME: Gecko style formatting is different than IE (uppercase). */
2483 nsAString_Init(&text_str, NULL);
2484 nsres = nsIDOMCSSStyleDeclaration_GetCssText(This->nsstyle, &text_str);
2485 if(NS_SUCCEEDED(nsres)) {
2486 const PRUnichar *text;
2488 nsAString_GetData(&text_str, &text);
2489 *p = *text ? SysAllocString(text) : NULL;
2490 }else {
2491 FIXME("GetCssStyle failed: %08x\n", nsres);
2492 *p = NULL;
2495 nsAString_Finish(&text_str);
2496 return S_OK;
2499 static HRESULT WINAPI HTMLStyle_put_pixelTop(IHTMLStyle *iface, LONG v)
2501 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2503 TRACE("(%p)->(%d)\n", This, v);
2505 return set_style_pxattr(This, STYLEID_TOP, v);
2508 static HRESULT WINAPI HTMLStyle_get_pixelTop(IHTMLStyle *iface, LONG *p)
2510 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2512 TRACE("(%p)->(%p)\n", This, p);
2514 return get_nsstyle_pixel_val(This, STYLEID_TOP, p);
2517 static HRESULT WINAPI HTMLStyle_put_pixelLeft(IHTMLStyle *iface, LONG v)
2519 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2521 TRACE("(%p)->(%d)\n", This, v);
2523 return set_style_pxattr(This, STYLEID_LEFT, v);
2526 static HRESULT WINAPI HTMLStyle_get_pixelLeft(IHTMLStyle *iface, LONG *p)
2528 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2530 TRACE("(%p)->(%p)\n", This, p);
2532 return get_nsstyle_pixel_val(This, STYLEID_LEFT, p);
2535 static HRESULT WINAPI HTMLStyle_put_pixelWidth(IHTMLStyle *iface, LONG v)
2537 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2539 TRACE("(%p)->()\n", This);
2541 return set_style_pxattr(This, STYLEID_WIDTH, v);
2544 static HRESULT WINAPI HTMLStyle_get_pixelWidth(IHTMLStyle *iface, LONG *p)
2546 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2548 TRACE("(%p)->(%p)\n", This, p);
2550 return get_nsstyle_pixel_val(This, STYLEID_WIDTH, p);
2553 static HRESULT WINAPI HTMLStyle_put_pixelHeight(IHTMLStyle *iface, LONG v)
2555 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2557 TRACE("(%p)->(%d)\n", This, v);
2559 return set_style_pxattr(This, STYLEID_HEIGHT, v);
2562 static HRESULT WINAPI HTMLStyle_get_pixelHeight(IHTMLStyle *iface, LONG *p)
2564 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2566 TRACE("(%p)->(%p)\n", This, p);
2568 return get_nsstyle_pixel_val(This, STYLEID_HEIGHT, p);
2571 static HRESULT WINAPI HTMLStyle_put_posTop(IHTMLStyle *iface, float v)
2573 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2575 TRACE("(%p)->(%f)\n", This, v);
2577 return set_style_pos(This, STYLEID_TOP, v);
2580 static HRESULT WINAPI HTMLStyle_get_posTop(IHTMLStyle *iface, float *p)
2582 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2584 TRACE("(%p)->(%p)\n", This, p);
2586 if(!p)
2587 return E_POINTER;
2589 return get_nsstyle_pos(This, STYLEID_TOP, p);
2592 static HRESULT WINAPI HTMLStyle_put_posLeft(IHTMLStyle *iface, float v)
2594 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2596 TRACE("(%p)->(%f)\n", This, v);
2598 return set_style_pos(This, STYLEID_LEFT, v);
2601 static HRESULT WINAPI HTMLStyle_get_posLeft(IHTMLStyle *iface, float *p)
2603 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2605 TRACE("(%p)->(%p)\n", This, p);
2607 if(!p)
2608 return E_POINTER;
2610 return get_nsstyle_pos(This, STYLEID_LEFT, p);
2613 static HRESULT WINAPI HTMLStyle_put_posWidth(IHTMLStyle *iface, float v)
2615 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2617 TRACE("(%p)->(%f)\n", This, v);
2619 return set_style_pos(This, STYLEID_WIDTH, v);
2622 static HRESULT WINAPI HTMLStyle_get_posWidth(IHTMLStyle *iface, float *p)
2624 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2626 TRACE("(%p)->(%p)\n", This, p);
2628 if(!p)
2629 return E_POINTER;
2631 if(get_nsstyle_pos(This, STYLEID_WIDTH, p) != S_OK)
2632 *p = 0.0f;
2634 return S_OK;
2637 static HRESULT WINAPI HTMLStyle_put_posHeight(IHTMLStyle *iface, float v)
2639 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2641 TRACE("(%p)->(%f)\n", This, v);
2643 return set_style_pos(This, STYLEID_HEIGHT, v);
2646 static HRESULT WINAPI HTMLStyle_get_posHeight(IHTMLStyle *iface, float *p)
2648 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2650 TRACE("(%p)->(%p)\n", This, p);
2652 if(!p)
2653 return E_POINTER;
2655 if(get_nsstyle_pos(This, STYLEID_HEIGHT, p) != S_OK)
2656 *p = 0.0f;
2658 return S_OK;
2661 static HRESULT WINAPI HTMLStyle_put_cursor(IHTMLStyle *iface, BSTR v)
2663 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2665 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2667 return set_style_property(This, STYLEID_CURSOR, v);
2670 static HRESULT WINAPI HTMLStyle_get_cursor(IHTMLStyle *iface, BSTR *p)
2672 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2674 TRACE("(%p)->(%p)\n", This, p);
2676 return get_style_property(This, STYLEID_CURSOR, p);
2679 static HRESULT WINAPI HTMLStyle_put_clip(IHTMLStyle *iface, BSTR v)
2681 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2683 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2685 return set_style_property(This, STYLEID_CLIP, v);
2688 static HRESULT WINAPI HTMLStyle_get_clip(IHTMLStyle *iface, BSTR *p)
2690 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2692 TRACE("(%p)->(%p)\n", This, p);
2694 return get_style_property(This, STYLEID_CLIP, p);
2697 static void set_opacity(HTMLStyle *This, const WCHAR *val)
2699 nsAString name_str, val_str, empty_str;
2700 nsresult nsres;
2702 static const WCHAR opacityW[] = {'o','p','a','c','i','t','y',0};
2704 TRACE("%s\n", debugstr_w(val));
2706 nsAString_InitDepend(&name_str, opacityW);
2707 nsAString_InitDepend(&val_str, val);
2708 nsAString_InitDepend(&empty_str, emptyW);
2710 nsres = nsIDOMCSSStyleDeclaration_SetProperty(This->nsstyle, &name_str, &val_str, &empty_str);
2711 if(NS_FAILED(nsres))
2712 ERR("SetProperty failed: %08x\n", nsres);
2714 nsAString_Finish(&name_str);
2715 nsAString_Finish(&val_str);
2716 nsAString_Finish(&empty_str);
2719 static void update_filter(HTMLStyle *This)
2721 const WCHAR *ptr, *ptr2;
2723 static const WCHAR alphaW[] = {'a','l','p','h','a'};
2725 if(get_style_compat_mode(This) >= COMPAT_MODE_IE10)
2726 return;
2728 ptr = This->elem->filter;
2729 TRACE("%s\n", debugstr_w(ptr));
2730 if(!ptr) {
2731 set_opacity(This, emptyW);
2732 return;
2735 while(1) {
2736 while(isspaceW(*ptr))
2737 ptr++;
2738 if(!*ptr)
2739 break;
2741 ptr2 = ptr;
2742 while(isalnumW(*ptr))
2743 ptr++;
2744 if(ptr == ptr2) {
2745 WARN("unexpected char '%c'\n", *ptr);
2746 break;
2748 if(*ptr != '(') {
2749 WARN("expected '('\n");
2750 continue;
2753 if(ptr2 + ARRAY_SIZE(alphaW) == ptr && !memcmp(ptr2, alphaW, sizeof(alphaW))) {
2754 static const WCHAR formatW[] = {'%','f',0};
2755 static const WCHAR opacityW[] = {'o','p','a','c','i','t','y','='};
2757 ptr++;
2758 do {
2759 while(isspaceW(*ptr))
2760 ptr++;
2762 ptr2 = ptr;
2763 while(*ptr && *ptr != ',' && *ptr != ')')
2764 ptr++;
2765 if(!*ptr) {
2766 WARN("unexpected end of string\n");
2767 break;
2770 if(ptr-ptr2 > ARRAY_SIZE(opacityW) && !memcmp(ptr2, opacityW, sizeof(opacityW))) {
2771 float fval = 0.0f, e = 0.1f;
2772 WCHAR buf[32];
2774 ptr2 += ARRAY_SIZE(opacityW);
2776 while(isdigitW(*ptr2))
2777 fval = fval*10.0f + (float)(*ptr2++ - '0');
2779 if(*ptr2 == '.') {
2780 while(isdigitW(*++ptr2)) {
2781 fval += e * (float)(*ptr2++ - '0');
2782 e *= 0.1f;
2786 sprintfW(buf, formatW, fval * 0.01f);
2787 set_opacity(This, buf);
2788 }else {
2789 FIXME("unknown param %s\n", debugstr_wn(ptr2, ptr-ptr2));
2792 if(*ptr == ',')
2793 ptr++;
2794 }while(*ptr != ')');
2795 }else {
2796 FIXME("unknown filter %s\n", debugstr_wn(ptr2, ptr-ptr2));
2797 ptr = strchrW(ptr, ')');
2798 if(!ptr)
2799 break;
2800 ptr++;
2805 static HRESULT WINAPI HTMLStyle_put_filter(IHTMLStyle *iface, BSTR v)
2807 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2808 WCHAR *new_filter = NULL;
2810 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
2812 if(!This->elem) {
2813 FIXME("Element already destroyed\n");
2814 return E_UNEXPECTED;
2817 if(v) {
2818 new_filter = heap_strdupW(v);
2819 if(!new_filter)
2820 return E_OUTOFMEMORY;
2823 heap_free(This->elem->filter);
2824 This->elem->filter = new_filter;
2826 update_filter(This);
2827 return S_OK;
2830 static HRESULT WINAPI HTMLStyle_get_filter(IHTMLStyle *iface, BSTR *p)
2832 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2834 TRACE("(%p)->(%p)\n", This, p);
2836 if(!This->elem) {
2837 FIXME("Element already destroyed\n");
2838 return E_UNEXPECTED;
2841 if(This->elem->filter) {
2842 *p = SysAllocString(This->elem->filter);
2843 if(!*p)
2844 return E_OUTOFMEMORY;
2845 }else {
2846 *p = NULL;
2849 return S_OK;
2852 static HRESULT WINAPI HTMLStyle_setAttribute(IHTMLStyle *iface, BSTR strAttributeName,
2853 VARIANT AttributeValue, LONG lFlags)
2855 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2856 HRESULT hres;
2857 DISPID dispid;
2859 TRACE("(%p)->(%s %s %08x)\n", This, debugstr_w(strAttributeName),
2860 debugstr_variant(&AttributeValue), lFlags);
2862 if(!strAttributeName)
2863 return E_INVALIDARG;
2865 if(lFlags == 1)
2866 FIXME("Parameter lFlags ignored\n");
2868 hres = HTMLStyle_GetIDsOfNames(iface, &IID_NULL, &strAttributeName, 1,
2869 LOCALE_USER_DEFAULT, &dispid);
2870 if(hres == S_OK)
2872 VARIANT ret;
2873 DISPID dispidNamed = DISPID_PROPERTYPUT;
2874 DISPPARAMS params;
2876 params.cArgs = 1;
2877 params.rgvarg = &AttributeValue;
2878 params.cNamedArgs = 1;
2879 params.rgdispidNamedArgs = &dispidNamed;
2881 hres = HTMLStyle_Invoke(iface, dispid, &IID_NULL, LOCALE_SYSTEM_DEFAULT,
2882 DISPATCH_PROPERTYPUT, &params, &ret, NULL, NULL);
2884 else
2886 FIXME("Custom attributes not supported.\n");
2889 TRACE("ret: %08x\n", hres);
2891 return hres;
2894 static HRESULT WINAPI HTMLStyle_getAttribute(IHTMLStyle *iface, BSTR strAttributeName,
2895 LONG lFlags, VARIANT *AttributeValue)
2897 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2898 HRESULT hres;
2899 DISPID dispid;
2901 TRACE("(%p)->(%s v%p %08x)\n", This, debugstr_w(strAttributeName),
2902 AttributeValue, lFlags);
2904 if(!AttributeValue || !strAttributeName)
2905 return E_INVALIDARG;
2907 if(lFlags == 1)
2908 FIXME("Parameter lFlags ignored\n");
2910 hres = HTMLStyle_GetIDsOfNames(iface, &IID_NULL, &strAttributeName, 1,
2911 LOCALE_USER_DEFAULT, &dispid);
2912 if(hres == S_OK)
2914 DISPPARAMS params = {NULL, NULL, 0, 0 };
2916 hres = HTMLStyle_Invoke(iface, dispid, &IID_NULL, LOCALE_SYSTEM_DEFAULT,
2917 DISPATCH_PROPERTYGET, &params, AttributeValue, NULL, NULL);
2919 else
2921 FIXME("Custom attributes not supported.\n");
2924 return hres;
2927 static HRESULT WINAPI HTMLStyle_removeAttribute(IHTMLStyle *iface, BSTR strAttributeName,
2928 LONG lFlags, VARIANT_BOOL *pfSuccess)
2930 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2931 const style_tbl_entry_t *style_entry;
2932 nsAString name_str, ret_str;
2933 nsresult nsres;
2934 HRESULT hres;
2936 TRACE("(%p)->(%s %08x %p)\n", This, debugstr_w(strAttributeName), lFlags, pfSuccess);
2938 style_entry = lookup_style_tbl(strAttributeName);
2939 if(!style_entry) {
2940 DISPID dispid;
2941 unsigned i;
2943 hres = IDispatchEx_GetDispID(&This->dispex.IDispatchEx_iface, strAttributeName,
2944 (lFlags&1) ? fdexNameCaseSensitive : fdexNameCaseInsensitive, &dispid);
2945 if(hres != S_OK) {
2946 *pfSuccess = VARIANT_FALSE;
2947 return S_OK;
2950 for(i=0; i < ARRAY_SIZE(style_tbl); i++) {
2951 if(dispid == style_tbl[i].dispid)
2952 break;
2955 if(i == ARRAY_SIZE(style_tbl))
2956 return remove_attribute(&This->dispex, dispid, pfSuccess);
2957 style_entry = style_tbl+i;
2960 /* filter property is a special case */
2961 if(style_entry->dispid == DISPID_IHTMLSTYLE_FILTER) {
2962 *pfSuccess = variant_bool(This->elem->filter && *This->elem->filter);
2963 heap_free(This->elem->filter);
2964 This->elem->filter = NULL;
2965 update_filter(This);
2966 return S_OK;
2969 nsAString_InitDepend(&name_str, style_entry->name);
2970 nsAString_Init(&ret_str, NULL);
2971 nsres = nsIDOMCSSStyleDeclaration_RemoveProperty(This->nsstyle, &name_str, &ret_str);
2972 if(NS_SUCCEEDED(nsres)) {
2973 const PRUnichar *ret;
2974 nsAString_GetData(&ret_str, &ret);
2975 *pfSuccess = variant_bool(*ret);
2976 }else {
2977 ERR("RemoveProperty failed: %08x\n", nsres);
2979 nsAString_Finish(&name_str);
2980 nsAString_Finish(&ret_str);
2981 return NS_SUCCEEDED(nsres) ? S_OK : E_FAIL;
2984 static HRESULT WINAPI HTMLStyle_toString(IHTMLStyle *iface, BSTR *String)
2986 HTMLStyle *This = impl_from_IHTMLStyle(iface);
2987 FIXME("(%p)->(%p)\n", This, String);
2988 return E_NOTIMPL;
2991 static const IHTMLStyleVtbl HTMLStyleVtbl = {
2992 HTMLStyle_QueryInterface,
2993 HTMLStyle_AddRef,
2994 HTMLStyle_Release,
2995 HTMLStyle_GetTypeInfoCount,
2996 HTMLStyle_GetTypeInfo,
2997 HTMLStyle_GetIDsOfNames,
2998 HTMLStyle_Invoke,
2999 HTMLStyle_put_fontFamily,
3000 HTMLStyle_get_fontFamily,
3001 HTMLStyle_put_fontStyle,
3002 HTMLStyle_get_fontStyle,
3003 HTMLStyle_put_fontVariant,
3004 HTMLStyle_get_fontVariant,
3005 HTMLStyle_put_fontWeight,
3006 HTMLStyle_get_fontWeight,
3007 HTMLStyle_put_fontSize,
3008 HTMLStyle_get_fontSize,
3009 HTMLStyle_put_font,
3010 HTMLStyle_get_font,
3011 HTMLStyle_put_color,
3012 HTMLStyle_get_color,
3013 HTMLStyle_put_background,
3014 HTMLStyle_get_background,
3015 HTMLStyle_put_backgroundColor,
3016 HTMLStyle_get_backgroundColor,
3017 HTMLStyle_put_backgroundImage,
3018 HTMLStyle_get_backgroundImage,
3019 HTMLStyle_put_backgroundRepeat,
3020 HTMLStyle_get_backgroundRepeat,
3021 HTMLStyle_put_backgroundAttachment,
3022 HTMLStyle_get_backgroundAttachment,
3023 HTMLStyle_put_backgroundPosition,
3024 HTMLStyle_get_backgroundPosition,
3025 HTMLStyle_put_backgroundPositionX,
3026 HTMLStyle_get_backgroundPositionX,
3027 HTMLStyle_put_backgroundPositionY,
3028 HTMLStyle_get_backgroundPositionY,
3029 HTMLStyle_put_wordSpacing,
3030 HTMLStyle_get_wordSpacing,
3031 HTMLStyle_put_letterSpacing,
3032 HTMLStyle_get_letterSpacing,
3033 HTMLStyle_put_textDecoration,
3034 HTMLStyle_get_textDecoration,
3035 HTMLStyle_put_textDecorationNone,
3036 HTMLStyle_get_textDecorationNone,
3037 HTMLStyle_put_textDecorationUnderline,
3038 HTMLStyle_get_textDecorationUnderline,
3039 HTMLStyle_put_textDecorationOverline,
3040 HTMLStyle_get_textDecorationOverline,
3041 HTMLStyle_put_textDecorationLineThrough,
3042 HTMLStyle_get_textDecorationLineThrough,
3043 HTMLStyle_put_textDecorationBlink,
3044 HTMLStyle_get_textDecorationBlink,
3045 HTMLStyle_put_verticalAlign,
3046 HTMLStyle_get_verticalAlign,
3047 HTMLStyle_put_textTransform,
3048 HTMLStyle_get_textTransform,
3049 HTMLStyle_put_textAlign,
3050 HTMLStyle_get_textAlign,
3051 HTMLStyle_put_textIndent,
3052 HTMLStyle_get_textIndent,
3053 HTMLStyle_put_lineHeight,
3054 HTMLStyle_get_lineHeight,
3055 HTMLStyle_put_marginTop,
3056 HTMLStyle_get_marginTop,
3057 HTMLStyle_put_marginRight,
3058 HTMLStyle_get_marginRight,
3059 HTMLStyle_put_marginBottom,
3060 HTMLStyle_get_marginBottom,
3061 HTMLStyle_put_marginLeft,
3062 HTMLStyle_get_marginLeft,
3063 HTMLStyle_put_margin,
3064 HTMLStyle_get_margin,
3065 HTMLStyle_put_paddingTop,
3066 HTMLStyle_get_paddingTop,
3067 HTMLStyle_put_paddingRight,
3068 HTMLStyle_get_paddingRight,
3069 HTMLStyle_put_paddingBottom,
3070 HTMLStyle_get_paddingBottom,
3071 HTMLStyle_put_paddingLeft,
3072 HTMLStyle_get_paddingLeft,
3073 HTMLStyle_put_padding,
3074 HTMLStyle_get_padding,
3075 HTMLStyle_put_border,
3076 HTMLStyle_get_border,
3077 HTMLStyle_put_borderTop,
3078 HTMLStyle_get_borderTop,
3079 HTMLStyle_put_borderRight,
3080 HTMLStyle_get_borderRight,
3081 HTMLStyle_put_borderBottom,
3082 HTMLStyle_get_borderBottom,
3083 HTMLStyle_put_borderLeft,
3084 HTMLStyle_get_borderLeft,
3085 HTMLStyle_put_borderColor,
3086 HTMLStyle_get_borderColor,
3087 HTMLStyle_put_borderTopColor,
3088 HTMLStyle_get_borderTopColor,
3089 HTMLStyle_put_borderRightColor,
3090 HTMLStyle_get_borderRightColor,
3091 HTMLStyle_put_borderBottomColor,
3092 HTMLStyle_get_borderBottomColor,
3093 HTMLStyle_put_borderLeftColor,
3094 HTMLStyle_get_borderLeftColor,
3095 HTMLStyle_put_borderWidth,
3096 HTMLStyle_get_borderWidth,
3097 HTMLStyle_put_borderTopWidth,
3098 HTMLStyle_get_borderTopWidth,
3099 HTMLStyle_put_borderRightWidth,
3100 HTMLStyle_get_borderRightWidth,
3101 HTMLStyle_put_borderBottomWidth,
3102 HTMLStyle_get_borderBottomWidth,
3103 HTMLStyle_put_borderLeftWidth,
3104 HTMLStyle_get_borderLeftWidth,
3105 HTMLStyle_put_borderStyle,
3106 HTMLStyle_get_borderStyle,
3107 HTMLStyle_put_borderTopStyle,
3108 HTMLStyle_get_borderTopStyle,
3109 HTMLStyle_put_borderRightStyle,
3110 HTMLStyle_get_borderRightStyle,
3111 HTMLStyle_put_borderBottomStyle,
3112 HTMLStyle_get_borderBottomStyle,
3113 HTMLStyle_put_borderLeftStyle,
3114 HTMLStyle_get_borderLeftStyle,
3115 HTMLStyle_put_width,
3116 HTMLStyle_get_width,
3117 HTMLStyle_put_height,
3118 HTMLStyle_get_height,
3119 HTMLStyle_put_styleFloat,
3120 HTMLStyle_get_styleFloat,
3121 HTMLStyle_put_clear,
3122 HTMLStyle_get_clear,
3123 HTMLStyle_put_display,
3124 HTMLStyle_get_display,
3125 HTMLStyle_put_visibility,
3126 HTMLStyle_get_visibility,
3127 HTMLStyle_put_listStyleType,
3128 HTMLStyle_get_listStyleType,
3129 HTMLStyle_put_listStylePosition,
3130 HTMLStyle_get_listStylePosition,
3131 HTMLStyle_put_listStyleImage,
3132 HTMLStyle_get_listStyleImage,
3133 HTMLStyle_put_listStyle,
3134 HTMLStyle_get_listStyle,
3135 HTMLStyle_put_whiteSpace,
3136 HTMLStyle_get_whiteSpace,
3137 HTMLStyle_put_top,
3138 HTMLStyle_get_top,
3139 HTMLStyle_put_left,
3140 HTMLStyle_get_left,
3141 HTMLStyle_get_position,
3142 HTMLStyle_put_zIndex,
3143 HTMLStyle_get_zIndex,
3144 HTMLStyle_put_overflow,
3145 HTMLStyle_get_overflow,
3146 HTMLStyle_put_pageBreakBefore,
3147 HTMLStyle_get_pageBreakBefore,
3148 HTMLStyle_put_pageBreakAfter,
3149 HTMLStyle_get_pageBreakAfter,
3150 HTMLStyle_put_cssText,
3151 HTMLStyle_get_cssText,
3152 HTMLStyle_put_pixelTop,
3153 HTMLStyle_get_pixelTop,
3154 HTMLStyle_put_pixelLeft,
3155 HTMLStyle_get_pixelLeft,
3156 HTMLStyle_put_pixelWidth,
3157 HTMLStyle_get_pixelWidth,
3158 HTMLStyle_put_pixelHeight,
3159 HTMLStyle_get_pixelHeight,
3160 HTMLStyle_put_posTop,
3161 HTMLStyle_get_posTop,
3162 HTMLStyle_put_posLeft,
3163 HTMLStyle_get_posLeft,
3164 HTMLStyle_put_posWidth,
3165 HTMLStyle_get_posWidth,
3166 HTMLStyle_put_posHeight,
3167 HTMLStyle_get_posHeight,
3168 HTMLStyle_put_cursor,
3169 HTMLStyle_get_cursor,
3170 HTMLStyle_put_clip,
3171 HTMLStyle_get_clip,
3172 HTMLStyle_put_filter,
3173 HTMLStyle_get_filter,
3174 HTMLStyle_setAttribute,
3175 HTMLStyle_getAttribute,
3176 HTMLStyle_removeAttribute,
3177 HTMLStyle_toString
3180 static inline HTMLStyle *impl_from_IHTMLStyle2(IHTMLStyle2 *iface)
3182 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle2_iface);
3185 static HRESULT WINAPI HTMLStyle2_QueryInterface(IHTMLStyle2 *iface, REFIID riid, void **ppv)
3187 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3189 return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv);
3192 static ULONG WINAPI HTMLStyle2_AddRef(IHTMLStyle2 *iface)
3194 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3196 return IHTMLStyle_AddRef(&This->IHTMLStyle_iface);
3199 static ULONG WINAPI HTMLStyle2_Release(IHTMLStyle2 *iface)
3201 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3203 return IHTMLStyle_Release(&This->IHTMLStyle_iface);
3206 static HRESULT WINAPI HTMLStyle2_GetTypeInfoCount(IHTMLStyle2 *iface, UINT *pctinfo)
3208 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3209 return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
3212 static HRESULT WINAPI HTMLStyle2_GetTypeInfo(IHTMLStyle2 *iface, UINT iTInfo,
3213 LCID lcid, ITypeInfo **ppTInfo)
3215 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3216 return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
3219 static HRESULT WINAPI HTMLStyle2_GetIDsOfNames(IHTMLStyle2 *iface, REFIID riid,
3220 LPOLESTR *rgszNames, UINT cNames,
3221 LCID lcid, DISPID *rgDispId)
3223 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3224 return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames,
3225 lcid, rgDispId);
3228 static HRESULT WINAPI HTMLStyle2_Invoke(IHTMLStyle2 *iface, DISPID dispIdMember,
3229 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
3230 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
3232 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3233 return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid,
3234 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
3237 static HRESULT WINAPI HTMLStyle2_put_tableLayout(IHTMLStyle2 *iface, BSTR v)
3239 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3241 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
3243 return set_style_property(This, STYLEID_TABLE_LAYOUT, v);
3246 static HRESULT WINAPI HTMLStyle2_get_tableLayout(IHTMLStyle2 *iface, BSTR *p)
3248 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3250 TRACE("(%p)->(%p)\n", This, p);
3252 return get_style_property(This, STYLEID_TABLE_LAYOUT, p);
3255 static HRESULT WINAPI HTMLStyle2_put_borderCollapse(IHTMLStyle2 *iface, BSTR v)
3257 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3258 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3259 return E_NOTIMPL;
3262 static HRESULT WINAPI HTMLStyle2_get_borderCollapse(IHTMLStyle2 *iface, BSTR *p)
3264 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3265 FIXME("(%p)->(%p)\n", This, p);
3266 return E_NOTIMPL;
3269 static HRESULT WINAPI HTMLStyle2_put_direction(IHTMLStyle2 *iface, BSTR v)
3271 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3273 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
3275 return set_style_property(This, STYLEID_DIRECTION, v);
3278 static HRESULT WINAPI HTMLStyle2_get_direction(IHTMLStyle2 *iface, BSTR *p)
3280 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3282 TRACE("(%p)->(%p)\n", This, p);
3284 return get_style_property(This, STYLEID_DIRECTION, p);
3287 static HRESULT WINAPI HTMLStyle2_put_behavior(IHTMLStyle2 *iface, BSTR v)
3289 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3290 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3291 return S_OK;
3294 static HRESULT WINAPI HTMLStyle2_get_behavior(IHTMLStyle2 *iface, BSTR *p)
3296 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3297 FIXME("(%p)->(%p)\n", This, p);
3298 return E_NOTIMPL;
3301 static HRESULT WINAPI HTMLStyle2_setExpression(IHTMLStyle2 *iface, BSTR propname, BSTR expression, BSTR language)
3303 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3304 FIXME("(%p)->(%s %s %s)\n", This, debugstr_w(propname), debugstr_w(expression), debugstr_w(language));
3305 return E_NOTIMPL;
3308 static HRESULT WINAPI HTMLStyle2_getExpression(IHTMLStyle2 *iface, BSTR propname, VARIANT *expression)
3310 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3311 FIXME("(%p)->(%s %p)\n", This, debugstr_w(propname), expression);
3312 return E_NOTIMPL;
3315 static HRESULT WINAPI HTMLStyle2_removeExpression(IHTMLStyle2 *iface, BSTR propname, VARIANT_BOOL *pfSuccess)
3317 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3318 FIXME("(%p)->(%s %p)\n", This, debugstr_w(propname), pfSuccess);
3319 return E_NOTIMPL;
3322 static HRESULT WINAPI HTMLStyle2_put_position(IHTMLStyle2 *iface, BSTR v)
3324 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3326 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
3328 return set_style_property(This, STYLEID_POSITION, v);
3331 static HRESULT WINAPI HTMLStyle2_get_position(IHTMLStyle2 *iface, BSTR *p)
3333 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3335 TRACE("(%p)->(%p)\n", This, p);
3337 return get_style_property(This, STYLEID_POSITION, p);
3340 static HRESULT WINAPI HTMLStyle2_put_unicodeBidi(IHTMLStyle2 *iface, BSTR v)
3342 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3343 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3344 return E_NOTIMPL;
3347 static HRESULT WINAPI HTMLStyle2_get_unicodeBidi(IHTMLStyle2 *iface, BSTR *p)
3349 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3350 FIXME("(%p)->(%p)\n", This, p);
3351 return E_NOTIMPL;
3354 static HRESULT WINAPI HTMLStyle2_put_bottom(IHTMLStyle2 *iface, VARIANT v)
3356 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3358 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
3360 return set_style_property_var(This, STYLEID_BOTTOM, &v);
3363 static HRESULT WINAPI HTMLStyle2_get_bottom(IHTMLStyle2 *iface, VARIANT *p)
3365 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3367 TRACE("(%p)->(%p)\n", This, p);
3369 return get_style_property_var(This, STYLEID_BOTTOM, p);
3372 static HRESULT WINAPI HTMLStyle2_put_right(IHTMLStyle2 *iface, VARIANT v)
3374 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3376 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
3378 return set_style_property_var(This, STYLEID_RIGHT, &v);
3381 static HRESULT WINAPI HTMLStyle2_get_right(IHTMLStyle2 *iface, VARIANT *p)
3383 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3385 TRACE("(%p)->(%p)\n", This, p);
3387 return get_style_property_var(This, STYLEID_RIGHT, p);
3390 static HRESULT WINAPI HTMLStyle2_put_pixelBottom(IHTMLStyle2 *iface, LONG v)
3392 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3393 FIXME("(%p)->(%d)\n", This, v);
3394 return E_NOTIMPL;
3397 static HRESULT WINAPI HTMLStyle2_get_pixelBottom(IHTMLStyle2 *iface, LONG *p)
3399 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3400 FIXME("(%p)->(%p)\n", This, p);
3401 return E_NOTIMPL;
3404 static HRESULT WINAPI HTMLStyle2_put_pixelRight(IHTMLStyle2 *iface, LONG v)
3406 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3407 FIXME("(%p)->(%d)\n", This, v);
3408 return E_NOTIMPL;
3411 static HRESULT WINAPI HTMLStyle2_get_pixelRight(IHTMLStyle2 *iface, LONG *p)
3413 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3414 FIXME("(%p)->(%p)\n", This, p);
3415 return E_NOTIMPL;
3418 static HRESULT WINAPI HTMLStyle2_put_posBottom(IHTMLStyle2 *iface, float v)
3420 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3421 FIXME("(%p)->(%f)\n", This, v);
3422 return E_NOTIMPL;
3425 static HRESULT WINAPI HTMLStyle2_get_posBottom(IHTMLStyle2 *iface, float *p)
3427 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3428 FIXME("(%p)->(%p)\n", This, p);
3429 return E_NOTIMPL;
3432 static HRESULT WINAPI HTMLStyle2_put_posRight(IHTMLStyle2 *iface, float v)
3434 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3435 FIXME("(%p)->(%f)\n", This, v);
3436 return E_NOTIMPL;
3439 static HRESULT WINAPI HTMLStyle2_get_posRight(IHTMLStyle2 *iface, float *p)
3441 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3442 FIXME("(%p)->(%p)\n", This, p);
3443 return E_NOTIMPL;
3446 static HRESULT WINAPI HTMLStyle2_put_imeMode(IHTMLStyle2 *iface, BSTR v)
3448 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3449 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3450 return E_NOTIMPL;
3453 static HRESULT WINAPI HTMLStyle2_get_imeMode(IHTMLStyle2 *iface, BSTR *p)
3455 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3456 FIXME("(%p)->(%p)\n", This, p);
3457 return E_NOTIMPL;
3460 static HRESULT WINAPI HTMLStyle2_put_rubyAlign(IHTMLStyle2 *iface, BSTR v)
3462 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3463 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3464 return E_NOTIMPL;
3467 static HRESULT WINAPI HTMLStyle2_get_rubyAlign(IHTMLStyle2 *iface, BSTR *p)
3469 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3470 FIXME("(%p)->(%p)\n", This, p);
3471 return E_NOTIMPL;
3474 static HRESULT WINAPI HTMLStyle2_put_rubyPosition(IHTMLStyle2 *iface, BSTR v)
3476 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3477 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3478 return E_NOTIMPL;
3481 static HRESULT WINAPI HTMLStyle2_get_rubyPosition(IHTMLStyle2 *iface, BSTR *p)
3483 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3484 FIXME("(%p)->(%p)\n", This, p);
3485 return E_NOTIMPL;
3488 static HRESULT WINAPI HTMLStyle2_put_rubyOverhang(IHTMLStyle2 *iface, BSTR v)
3490 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3491 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3492 return E_NOTIMPL;
3495 static HRESULT WINAPI HTMLStyle2_get_rubyOverhang(IHTMLStyle2 *iface, BSTR *p)
3497 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3498 FIXME("(%p)->(%p)\n", This, p);
3499 return E_NOTIMPL;
3502 static HRESULT WINAPI HTMLStyle2_put_layoutGridChar(IHTMLStyle2 *iface, VARIANT v)
3504 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3505 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
3506 return E_NOTIMPL;
3509 static HRESULT WINAPI HTMLStyle2_get_layoutGridChar(IHTMLStyle2 *iface, VARIANT *p)
3511 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3512 FIXME("(%p)->(%p)\n", This, p);
3513 return E_NOTIMPL;
3516 static HRESULT WINAPI HTMLStyle2_put_layoutGridLine(IHTMLStyle2 *iface, VARIANT v)
3518 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3519 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
3520 return E_NOTIMPL;
3523 static HRESULT WINAPI HTMLStyle2_get_layoutGridLine(IHTMLStyle2 *iface, VARIANT *p)
3525 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3526 FIXME("(%p)->(%p)\n", This, p);
3527 return E_NOTIMPL;
3530 static HRESULT WINAPI HTMLStyle2_put_layoutGridMode(IHTMLStyle2 *iface, BSTR v)
3532 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3533 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3534 return E_NOTIMPL;
3537 static HRESULT WINAPI HTMLStyle2_get_layoutGridMode(IHTMLStyle2 *iface, BSTR *p)
3539 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3540 FIXME("(%p)->(%p)\n", This, p);
3541 return E_NOTIMPL;
3544 static HRESULT WINAPI HTMLStyle2_put_layoutGridType(IHTMLStyle2 *iface, BSTR v)
3546 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3547 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3548 return E_NOTIMPL;
3551 static HRESULT WINAPI HTMLStyle2_get_layoutGridType(IHTMLStyle2 *iface, BSTR *p)
3553 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3554 FIXME("(%p)->(%p)\n", This, p);
3555 return E_NOTIMPL;
3558 static HRESULT WINAPI HTMLStyle2_put_layoutGrid(IHTMLStyle2 *iface, BSTR v)
3560 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3561 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3562 return E_NOTIMPL;
3565 static HRESULT WINAPI HTMLStyle2_get_layoutGrid(IHTMLStyle2 *iface, BSTR *p)
3567 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3568 FIXME("(%p)->(%p)\n", This, p);
3569 return E_NOTIMPL;
3572 static HRESULT WINAPI HTMLStyle2_put_wordBreak(IHTMLStyle2 *iface, BSTR v)
3574 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3575 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3576 return E_NOTIMPL;
3579 static HRESULT WINAPI HTMLStyle2_get_wordBreak(IHTMLStyle2 *iface, BSTR *p)
3581 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3582 FIXME("(%p)->(%p)\n", This, p);
3583 return E_NOTIMPL;
3586 static HRESULT WINAPI HTMLStyle2_put_lineBreak(IHTMLStyle2 *iface, BSTR v)
3588 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3589 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3590 return E_NOTIMPL;
3593 static HRESULT WINAPI HTMLStyle2_get_lineBreak(IHTMLStyle2 *iface, BSTR *p)
3595 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3596 FIXME("(%p)->(%p)\n", This, p);
3597 return E_NOTIMPL;
3600 static HRESULT WINAPI HTMLStyle2_put_textJustify(IHTMLStyle2 *iface, BSTR v)
3602 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3603 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3604 return E_NOTIMPL;
3607 static HRESULT WINAPI HTMLStyle2_get_textJustify(IHTMLStyle2 *iface, BSTR *p)
3609 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3610 FIXME("(%p)->(%p)\n", This, p);
3611 return E_NOTIMPL;
3614 static HRESULT WINAPI HTMLStyle2_put_textJustifyTrim(IHTMLStyle2 *iface, BSTR v)
3616 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3617 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3618 return E_NOTIMPL;
3621 static HRESULT WINAPI HTMLStyle2_get_textJustifyTrim(IHTMLStyle2 *iface, BSTR *p)
3623 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3624 FIXME("(%p)->(%p)\n", This, p);
3625 return E_NOTIMPL;
3628 static HRESULT WINAPI HTMLStyle2_put_textKashida(IHTMLStyle2 *iface, VARIANT v)
3630 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3631 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
3632 return E_NOTIMPL;
3635 static HRESULT WINAPI HTMLStyle2_get_textKashida(IHTMLStyle2 *iface, VARIANT *p)
3637 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3638 FIXME("(%p)->(%p)\n", This, p);
3639 return E_NOTIMPL;
3642 static HRESULT WINAPI HTMLStyle2_put_textAutospace(IHTMLStyle2 *iface, BSTR v)
3644 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3645 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3646 return E_NOTIMPL;
3649 static HRESULT WINAPI HTMLStyle2_get_textAutospace(IHTMLStyle2 *iface, BSTR *p)
3651 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3652 FIXME("(%p)->(%p)\n", This, p);
3653 return E_NOTIMPL;
3656 static HRESULT WINAPI HTMLStyle2_put_overflowX(IHTMLStyle2 *iface, BSTR v)
3658 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3660 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
3662 return set_style_property(This, STYLEID_OVERFLOW_X, v);
3665 static HRESULT WINAPI HTMLStyle2_get_overflowX(IHTMLStyle2 *iface, BSTR *p)
3667 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3669 TRACE("(%p)->(%p)\n", This, p);
3671 return get_style_property(This, STYLEID_OVERFLOW_X, p);
3674 static HRESULT WINAPI HTMLStyle2_put_overflowY(IHTMLStyle2 *iface, BSTR v)
3676 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3678 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
3680 return set_style_property(This, STYLEID_OVERFLOW_Y, v);
3683 static HRESULT WINAPI HTMLStyle2_get_overflowY(IHTMLStyle2 *iface, BSTR *p)
3685 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3687 TRACE("(%p)->(%p)\n", This, p);
3689 return get_style_property(This, STYLEID_OVERFLOW_Y, p);
3692 static HRESULT WINAPI HTMLStyle2_put_accelerator(IHTMLStyle2 *iface, BSTR v)
3694 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3695 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3696 return E_NOTIMPL;
3699 static HRESULT WINAPI HTMLStyle2_get_accelerator(IHTMLStyle2 *iface, BSTR *p)
3701 HTMLStyle *This = impl_from_IHTMLStyle2(iface);
3702 FIXME("(%p)->(%p)\n", This, p);
3703 return E_NOTIMPL;
3706 static const IHTMLStyle2Vtbl HTMLStyle2Vtbl = {
3707 HTMLStyle2_QueryInterface,
3708 HTMLStyle2_AddRef,
3709 HTMLStyle2_Release,
3710 HTMLStyle2_GetTypeInfoCount,
3711 HTMLStyle2_GetTypeInfo,
3712 HTMLStyle2_GetIDsOfNames,
3713 HTMLStyle2_Invoke,
3714 HTMLStyle2_put_tableLayout,
3715 HTMLStyle2_get_tableLayout,
3716 HTMLStyle2_put_borderCollapse,
3717 HTMLStyle2_get_borderCollapse,
3718 HTMLStyle2_put_direction,
3719 HTMLStyle2_get_direction,
3720 HTMLStyle2_put_behavior,
3721 HTMLStyle2_get_behavior,
3722 HTMLStyle2_setExpression,
3723 HTMLStyle2_getExpression,
3724 HTMLStyle2_removeExpression,
3725 HTMLStyle2_put_position,
3726 HTMLStyle2_get_position,
3727 HTMLStyle2_put_unicodeBidi,
3728 HTMLStyle2_get_unicodeBidi,
3729 HTMLStyle2_put_bottom,
3730 HTMLStyle2_get_bottom,
3731 HTMLStyle2_put_right,
3732 HTMLStyle2_get_right,
3733 HTMLStyle2_put_pixelBottom,
3734 HTMLStyle2_get_pixelBottom,
3735 HTMLStyle2_put_pixelRight,
3736 HTMLStyle2_get_pixelRight,
3737 HTMLStyle2_put_posBottom,
3738 HTMLStyle2_get_posBottom,
3739 HTMLStyle2_put_posRight,
3740 HTMLStyle2_get_posRight,
3741 HTMLStyle2_put_imeMode,
3742 HTMLStyle2_get_imeMode,
3743 HTMLStyle2_put_rubyAlign,
3744 HTMLStyle2_get_rubyAlign,
3745 HTMLStyle2_put_rubyPosition,
3746 HTMLStyle2_get_rubyPosition,
3747 HTMLStyle2_put_rubyOverhang,
3748 HTMLStyle2_get_rubyOverhang,
3749 HTMLStyle2_put_layoutGridChar,
3750 HTMLStyle2_get_layoutGridChar,
3751 HTMLStyle2_put_layoutGridLine,
3752 HTMLStyle2_get_layoutGridLine,
3753 HTMLStyle2_put_layoutGridMode,
3754 HTMLStyle2_get_layoutGridMode,
3755 HTMLStyle2_put_layoutGridType,
3756 HTMLStyle2_get_layoutGridType,
3757 HTMLStyle2_put_layoutGrid,
3758 HTMLStyle2_get_layoutGrid,
3759 HTMLStyle2_put_wordBreak,
3760 HTMLStyle2_get_wordBreak,
3761 HTMLStyle2_put_lineBreak,
3762 HTMLStyle2_get_lineBreak,
3763 HTMLStyle2_put_textJustify,
3764 HTMLStyle2_get_textJustify,
3765 HTMLStyle2_put_textJustifyTrim,
3766 HTMLStyle2_get_textJustifyTrim,
3767 HTMLStyle2_put_textKashida,
3768 HTMLStyle2_get_textKashida,
3769 HTMLStyle2_put_textAutospace,
3770 HTMLStyle2_get_textAutospace,
3771 HTMLStyle2_put_overflowX,
3772 HTMLStyle2_get_overflowX,
3773 HTMLStyle2_put_overflowY,
3774 HTMLStyle2_get_overflowY,
3775 HTMLStyle2_put_accelerator,
3776 HTMLStyle2_get_accelerator
3779 static inline HTMLStyle *impl_from_IHTMLStyle3(IHTMLStyle3 *iface)
3781 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle3_iface);
3784 static HRESULT WINAPI HTMLStyle3_QueryInterface(IHTMLStyle3 *iface, REFIID riid, void **ppv)
3786 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3788 return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv);
3791 static ULONG WINAPI HTMLStyle3_AddRef(IHTMLStyle3 *iface)
3793 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3795 return IHTMLStyle_AddRef(&This->IHTMLStyle_iface);
3798 static ULONG WINAPI HTMLStyle3_Release(IHTMLStyle3 *iface)
3800 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3802 return IHTMLStyle_Release(&This->IHTMLStyle_iface);
3805 static HRESULT WINAPI HTMLStyle3_GetTypeInfoCount(IHTMLStyle3 *iface, UINT *pctinfo)
3807 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3808 return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
3811 static HRESULT WINAPI HTMLStyle3_GetTypeInfo(IHTMLStyle3 *iface, UINT iTInfo,
3812 LCID lcid, ITypeInfo **ppTInfo)
3814 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3815 return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
3818 static HRESULT WINAPI HTMLStyle3_GetIDsOfNames(IHTMLStyle3 *iface, REFIID riid,
3819 LPOLESTR *rgszNames, UINT cNames,
3820 LCID lcid, DISPID *rgDispId)
3822 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3823 return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames,
3824 lcid, rgDispId);
3827 static HRESULT WINAPI HTMLStyle3_Invoke(IHTMLStyle3 *iface, DISPID dispIdMember,
3828 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
3829 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
3831 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3832 return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid,
3833 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
3836 static HRESULT WINAPI HTMLStyle3_put_layoutFlow(IHTMLStyle3 *iface, BSTR v)
3838 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3839 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3840 return E_NOTIMPL;
3843 static HRESULT WINAPI HTMLStyle3_get_layoutFlow(IHTMLStyle3 *iface, BSTR *p)
3845 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3846 FIXME("(%p)->(%p)\n", This, p);
3847 return E_NOTIMPL;
3850 static const WCHAR zoomW[] = {'z','o','o','m',0};
3852 static HRESULT WINAPI HTMLStyle3_put_zoom(IHTMLStyle3 *iface, VARIANT v)
3854 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3855 VARIANT *var;
3856 HRESULT hres;
3858 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
3860 /* zoom property is IE CSS extension that is mostly used as a hack to workaround IE bugs.
3861 * The value is set to 1 then. We can safely ignore setting zoom to 1. */
3862 if(V_VT(&v) != VT_I4 || V_I4(&v) != 1)
3863 WARN("stub for %s\n", debugstr_variant(&v));
3865 hres = dispex_get_dprop_ref(&This->dispex, zoomW, TRUE, &var);
3866 if(FAILED(hres))
3867 return hres;
3869 return VariantChangeType(var, &v, 0, VT_BSTR);
3872 static HRESULT WINAPI HTMLStyle3_get_zoom(IHTMLStyle3 *iface, VARIANT *p)
3874 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3875 VARIANT *var;
3876 HRESULT hres;
3878 TRACE("(%p)->(%p)\n", This, p);
3880 hres = dispex_get_dprop_ref(&This->dispex, zoomW, FALSE, &var);
3881 if(hres == DISP_E_UNKNOWNNAME) {
3882 V_VT(p) = VT_BSTR;
3883 V_BSTR(p) = NULL;
3884 return S_OK;
3886 if(FAILED(hres))
3887 return hres;
3889 return VariantCopy(p, var);
3892 static HRESULT WINAPI HTMLStyle3_put_wordWrap(IHTMLStyle3 *iface, BSTR v)
3894 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3896 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
3898 return set_style_property(This, STYLEID_WORD_WRAP, v);
3901 static HRESULT WINAPI HTMLStyle3_get_wordWrap(IHTMLStyle3 *iface, BSTR *p)
3903 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3905 TRACE("(%p)->(%p)\n", This, p);
3907 return get_style_property(This, STYLEID_WORD_WRAP, p);
3910 static HRESULT WINAPI HTMLStyle3_put_textUnderlinePosition(IHTMLStyle3 *iface, BSTR v)
3912 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3913 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
3914 return E_NOTIMPL;
3917 static HRESULT WINAPI HTMLStyle3_get_textUnderlinePosition(IHTMLStyle3 *iface, BSTR *p)
3919 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3920 FIXME("(%p)->(%p)\n", This, p);
3921 return E_NOTIMPL;
3924 static HRESULT WINAPI HTMLStyle3_put_scrollbarBaseColor(IHTMLStyle3 *iface, VARIANT v)
3926 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3927 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
3928 return E_NOTIMPL;
3931 static HRESULT WINAPI HTMLStyle3_get_scrollbarBaseColor(IHTMLStyle3 *iface, VARIANT *p)
3933 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3934 FIXME("(%p)->(%p)\n", This, p);
3935 return E_NOTIMPL;
3938 static HRESULT WINAPI HTMLStyle3_put_scrollbarFaceColor(IHTMLStyle3 *iface, VARIANT v)
3940 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3941 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
3942 return E_NOTIMPL;
3945 static HRESULT WINAPI HTMLStyle3_get_scrollbarFaceColor(IHTMLStyle3 *iface, VARIANT *p)
3947 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3948 FIXME("(%p)->(%p)\n", This, p);
3949 return E_NOTIMPL;
3952 static HRESULT WINAPI HTMLStyle3_put_scrollbar3dLightColor(IHTMLStyle3 *iface, VARIANT v)
3954 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3955 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
3956 return E_NOTIMPL;
3959 static HRESULT WINAPI HTMLStyle3_get_scrollbar3dLightColor(IHTMLStyle3 *iface, VARIANT *p)
3961 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3962 FIXME("(%p)->(%p)\n", This, p);
3963 return E_NOTIMPL;
3966 static HRESULT WINAPI HTMLStyle3_put_scrollbarShadowColor(IHTMLStyle3 *iface, VARIANT v)
3968 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3969 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
3970 return E_NOTIMPL;
3973 static HRESULT WINAPI HTMLStyle3_get_scrollbarShadowColor(IHTMLStyle3 *iface, VARIANT *p)
3975 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3976 FIXME("(%p)->(%p)\n", This, p);
3977 return E_NOTIMPL;
3980 static HRESULT WINAPI HTMLStyle3_put_scrollbarHighlightColor(IHTMLStyle3 *iface, VARIANT v)
3982 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3983 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
3984 return E_NOTIMPL;
3987 static HRESULT WINAPI HTMLStyle3_get_scrollbarHighlightColor(IHTMLStyle3 *iface, VARIANT *p)
3989 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3990 FIXME("(%p)->(%p)\n", This, p);
3991 return E_NOTIMPL;
3994 static HRESULT WINAPI HTMLStyle3_put_scrollbarDarkShadowColor(IHTMLStyle3 *iface, VARIANT v)
3996 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
3997 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
3998 return E_NOTIMPL;
4001 static HRESULT WINAPI HTMLStyle3_get_scrollbarDarkShadowColor(IHTMLStyle3 *iface, VARIANT *p)
4003 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
4004 FIXME("(%p)->(%p)\n", This, p);
4005 return E_NOTIMPL;
4008 static HRESULT WINAPI HTMLStyle3_put_scrollbarArrowColor(IHTMLStyle3 *iface, VARIANT v)
4010 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
4011 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
4012 return E_NOTIMPL;
4015 static HRESULT WINAPI HTMLStyle3_get_scrollbarArrowColor(IHTMLStyle3 *iface, VARIANT *p)
4017 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
4018 FIXME("(%p)->(%p)\n", This, p);
4019 return E_NOTIMPL;
4022 static HRESULT WINAPI HTMLStyle3_put_scrollbarTrackColor(IHTMLStyle3 *iface, VARIANT v)
4024 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
4025 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
4026 return E_NOTIMPL;
4029 static HRESULT WINAPI HTMLStyle3_get_scrollbarTrackColor(IHTMLStyle3 *iface, VARIANT *p)
4031 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
4032 FIXME("(%p)->(%p)\n", This, p);
4033 return E_NOTIMPL;
4036 static HRESULT WINAPI HTMLStyle3_put_writingMode(IHTMLStyle3 *iface, BSTR v)
4038 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
4039 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4040 return E_NOTIMPL;
4043 static HRESULT WINAPI HTMLStyle3_get_writingMode(IHTMLStyle3 *iface, BSTR *p)
4045 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
4046 FIXME("(%p)->(%p)\n", This, p);
4047 return E_NOTIMPL;
4050 static HRESULT WINAPI HTMLStyle3_put_textAlignLast(IHTMLStyle3 *iface, BSTR v)
4052 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
4053 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4054 return E_NOTIMPL;
4057 static HRESULT WINAPI HTMLStyle3_get_textAlignLast(IHTMLStyle3 *iface, BSTR *p)
4059 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
4060 FIXME("(%p)->(%p)\n", This, p);
4061 return E_NOTIMPL;
4064 static HRESULT WINAPI HTMLStyle3_put_textKashidaSpace(IHTMLStyle3 *iface, VARIANT v)
4066 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
4067 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
4068 return E_NOTIMPL;
4071 static HRESULT WINAPI HTMLStyle3_get_textKashidaSpace(IHTMLStyle3 *iface, VARIANT *p)
4073 HTMLStyle *This = impl_from_IHTMLStyle3(iface);
4074 FIXME("(%p)->(%p)\n", This, p);
4075 return E_NOTIMPL;
4078 static const IHTMLStyle3Vtbl HTMLStyle3Vtbl = {
4079 HTMLStyle3_QueryInterface,
4080 HTMLStyle3_AddRef,
4081 HTMLStyle3_Release,
4082 HTMLStyle3_GetTypeInfoCount,
4083 HTMLStyle3_GetTypeInfo,
4084 HTMLStyle3_GetIDsOfNames,
4085 HTMLStyle3_Invoke,
4086 HTMLStyle3_put_layoutFlow,
4087 HTMLStyle3_get_layoutFlow,
4088 HTMLStyle3_put_zoom,
4089 HTMLStyle3_get_zoom,
4090 HTMLStyle3_put_wordWrap,
4091 HTMLStyle3_get_wordWrap,
4092 HTMLStyle3_put_textUnderlinePosition,
4093 HTMLStyle3_get_textUnderlinePosition,
4094 HTMLStyle3_put_scrollbarBaseColor,
4095 HTMLStyle3_get_scrollbarBaseColor,
4096 HTMLStyle3_put_scrollbarFaceColor,
4097 HTMLStyle3_get_scrollbarFaceColor,
4098 HTMLStyle3_put_scrollbar3dLightColor,
4099 HTMLStyle3_get_scrollbar3dLightColor,
4100 HTMLStyle3_put_scrollbarShadowColor,
4101 HTMLStyle3_get_scrollbarShadowColor,
4102 HTMLStyle3_put_scrollbarHighlightColor,
4103 HTMLStyle3_get_scrollbarHighlightColor,
4104 HTMLStyle3_put_scrollbarDarkShadowColor,
4105 HTMLStyle3_get_scrollbarDarkShadowColor,
4106 HTMLStyle3_put_scrollbarArrowColor,
4107 HTMLStyle3_get_scrollbarArrowColor,
4108 HTMLStyle3_put_scrollbarTrackColor,
4109 HTMLStyle3_get_scrollbarTrackColor,
4110 HTMLStyle3_put_writingMode,
4111 HTMLStyle3_get_writingMode,
4112 HTMLStyle3_put_textAlignLast,
4113 HTMLStyle3_get_textAlignLast,
4114 HTMLStyle3_put_textKashidaSpace,
4115 HTMLStyle3_get_textKashidaSpace
4119 * IHTMLStyle4 Interface
4121 static inline HTMLStyle *impl_from_IHTMLStyle4(IHTMLStyle4 *iface)
4123 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle4_iface);
4126 static HRESULT WINAPI HTMLStyle4_QueryInterface(IHTMLStyle4 *iface, REFIID riid, void **ppv)
4128 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
4130 return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv);
4133 static ULONG WINAPI HTMLStyle4_AddRef(IHTMLStyle4 *iface)
4135 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
4137 return IHTMLStyle_AddRef(&This->IHTMLStyle_iface);
4140 static ULONG WINAPI HTMLStyle4_Release(IHTMLStyle4 *iface)
4142 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
4144 return IHTMLStyle_Release(&This->IHTMLStyle_iface);
4147 static HRESULT WINAPI HTMLStyle4_GetTypeInfoCount(IHTMLStyle4 *iface, UINT *pctinfo)
4149 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
4150 return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
4153 static HRESULT WINAPI HTMLStyle4_GetTypeInfo(IHTMLStyle4 *iface, UINT iTInfo,
4154 LCID lcid, ITypeInfo **ppTInfo)
4156 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
4157 return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
4160 static HRESULT WINAPI HTMLStyle4_GetIDsOfNames(IHTMLStyle4 *iface, REFIID riid,
4161 LPOLESTR *rgszNames, UINT cNames,
4162 LCID lcid, DISPID *rgDispId)
4164 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
4165 return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames,
4166 lcid, rgDispId);
4169 static HRESULT WINAPI HTMLStyle4_Invoke(IHTMLStyle4 *iface, DISPID dispIdMember,
4170 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
4171 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
4173 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
4174 return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid,
4175 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
4178 static HRESULT WINAPI HTMLStyle4_put_textOverflow(IHTMLStyle4 *iface, BSTR v)
4180 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
4181 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4182 return E_NOTIMPL;
4185 static HRESULT WINAPI HTMLStyle4_get_textOverflow(IHTMLStyle4 *iface, BSTR *p)
4187 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
4188 FIXME("(%p)->(%p)\n", This, p);
4189 return E_NOTIMPL;
4192 static HRESULT WINAPI HTMLStyle4_put_minHeight(IHTMLStyle4 *iface, VARIANT v)
4194 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
4196 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
4198 return set_style_property_var(This, STYLEID_MIN_HEIGHT, &v);
4201 static HRESULT WINAPI HTMLStyle4_get_minHeight(IHTMLStyle4 *iface, VARIANT *p)
4203 HTMLStyle *This = impl_from_IHTMLStyle4(iface);
4205 TRACE("(%p)->(%p)\n", This, p);
4207 return get_style_property_var(This, STYLEID_MIN_HEIGHT, p);
4210 static const IHTMLStyle4Vtbl HTMLStyle4Vtbl = {
4211 HTMLStyle4_QueryInterface,
4212 HTMLStyle4_AddRef,
4213 HTMLStyle4_Release,
4214 HTMLStyle4_GetTypeInfoCount,
4215 HTMLStyle4_GetTypeInfo,
4216 HTMLStyle4_GetIDsOfNames,
4217 HTMLStyle4_Invoke,
4218 HTMLStyle4_put_textOverflow,
4219 HTMLStyle4_get_textOverflow,
4220 HTMLStyle4_put_minHeight,
4221 HTMLStyle4_get_minHeight
4224 static inline HTMLStyle *impl_from_IHTMLStyle5(IHTMLStyle5 *iface)
4226 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle5_iface);
4229 static HRESULT WINAPI HTMLStyle5_QueryInterface(IHTMLStyle5 *iface, REFIID riid, void **ppv)
4231 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4233 return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv);
4236 static ULONG WINAPI HTMLStyle5_AddRef(IHTMLStyle5 *iface)
4238 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4240 return IHTMLStyle_AddRef(&This->IHTMLStyle_iface);
4243 static ULONG WINAPI HTMLStyle5_Release(IHTMLStyle5 *iface)
4245 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4247 return IHTMLStyle_Release(&This->IHTMLStyle_iface);
4250 static HRESULT WINAPI HTMLStyle5_GetTypeInfoCount(IHTMLStyle5 *iface, UINT *pctinfo)
4252 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4253 return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
4256 static HRESULT WINAPI HTMLStyle5_GetTypeInfo(IHTMLStyle5 *iface, UINT iTInfo,
4257 LCID lcid, ITypeInfo **ppTInfo)
4259 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4260 return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
4263 static HRESULT WINAPI HTMLStyle5_GetIDsOfNames(IHTMLStyle5 *iface, REFIID riid,
4264 LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
4266 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4267 return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames,
4268 lcid, rgDispId);
4271 static HRESULT WINAPI HTMLStyle5_Invoke(IHTMLStyle5 *iface, DISPID dispIdMember,
4272 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
4273 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
4275 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4276 return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid,
4277 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
4280 static HRESULT WINAPI HTMLStyle5_put_msInterpolationMode(IHTMLStyle5 *iface, BSTR v)
4282 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4283 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4284 return E_NOTIMPL;
4287 static HRESULT WINAPI HTMLStyle5_get_msInterpolationMode(IHTMLStyle5 *iface, BSTR *p)
4289 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4290 FIXME("(%p)->(%p)\n", This, p);
4291 return E_NOTIMPL;
4294 static HRESULT WINAPI HTMLStyle5_put_maxHeight(IHTMLStyle5 *iface, VARIANT v)
4296 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4298 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
4300 return set_style_property_var(This, STYLEID_MAX_HEIGHT, &v);
4303 static HRESULT WINAPI HTMLStyle5_get_maxHeight(IHTMLStyle5 *iface, VARIANT *p)
4305 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4307 TRACE("(%p)->(%s)\n", This, debugstr_variant(p));
4309 return get_style_property_var(This, STYLEID_MAX_HEIGHT, p);
4312 static HRESULT WINAPI HTMLStyle5_put_minWidth(IHTMLStyle5 *iface, VARIANT v)
4314 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4316 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
4318 return set_style_property_var(This, STYLEID_MIN_WIDTH, &v);
4321 static HRESULT WINAPI HTMLStyle5_get_minWidth(IHTMLStyle5 *iface, VARIANT *p)
4323 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4325 TRACE("(%p)->(%p)\n", This, p);
4327 return get_style_property_var(This, STYLEID_MIN_WIDTH, p);
4330 static HRESULT WINAPI HTMLStyle5_put_maxWidth(IHTMLStyle5 *iface, VARIANT v)
4332 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4334 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
4336 return set_style_property_var(This, STYLEID_MAX_WIDTH, &v);
4339 static HRESULT WINAPI HTMLStyle5_get_maxWidth(IHTMLStyle5 *iface, VARIANT *p)
4341 HTMLStyle *This = impl_from_IHTMLStyle5(iface);
4343 TRACE("(%p)->(%p)\n", This, p);
4345 return get_style_property_var(This, STYLEID_MAX_WIDTH, p);
4348 static const IHTMLStyle5Vtbl HTMLStyle5Vtbl = {
4349 HTMLStyle5_QueryInterface,
4350 HTMLStyle5_AddRef,
4351 HTMLStyle5_Release,
4352 HTMLStyle5_GetTypeInfoCount,
4353 HTMLStyle5_GetTypeInfo,
4354 HTMLStyle5_GetIDsOfNames,
4355 HTMLStyle5_Invoke,
4356 HTMLStyle5_put_msInterpolationMode,
4357 HTMLStyle5_get_msInterpolationMode,
4358 HTMLStyle5_put_maxHeight,
4359 HTMLStyle5_get_maxHeight,
4360 HTMLStyle5_put_minWidth,
4361 HTMLStyle5_get_minWidth,
4362 HTMLStyle5_put_maxWidth,
4363 HTMLStyle5_get_maxWidth
4366 static inline HTMLStyle *impl_from_IHTMLStyle6(IHTMLStyle6 *iface)
4368 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle6_iface);
4371 static HRESULT WINAPI HTMLStyle6_QueryInterface(IHTMLStyle6 *iface, REFIID riid, void **ppv)
4373 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4375 return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv);
4378 static ULONG WINAPI HTMLStyle6_AddRef(IHTMLStyle6 *iface)
4380 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4382 return IHTMLStyle_AddRef(&This->IHTMLStyle_iface);
4385 static ULONG WINAPI HTMLStyle6_Release(IHTMLStyle6 *iface)
4387 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4389 return IHTMLStyle_Release(&This->IHTMLStyle_iface);
4392 static HRESULT WINAPI HTMLStyle6_GetTypeInfoCount(IHTMLStyle6 *iface, UINT *pctinfo)
4394 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4395 return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
4398 static HRESULT WINAPI HTMLStyle6_GetTypeInfo(IHTMLStyle6 *iface, UINT iTInfo,
4399 LCID lcid, ITypeInfo **ppTInfo)
4401 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4402 return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
4405 static HRESULT WINAPI HTMLStyle6_GetIDsOfNames(IHTMLStyle6 *iface, REFIID riid,
4406 LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
4408 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4409 return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames,
4410 lcid, rgDispId);
4413 static HRESULT WINAPI HTMLStyle6_Invoke(IHTMLStyle6 *iface, DISPID dispIdMember,
4414 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
4415 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
4417 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4418 return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid,
4419 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
4422 static HRESULT WINAPI HTMLStyle6_put_content(IHTMLStyle6 *iface, BSTR v)
4424 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4425 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4426 return E_NOTIMPL;
4429 static HRESULT WINAPI HTMLStyle6_get_content(IHTMLStyle6 *iface, BSTR *p)
4431 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4432 FIXME("(%p)->(%p)\n", This, p);
4433 return E_NOTIMPL;
4436 static HRESULT WINAPI HTMLStyle6_put_contentSide(IHTMLStyle6 *iface, BSTR v)
4438 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4439 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4440 return E_NOTIMPL;
4443 static HRESULT WINAPI HTMLStyle6_get_contentSide(IHTMLStyle6 *iface, BSTR *p)
4445 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4446 FIXME("(%p)->(%p)\n", This, p);
4447 return E_NOTIMPL;
4450 static HRESULT WINAPI HTMLStyle6_put_counterIncrement(IHTMLStyle6 *iface, BSTR v)
4452 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4453 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4454 return E_NOTIMPL;
4457 static HRESULT WINAPI HTMLStyle6_get_counterIncrement(IHTMLStyle6 *iface, BSTR *p)
4459 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4460 FIXME("(%p)->(%p)\n", This, p);
4461 return E_NOTIMPL;
4464 static HRESULT WINAPI HTMLStyle6_put_counterReset(IHTMLStyle6 *iface, BSTR v)
4466 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4467 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4468 return E_NOTIMPL;
4471 static HRESULT WINAPI HTMLStyle6_get_counterReset(IHTMLStyle6 *iface, BSTR *p)
4473 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4474 FIXME("(%p)->(%p)\n", This, p);
4475 return E_NOTIMPL;
4478 static HRESULT WINAPI HTMLStyle6_put_outline(IHTMLStyle6 *iface, BSTR v)
4480 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4482 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
4484 return set_style_property(This, STYLEID_OUTLINE, v);
4487 static HRESULT WINAPI HTMLStyle6_get_outline(IHTMLStyle6 *iface, BSTR *p)
4489 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4491 TRACE("(%p)->(%p)\n", This, p);
4493 return get_style_property(This, STYLEID_OUTLINE, p);
4496 static HRESULT WINAPI HTMLStyle6_put_outlineWidth(IHTMLStyle6 *iface, VARIANT v)
4498 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4499 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
4500 return E_NOTIMPL;
4503 static HRESULT WINAPI HTMLStyle6_get_outlineWidth(IHTMLStyle6 *iface, VARIANT *p)
4505 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4506 FIXME("(%p)->(%p)\n", This, p);
4507 return E_NOTIMPL;
4510 static HRESULT WINAPI HTMLStyle6_put_outlineStyle(IHTMLStyle6 *iface, BSTR v)
4512 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4513 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4514 return E_NOTIMPL;
4517 static HRESULT WINAPI HTMLStyle6_get_outlineStyle(IHTMLStyle6 *iface, BSTR *p)
4519 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4520 FIXME("(%p)->(%p)\n", This, p);
4521 return E_NOTIMPL;
4524 static HRESULT WINAPI HTMLStyle6_put_outlineColor(IHTMLStyle6 *iface, VARIANT v)
4526 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4527 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
4528 return E_NOTIMPL;
4531 static HRESULT WINAPI HTMLStyle6_get_outlineColor(IHTMLStyle6 *iface, VARIANT *p)
4533 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4534 FIXME("(%p)->(%p)\n", This, p);
4535 return E_NOTIMPL;
4538 static HRESULT WINAPI HTMLStyle6_put_boxSizing(IHTMLStyle6 *iface, BSTR v)
4540 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4542 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
4544 return set_style_property(This, STYLEID_BOX_SIZING, v);
4547 static HRESULT WINAPI HTMLStyle6_get_boxSizing(IHTMLStyle6 *iface, BSTR *p)
4549 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4551 TRACE("(%p)->(%p)\n", This, p);
4553 return get_style_property(This, STYLEID_BOX_SIZING, p);
4556 static HRESULT WINAPI HTMLStyle6_put_boxSpacing(IHTMLStyle6 *iface, BSTR v)
4558 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4559 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4560 return E_NOTIMPL;
4563 static HRESULT WINAPI HTMLStyle6_get_boxSpacing(IHTMLStyle6 *iface, BSTR *p)
4565 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4566 FIXME("(%p)->(%p)\n", This, p);
4567 return E_NOTIMPL;
4570 static HRESULT WINAPI HTMLStyle6_put_orphans(IHTMLStyle6 *iface, VARIANT v)
4572 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4573 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
4574 return E_NOTIMPL;
4577 static HRESULT WINAPI HTMLStyle6_get_orphans(IHTMLStyle6 *iface, VARIANT *p)
4579 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4580 FIXME("(%p)->(%p)\n", This, p);
4581 return E_NOTIMPL;
4584 static HRESULT WINAPI HTMLStyle6_put_windows(IHTMLStyle6 *iface, VARIANT v)
4586 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4587 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
4588 return E_NOTIMPL;
4591 static HRESULT WINAPI HTMLStyle6_get_windows(IHTMLStyle6 *iface, VARIANT *p)
4593 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4594 FIXME("(%p)->(%p)\n", This, p);
4595 return E_NOTIMPL;
4598 static HRESULT WINAPI HTMLStyle6_put_pageBreakInside(IHTMLStyle6 *iface, BSTR v)
4600 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4601 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4602 return E_NOTIMPL;
4605 static HRESULT WINAPI HTMLStyle6_get_pageBreakInside(IHTMLStyle6 *iface, BSTR *p)
4607 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4608 FIXME("(%p)->(%p)\n", This, p);
4609 return E_NOTIMPL;
4612 static HRESULT WINAPI HTMLStyle6_put_emptyCells(IHTMLStyle6 *iface, BSTR v)
4614 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4615 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4616 return E_NOTIMPL;
4619 static HRESULT WINAPI HTMLStyle6_get_emptyCells(IHTMLStyle6 *iface, BSTR *p)
4621 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4622 FIXME("(%p)->(%p)\n", This, p);
4623 return E_NOTIMPL;
4626 static HRESULT WINAPI HTMLStyle6_put_msBlockProgression(IHTMLStyle6 *iface, BSTR v)
4628 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4629 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4630 return E_NOTIMPL;
4633 static HRESULT WINAPI HTMLStyle6_get_msBlockProgression(IHTMLStyle6 *iface, BSTR *p)
4635 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4636 FIXME("(%p)->(%p)\n", This, p);
4637 return E_NOTIMPL;
4640 static HRESULT WINAPI HTMLStyle6_put_quotes(IHTMLStyle6 *iface, BSTR v)
4642 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4643 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4644 return E_NOTIMPL;
4647 static HRESULT WINAPI HTMLStyle6_get_quotes(IHTMLStyle6 *iface, BSTR *p)
4649 HTMLStyle *This = impl_from_IHTMLStyle6(iface);
4650 FIXME("(%p)->(%p)\n", This, p);
4651 return E_NOTIMPL;
4654 static const IHTMLStyle6Vtbl HTMLStyle6Vtbl = {
4655 HTMLStyle6_QueryInterface,
4656 HTMLStyle6_AddRef,
4657 HTMLStyle6_Release,
4658 HTMLStyle6_GetTypeInfoCount,
4659 HTMLStyle6_GetTypeInfo,
4660 HTMLStyle6_GetIDsOfNames,
4661 HTMLStyle6_Invoke,
4662 HTMLStyle6_put_content,
4663 HTMLStyle6_get_content,
4664 HTMLStyle6_put_contentSide,
4665 HTMLStyle6_get_contentSide,
4666 HTMLStyle6_put_counterIncrement,
4667 HTMLStyle6_get_counterIncrement,
4668 HTMLStyle6_put_counterReset,
4669 HTMLStyle6_get_counterReset,
4670 HTMLStyle6_put_outline,
4671 HTMLStyle6_get_outline,
4672 HTMLStyle6_put_outlineWidth,
4673 HTMLStyle6_get_outlineWidth,
4674 HTMLStyle6_put_outlineStyle,
4675 HTMLStyle6_get_outlineStyle,
4676 HTMLStyle6_put_outlineColor,
4677 HTMLStyle6_get_outlineColor,
4678 HTMLStyle6_put_boxSizing,
4679 HTMLStyle6_get_boxSizing,
4680 HTMLStyle6_put_boxSpacing,
4681 HTMLStyle6_get_boxSpacing,
4682 HTMLStyle6_put_orphans,
4683 HTMLStyle6_get_orphans,
4684 HTMLStyle6_put_windows,
4685 HTMLStyle6_get_windows,
4686 HTMLStyle6_put_pageBreakInside,
4687 HTMLStyle6_get_pageBreakInside,
4688 HTMLStyle6_put_emptyCells,
4689 HTMLStyle6_get_emptyCells,
4690 HTMLStyle6_put_msBlockProgression,
4691 HTMLStyle6_get_msBlockProgression,
4692 HTMLStyle6_put_quotes,
4693 HTMLStyle6_get_quotes
4696 static inline HTMLStyle *impl_from_IHTMLCSSStyleDeclaration(IHTMLCSSStyleDeclaration *iface)
4698 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLCSSStyleDeclaration_iface);
4701 static HRESULT WINAPI HTMLCSSStyleDeclaration_QueryInterface(IHTMLCSSStyleDeclaration *iface,
4702 REFIID riid, void **ppv)
4704 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4705 return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv);
4708 static ULONG WINAPI HTMLCSSStyleDeclaration_AddRef(IHTMLCSSStyleDeclaration *iface)
4710 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4711 return IHTMLStyle_AddRef(&This->IHTMLStyle_iface);
4714 static ULONG WINAPI HTMLCSSStyleDeclaration_Release(IHTMLCSSStyleDeclaration *iface)
4716 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4717 return IHTMLStyle_Release(&This->IHTMLStyle_iface);
4720 static HRESULT WINAPI HTMLCSSStyleDeclaration_GetTypeInfoCount(IHTMLCSSStyleDeclaration *iface,
4721 UINT *pctinfo)
4723 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4724 TRACE("(%p)->(%p)\n", This, pctinfo);
4725 return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
4728 static HRESULT WINAPI HTMLCSSStyleDeclaration_GetTypeInfo(IHTMLCSSStyleDeclaration *iface,
4729 UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
4731 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4732 TRACE("(%p)->(%u %u %p)\n", This, iTInfo, lcid, ppTInfo);
4733 return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
4736 static HRESULT WINAPI HTMLCSSStyleDeclaration_GetIDsOfNames(IHTMLCSSStyleDeclaration *iface,
4737 REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
4739 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4740 TRACE("(%p)->(%p %p %u %u %p)\n", This, riid, rgszNames, cNames, lcid, rgDispId);
4741 return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames,
4742 cNames, lcid, rgDispId);
4745 static HRESULT WINAPI HTMLCSSStyleDeclaration_Invoke(IHTMLCSSStyleDeclaration *iface,
4746 DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
4747 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
4749 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4750 TRACE("(%p)->(%d %p %u %u %p %p %p %p)\n", This, dispIdMember, riid, lcid, wFlags,
4751 pDispParams, pVarResult, pExcepInfo, puArgErr);
4752 return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid,
4753 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
4756 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_length(IHTMLCSSStyleDeclaration *iface, LONG *p)
4758 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4759 FIXME("(%p)->(%p)\n", This, p);
4760 return E_NOTIMPL;
4763 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_parentRule(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
4765 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4766 FIXME("(%p)->(%p)\n", This, p);
4767 return E_NOTIMPL;
4770 static HRESULT WINAPI HTMLCSSStyleDeclaration_getPropertyValue(IHTMLCSSStyleDeclaration *iface, BSTR bstrPropertyName, BSTR *pbstrPropertyValue)
4772 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4773 FIXME("(%p)->(%s %p)\n", This, debugstr_w(bstrPropertyName), pbstrPropertyValue);
4774 return E_NOTIMPL;
4777 static HRESULT WINAPI HTMLCSSStyleDeclaration_getPropertyPriority(IHTMLCSSStyleDeclaration *iface, BSTR bstrPropertyName, BSTR *pbstrPropertyPriority)
4779 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4780 FIXME("(%p)->(%s %p)\n", This, debugstr_w(bstrPropertyName), pbstrPropertyPriority);
4781 return E_NOTIMPL;
4784 static HRESULT WINAPI HTMLCSSStyleDeclaration_removeProperty(IHTMLCSSStyleDeclaration *iface, BSTR bstrPropertyName, BSTR *pbstrPropertyValue)
4786 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4787 FIXME("(%p)->(%s %p)\n", This, debugstr_w(bstrPropertyName), pbstrPropertyValue);
4788 return E_NOTIMPL;
4791 static HRESULT WINAPI HTMLCSSStyleDeclaration_setProperty(IHTMLCSSStyleDeclaration *iface, BSTR bstrPropertyName, VARIANT *pvarPropertyValue, VARIANT *pvarPropertyPriority)
4793 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4794 FIXME("(%p)->(%s %p %p)\n", This, debugstr_w(bstrPropertyName), pvarPropertyValue, pvarPropertyPriority);
4795 return E_NOTIMPL;
4798 static HRESULT WINAPI HTMLCSSStyleDeclaration_item(IHTMLCSSStyleDeclaration *iface, LONG index, BSTR *pbstrPropertyName)
4800 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4801 FIXME("(%p)->(%d %p)\n", This, index, pbstrPropertyName);
4802 return E_NOTIMPL;
4805 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fontFamily(IHTMLCSSStyleDeclaration *iface, BSTR v)
4807 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4808 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
4809 return set_style_property(This, STYLEID_FONT_FAMILY, v);
4812 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontFamily(IHTMLCSSStyleDeclaration *iface, BSTR *p)
4814 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4815 TRACE("(%p)->(%p)\n", This, p);
4816 return get_style_property(This, STYLEID_FONT_FAMILY, p);
4819 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fontStyle(IHTMLCSSStyleDeclaration *iface, BSTR v)
4821 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4822 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
4823 return set_style_property(This, STYLEID_FONT_STYLE, v);
4826 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p)
4828 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4829 TRACE("(%p)->(%p)\n", This, p);
4830 return get_style_property(This, STYLEID_FONT_STYLE, p);
4833 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fontVariant(IHTMLCSSStyleDeclaration *iface, BSTR v)
4835 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4836 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
4837 return set_style_property(This, STYLEID_FONT_VARIANT, v);
4840 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontVariant(IHTMLCSSStyleDeclaration *iface, BSTR *p)
4842 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4843 TRACE("(%p)->(%p)\n", This, p);
4844 return get_style_property(This, STYLEID_FONT_VARIANT, p);
4847 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fontWeight(IHTMLCSSStyleDeclaration *iface, BSTR v)
4849 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4850 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
4851 return set_style_property(This, STYLEID_FONT_WEIGHT, v);
4854 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontWeight(IHTMLCSSStyleDeclaration *iface, BSTR *p)
4856 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4857 TRACE("(%p)->(%p)\n", This, p);
4858 return get_style_property(This, STYLEID_FONT_WEIGHT, p);
4861 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fontSize(IHTMLCSSStyleDeclaration *iface, VARIANT v)
4863 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4864 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
4865 return set_style_property_var(This, STYLEID_FONT_SIZE, &v);
4868 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontSize(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
4870 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4871 TRACE("(%p)->(%p)\n", This, p);
4872 return get_style_property_var(This, STYLEID_FONT_SIZE, p);
4875 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_font(IHTMLCSSStyleDeclaration *iface, BSTR v)
4877 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4878 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
4879 return E_NOTIMPL;
4882 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_font(IHTMLCSSStyleDeclaration *iface, BSTR *p)
4884 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4885 FIXME("(%p)->(%p)\n", This, p);
4886 return E_NOTIMPL;
4889 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_color(IHTMLCSSStyleDeclaration *iface, VARIANT v)
4891 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4892 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
4893 return set_style_property_var(This, STYLEID_COLOR, &v);
4896 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_color(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
4898 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4899 TRACE("(%p)->(%p)\n", This, p);
4900 return get_style_property_var(This, STYLEID_COLOR, p);
4903 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_background(IHTMLCSSStyleDeclaration *iface, BSTR v)
4905 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4906 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
4907 return set_style_property(This, STYLEID_BACKGROUND, v);
4910 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_background(IHTMLCSSStyleDeclaration *iface, BSTR *p)
4912 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4913 TRACE("(%p)->(%p)\n", This, p);
4914 return get_style_property(This, STYLEID_BACKGROUND, p);
4917 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
4919 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4920 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
4921 return set_style_property_var(This, STYLEID_BACKGROUND_COLOR, &v);
4924 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
4926 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4927 TRACE("(%p)->(%p)\n", This, p);
4928 return get_style_property_var(This, STYLEID_BACKGROUND_COLOR, p);
4931 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundImage(IHTMLCSSStyleDeclaration *iface, BSTR v)
4933 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4934 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
4935 return set_style_property(This, STYLEID_BACKGROUND_IMAGE, v);
4938 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundImage(IHTMLCSSStyleDeclaration *iface, BSTR *p)
4940 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4941 TRACE("(%p)->(%p)\n", This, p);
4942 return get_style_property(This, STYLEID_BACKGROUND_IMAGE, p);
4945 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundRepeat(IHTMLCSSStyleDeclaration *iface, BSTR v)
4947 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4948 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
4949 return set_style_property(This, STYLEID_BACKGROUND_REPEAT, v);
4952 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundRepeat(IHTMLCSSStyleDeclaration *iface, BSTR *p)
4954 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4955 TRACE("(%p)->(%p)\n", This, p);
4956 return get_style_property(This, STYLEID_BACKGROUND_REPEAT, p);
4959 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundAttachment(IHTMLCSSStyleDeclaration *iface, BSTR v)
4961 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4962 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
4963 return set_style_property(This, STYLEID_BACKGROUND_ATTACHMENT, v);
4966 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundAttachment(IHTMLCSSStyleDeclaration *iface, BSTR *p)
4968 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4969 TRACE("(%p)->(%p)\n", This, p);
4970 return get_style_property(This, STYLEID_BACKGROUND_ATTACHMENT, p);
4973 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundPosition(IHTMLCSSStyleDeclaration *iface, BSTR v)
4975 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4976 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
4977 return set_style_property(This, STYLEID_BACKGROUND_POSITION, v);
4980 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundPosition(IHTMLCSSStyleDeclaration *iface, BSTR *p)
4982 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4983 TRACE("(%p)->(%p)\n", This, p);
4984 return get_style_property(This, STYLEID_BACKGROUND_POSITION, p);
4987 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundPositionX(IHTMLCSSStyleDeclaration *iface, VARIANT v)
4989 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4990 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
4991 return IHTMLStyle_put_backgroundPositionX(&This->IHTMLStyle_iface, v);
4994 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundPositionX(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
4996 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
4997 TRACE("(%p)->(%p)\n", This, p);
4998 return IHTMLStyle_get_backgroundPositionX(&This->IHTMLStyle_iface, p);
5001 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundPositionY(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5003 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5004 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5005 return IHTMLStyle_put_backgroundPositionY(&This->IHTMLStyle_iface, v);
5008 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundPositionY(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5010 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5011 TRACE("(%p)->(%p)\n", This, p);
5012 return IHTMLStyle_get_backgroundPositionY(&This->IHTMLStyle_iface, p);
5015 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_wordSpacing(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5017 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5018 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5019 return set_style_property_var(This, STYLEID_WORD_SPACING, &v);
5022 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_wordSpacing(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5024 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5025 TRACE("(%p)->(%p)\n", This, p);
5026 return get_style_property_var(This, STYLEID_WORD_SPACING, p);
5029 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_letterSpacing(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5031 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5032 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5033 return set_style_property_var(This, STYLEID_LETTER_SPACING, &v);
5036 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_letterSpacing(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5038 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5039 TRACE("(%p)->(%p)\n", This, p);
5040 return get_style_property_var(This, STYLEID_LETTER_SPACING, p);
5043 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textDecoration(IHTMLCSSStyleDeclaration *iface, BSTR v)
5045 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5046 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5047 return set_style_property(This, STYLEID_TEXT_DECORATION, v);
5050 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textDecoration(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5052 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5053 TRACE("(%p)->(%p)\n", This, p);
5054 return get_style_property(This, STYLEID_TEXT_DECORATION, p);
5057 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_verticalAlign(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5059 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5060 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5061 return set_style_property_var(This, STYLEID_VERTICAL_ALIGN, &v);
5064 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_verticalAlign(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5066 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5067 TRACE("(%p)->(%p)\n", This, p);
5068 return get_style_property_var(This, STYLEID_VERTICAL_ALIGN, p);
5071 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textTransform(IHTMLCSSStyleDeclaration *iface, BSTR v)
5073 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5074 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5075 return set_style_property(This, STYLEID_TEXT_TRANSFORM, v);
5078 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textTransform(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5080 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5081 TRACE("(%p)->(%p)\n", This, p);
5082 return get_style_property(This, STYLEID_TEXT_TRANSFORM, p);
5085 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textAlign(IHTMLCSSStyleDeclaration *iface, BSTR v)
5087 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5088 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5089 return set_style_property(This, STYLEID_TEXT_ALIGN, v);
5092 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textAlign(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5094 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5095 TRACE("(%p)->(%p)\n", This, p);
5096 return get_style_property(This, STYLEID_TEXT_ALIGN, p);
5099 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textIndent(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5101 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5102 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5103 return set_style_property_var(This, STYLEID_TEXT_INDENT, &v);
5106 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textIndent(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5108 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5109 TRACE("(%p)->(%p)\n", This, p);
5110 return get_style_property_var(This, STYLEID_TEXT_INDENT, p);
5113 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_lineHeight(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5115 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5116 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5117 return set_style_property_var(This, STYLEID_LINE_HEIGHT, &v);
5120 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_lineHeight(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5122 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5123 TRACE("(%p)->(%p)\n", This, p);
5124 return get_style_property_var(This, STYLEID_LINE_HEIGHT, p);
5127 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_marginTop(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5129 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5130 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5131 return set_style_property_var(This, STYLEID_MARGIN_TOP, &v);
5134 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_marginTop(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5136 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5137 TRACE("(%p)->(%p)\n", This, p);
5138 return get_style_property_var(This, STYLEID_MARGIN_TOP, p);
5141 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_marginRight(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5143 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5144 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5145 return set_style_property_var(This, STYLEID_MARGIN_RIGHT, &v);
5148 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_marginRight(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5150 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5151 TRACE("(%p)->(%p)\n", This, p);
5152 return get_style_property_var(This, STYLEID_MARGIN_RIGHT, p);
5155 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_marginBottom(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5157 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5158 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5159 return set_style_property_var(This, STYLEID_MARGIN_BOTTOM, &v);
5162 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_marginBottom(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5164 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5165 TRACE("(%p)->(%p)\n", This, p);
5166 return get_style_property_var(This, STYLEID_MARGIN_BOTTOM, p);
5169 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_marginLeft(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5171 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5172 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5173 return set_style_property_var(This, STYLEID_MARGIN_LEFT, &v);
5176 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_marginLeft(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5178 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5179 TRACE("(%p)->(%p)\n", This, p);
5180 return get_style_property_var(This, STYLEID_MARGIN_LEFT, p);
5183 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_margin(IHTMLCSSStyleDeclaration *iface, BSTR v)
5185 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5186 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5187 return set_style_property(This, STYLEID_MARGIN, v);
5190 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_margin(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5192 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5193 TRACE("(%p)->(%p)\n", This, p);
5194 return get_style_property(This, STYLEID_MARGIN, p);
5197 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_paddingTop(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5199 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5200 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5201 return set_style_property_var(This, STYLEID_PADDING_TOP, &v);
5204 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_paddingTop(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5206 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5207 TRACE("(%p)->(%p)\n", This, p);
5208 return get_style_property_var(This, STYLEID_PADDING_TOP, p);
5211 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_paddingRight(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5213 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5214 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5215 return set_style_property_var(This, STYLEID_PADDING_RIGHT, &v);
5218 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_paddingRight(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5220 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5221 TRACE("(%p)->(%p)\n", This, p);
5222 return get_style_property_var(This, STYLEID_PADDING_RIGHT, p);
5225 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_paddingBottom(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5227 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5228 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5229 return set_style_property_var(This, STYLEID_PADDING_BOTTOM, &v);
5232 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_paddingBottom(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5234 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5235 TRACE("(%p)->(%p)\n", This, p);
5236 return get_style_property_var(This, STYLEID_PADDING_BOTTOM, p);
5239 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_paddingLeft(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5241 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5242 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5243 return set_style_property_var(This, STYLEID_PADDING_LEFT, &v);
5246 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_paddingLeft(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5248 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5249 TRACE("(%p)->(%p)\n", This, p);
5250 return get_style_property_var(This, STYLEID_PADDING_LEFT, p);
5253 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_padding(IHTMLCSSStyleDeclaration *iface, BSTR v)
5255 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5256 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5257 return set_style_property(This, STYLEID_PADDING, v);
5260 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_padding(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5262 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5263 TRACE("(%p)->(%p)\n", This, p);
5264 return get_style_property(This, STYLEID_PADDING, p);
5267 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_border(IHTMLCSSStyleDeclaration *iface, BSTR v)
5269 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5270 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5271 return set_style_property(This, STYLEID_BORDER, v);
5274 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_border(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5276 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5277 TRACE("(%p)->(%p)\n", This, p);
5278 return get_style_property(This, STYLEID_BORDER, p);
5281 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderTop(IHTMLCSSStyleDeclaration *iface, BSTR v)
5283 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5284 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5285 return set_style_property(This, STYLEID_BORDER_TOP, v);
5288 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderTop(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5290 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5291 TRACE("(%p)->(%p)\n", This, p);
5292 return get_style_property(This, STYLEID_BORDER_TOP, p);
5295 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderRight(IHTMLCSSStyleDeclaration *iface, BSTR v)
5297 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5298 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5299 return set_style_property(This, STYLEID_BORDER_RIGHT, v);
5302 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderRight(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5304 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5305 TRACE("(%p)->(%p)\n", This, p);
5306 return get_style_property(This, STYLEID_BORDER_RIGHT, p);
5309 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderBottom(IHTMLCSSStyleDeclaration *iface, BSTR v)
5311 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5312 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5313 return set_style_property(This, STYLEID_BORDER_BOTTOM, v);
5316 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderBottom(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5318 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5319 TRACE("(%p)->(%p)\n", This, p);
5320 return get_style_property(This, STYLEID_BORDER_BOTTOM, p);
5323 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderLeft(IHTMLCSSStyleDeclaration *iface, BSTR v)
5325 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5326 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5327 return set_style_property(This, STYLEID_BORDER_LEFT, v);
5330 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderLeft(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5332 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5333 TRACE("(%p)->(%p)\n", This, p);
5334 return get_style_property(This, STYLEID_BORDER_LEFT, p);
5337 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderColor(IHTMLCSSStyleDeclaration *iface, BSTR v)
5339 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5340 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5341 return set_style_property(This, STYLEID_BORDER_COLOR, v);
5344 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderColor(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5346 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5347 TRACE("(%p)->(%p)\n", This, p);
5348 return get_style_property(This, STYLEID_BORDER_COLOR, p);
5351 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderTopColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5353 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5354 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5355 return set_style_property_var(This, STYLEID_BORDER_TOP_COLOR, &v);
5358 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderTopColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5360 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5361 TRACE("(%p)->(%p)\n", This, p);
5362 return get_style_property_var(This, STYLEID_BORDER_TOP_COLOR, p);
5365 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderRightColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5367 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5368 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5369 return set_style_property_var(This, STYLEID_BORDER_RIGHT_COLOR, &v);
5372 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderRightColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5374 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5375 TRACE("(%p)->(%p)\n", This, p);
5376 return get_style_property_var(This, STYLEID_BORDER_RIGHT_COLOR, p);
5379 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderBottomColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5381 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5382 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5383 return set_style_property_var(This, STYLEID_BORDER_BOTTOM_COLOR, &v);
5386 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderBottomColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5388 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5389 TRACE("(%p)->(%p)\n", This, p);
5390 return get_style_property_var(This, STYLEID_BORDER_BOTTOM_COLOR, p);
5393 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderLeftColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5395 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5396 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5397 return set_style_property_var(This, STYLEID_BORDER_LEFT_COLOR, &v);
5400 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderLeftColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5402 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5403 TRACE("(%p)->(%p)\n", This, p);
5404 return get_style_property_var(This, STYLEID_BORDER_LEFT_COLOR, p);
5407 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderWidth(IHTMLCSSStyleDeclaration *iface, BSTR v)
5409 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5410 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5411 return set_style_property(This, STYLEID_BORDER_WIDTH, v);
5414 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderWidth(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5416 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5417 TRACE("(%p)->(%p)\n", This, p);
5418 return get_style_property(This, STYLEID_BORDER_WIDTH, p);
5421 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderTopWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5423 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5424 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5425 return set_style_property_var(This, STYLEID_BORDER_TOP_WIDTH, &v);
5428 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderTopWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5430 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5431 TRACE("(%p)->(%p)\n", This, p);
5432 return get_style_property_var(This, STYLEID_BORDER_TOP_WIDTH, p);
5435 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderRightWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5437 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5438 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5439 return set_style_property_var(This, STYLEID_BORDER_RIGHT_WIDTH, &v);
5442 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderRightWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5444 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5445 TRACE("(%p)->(%p)\n", This, p);
5446 return get_style_property_var(This, STYLEID_BORDER_RIGHT_WIDTH, p);
5449 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderBottomWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5451 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5452 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5453 return set_style_property_var(This, STYLEID_BORDER_BOTTOM_WIDTH, &v);
5456 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderBottomWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5458 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5459 TRACE("(%p)->(%p)\n", This, p);
5460 return get_style_property_var(This, STYLEID_BORDER_BOTTOM_WIDTH, p);
5463 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderLeftWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5465 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5466 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5467 return set_style_property_var(This, STYLEID_BORDER_LEFT_WIDTH, &v);
5470 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderLeftWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5472 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5473 TRACE("(%p)->(%p)\n", This, p);
5474 return get_style_property_var(This, STYLEID_BORDER_LEFT_WIDTH, p);
5477 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderStyle(IHTMLCSSStyleDeclaration *iface, BSTR v)
5479 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5480 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5481 return set_style_property(This, STYLEID_BORDER_STYLE, v);
5484 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5486 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5487 TRACE("(%p)->(%p)\n", This, p);
5488 return get_style_property(This, STYLEID_BORDER_STYLE, p);
5491 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderTopStyle(IHTMLCSSStyleDeclaration *iface, BSTR v)
5493 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5494 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5495 return set_style_property(This, STYLEID_BORDER_TOP_STYLE, v);
5498 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderTopStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5500 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5501 TRACE("(%p)->(%p)\n", This, p);
5502 return get_style_property(This, STYLEID_BORDER_TOP_STYLE, p);
5505 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderRightStyle(IHTMLCSSStyleDeclaration *iface, BSTR v)
5507 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5508 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5509 return set_style_property(This, STYLEID_BORDER_RIGHT_STYLE, v);
5512 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderRightStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5514 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5515 TRACE("(%p)->(%p)\n", This, p);
5516 return get_style_property(This, STYLEID_BORDER_RIGHT_STYLE, p);
5519 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderBottomStyle(IHTMLCSSStyleDeclaration *iface, BSTR v)
5521 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5522 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5523 return set_style_property(This, STYLEID_BORDER_BOTTOM_STYLE, v);
5526 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderBottomStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5528 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5529 TRACE("(%p)->(%p)\n", This, p);
5530 return get_style_property(This, STYLEID_BORDER_BOTTOM_STYLE, p);
5533 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderLeftStyle(IHTMLCSSStyleDeclaration *iface, BSTR v)
5535 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5536 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5537 return set_style_property(This, STYLEID_BORDER_LEFT_STYLE, v);
5540 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderLeftStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5542 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5543 TRACE("(%p)->(%p)\n", This, p);
5544 return get_style_property(This, STYLEID_BORDER_LEFT_STYLE, p);
5547 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_width(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5549 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5550 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5551 return set_style_property_var(This, STYLEID_WIDTH, &v);
5554 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_width(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5556 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5557 TRACE("(%p)->(%p)\n", This, p);
5558 return get_style_property_var(This, STYLEID_WIDTH, p);
5561 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_height(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5563 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5564 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5565 return set_style_property_var(This, STYLEID_HEIGHT, &v);
5568 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_height(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5570 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5571 TRACE("(%p)->(%p)\n", This, p);
5572 return get_style_property_var(This, STYLEID_HEIGHT, p);
5575 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_styleFloat(IHTMLCSSStyleDeclaration *iface, BSTR v)
5577 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5578 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
5579 return E_NOTIMPL;
5582 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_styleFloat(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5584 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5585 FIXME("(%p)->(%p)\n", This, p);
5586 return E_NOTIMPL;
5589 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_clear(IHTMLCSSStyleDeclaration *iface, BSTR v)
5591 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5592 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5593 return set_style_property(This, STYLEID_CLEAR, v);
5596 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clear(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5598 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5599 TRACE("(%p)->(%p)\n", This, p);
5600 return get_style_property(This, STYLEID_CLEAR, p);
5603 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_display(IHTMLCSSStyleDeclaration *iface, BSTR v)
5605 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5606 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5607 return set_style_property(This, STYLEID_DISPLAY, v);
5610 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_display(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5612 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5613 TRACE("(%p)->(%p)\n", This, p);
5614 return get_style_property(This, STYLEID_DISPLAY, p);
5617 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_visibility(IHTMLCSSStyleDeclaration *iface, BSTR v)
5619 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5620 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5621 return set_style_property(This, STYLEID_VISIBILITY, v);
5624 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_visibility(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5626 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5627 TRACE("(%p)->(%p)\n", This, p);
5628 return get_style_property(This, STYLEID_VISIBILITY, p);
5631 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_listStyleType(IHTMLCSSStyleDeclaration *iface, BSTR v)
5633 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5634 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
5635 return E_NOTIMPL;
5638 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_listStyleType(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5640 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5641 FIXME("(%p)->(%p)\n", This, p);
5642 return E_NOTIMPL;
5645 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_listStylePosition(IHTMLCSSStyleDeclaration *iface, BSTR v)
5647 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5648 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
5649 return E_NOTIMPL;
5652 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_listStylePosition(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5654 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5655 FIXME("(%p)->(%p)\n", This, p);
5656 return E_NOTIMPL;
5659 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_listStyleImage(IHTMLCSSStyleDeclaration *iface, BSTR v)
5661 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5662 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
5663 return E_NOTIMPL;
5666 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_listStyleImage(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5668 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5669 FIXME("(%p)->(%p)\n", This, p);
5670 return E_NOTIMPL;
5673 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_listStyle(IHTMLCSSStyleDeclaration *iface, BSTR v)
5675 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5676 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5677 return set_style_property(This, STYLEID_LIST_STYLE, v);
5680 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_listStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5682 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5683 TRACE("(%p)->(%p)\n", This, p);
5684 return get_style_property(This, STYLEID_LIST_STYLE, p);
5687 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_whiteSpace(IHTMLCSSStyleDeclaration *iface, BSTR v)
5689 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5690 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5691 return set_style_property(This, STYLEID_WHITE_SPACE, v);
5694 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_whiteSpace(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5696 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5697 TRACE("(%p)->(%p)\n", This, p);
5698 return get_style_property(This, STYLEID_WHITE_SPACE, p);
5701 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_top(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5703 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5704 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5705 return set_style_property_var(This, STYLEID_TOP, &v);
5708 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_top(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5710 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5711 TRACE("(%p)->(%p)\n", This, p);
5712 return get_style_property_var(This, STYLEID_TOP, p);
5715 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_left(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5717 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5718 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5719 return set_style_property_var(This, STYLEID_LEFT, &v);
5722 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_left(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5724 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5725 TRACE("(%p)->(%p)\n", This, p);
5726 return get_style_property_var(This, STYLEID_LEFT, p);
5729 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_zIndex(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5731 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5732 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5733 return set_style_property_var(This, STYLEID_Z_INDEX, &v);
5736 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_zIndex(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5738 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5739 TRACE("(%p)->(%p)\n", This, p);
5740 return get_style_property_var(This, STYLEID_Z_INDEX, p);
5743 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_overflow(IHTMLCSSStyleDeclaration *iface, BSTR v)
5745 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5746 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5747 return set_style_property(This, STYLEID_OVERFLOW, v);
5750 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_overflow(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5752 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5753 TRACE("(%p)->(%p)\n", This, p);
5754 return get_style_property(This, STYLEID_OVERFLOW, p);
5757 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_pageBreakBefore(IHTMLCSSStyleDeclaration *iface, BSTR v)
5759 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5760 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5761 return set_style_property(This, STYLEID_PAGE_BREAK_BEFORE, v);
5764 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_pageBreakBefore(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5766 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5767 TRACE("(%p)->(%p)\n", This, p);
5768 return get_style_property(This, STYLEID_PAGE_BREAK_BEFORE, p);
5771 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_pageBreakAfter(IHTMLCSSStyleDeclaration *iface, BSTR v)
5773 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5774 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5775 return set_style_property(This, STYLEID_PAGE_BREAK_AFTER, v);
5778 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_pageBreakAfter(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5780 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5781 TRACE("(%p)->(%p)\n", This, p);
5782 return get_style_property(This, STYLEID_PAGE_BREAK_AFTER, p);
5785 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_cssText(IHTMLCSSStyleDeclaration *iface, BSTR v)
5787 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5788 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
5789 return E_NOTIMPL;
5792 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_cssText(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5794 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5795 FIXME("(%p)->(%p)\n", This, p);
5796 return E_NOTIMPL;
5799 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_cursor(IHTMLCSSStyleDeclaration *iface, BSTR v)
5801 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5802 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5803 return set_style_property(This, STYLEID_CURSOR, v);
5806 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_cursor(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5808 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5809 TRACE("(%p)->(%p)\n", This, p);
5810 return get_style_property(This, STYLEID_CURSOR, p);
5813 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_clip(IHTMLCSSStyleDeclaration *iface, BSTR v)
5815 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5816 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5817 return set_style_property(This, STYLEID_CLIP, v);
5820 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clip(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5822 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5823 TRACE("(%p)->(%p)\n", This, p);
5824 return get_style_property(This, STYLEID_CLIP, p);
5827 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_filter(IHTMLCSSStyleDeclaration *iface, BSTR v)
5829 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5830 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5831 return set_style_property(This, STYLEID_FILTER, v);
5834 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_filter(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5836 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5837 TRACE("(%p)->(%p)\n", This, p);
5838 return get_style_property(This, STYLEID_FILTER, p);
5841 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_tableLayout(IHTMLCSSStyleDeclaration *iface, BSTR v)
5843 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5844 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5845 return set_style_property(This, STYLEID_TABLE_LAYOUT, v);
5848 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_tableLayout(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5850 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5851 TRACE("(%p)->(%p)\n", This, p);
5852 return get_style_property(This, STYLEID_TABLE_LAYOUT, p);
5855 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderCollapse(IHTMLCSSStyleDeclaration *iface, BSTR v)
5857 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5858 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
5859 return E_NOTIMPL;
5862 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderCollapse(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5864 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5865 FIXME("(%p)->(%p)\n", This, p);
5866 return E_NOTIMPL;
5869 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_direction(IHTMLCSSStyleDeclaration *iface, BSTR v)
5871 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5872 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5873 return set_style_property(This, STYLEID_DIRECTION, v);
5876 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_direction(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5878 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5879 TRACE("(%p)->(%p)\n", This, p);
5880 return get_style_property(This, STYLEID_DIRECTION, p);
5883 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_behavior(IHTMLCSSStyleDeclaration *iface, BSTR v)
5885 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5886 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
5887 return E_NOTIMPL;
5890 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_behavior(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5892 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5893 FIXME("(%p)->(%p)\n", This, p);
5894 return E_NOTIMPL;
5897 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_position(IHTMLCSSStyleDeclaration *iface, BSTR v)
5899 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5900 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
5901 return set_style_property(This, STYLEID_POSITION, v);
5904 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_position(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5906 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5907 TRACE("(%p)->(%p)\n", This, p);
5908 return get_style_property(This, STYLEID_POSITION, p);
5911 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_unicodeBidi(IHTMLCSSStyleDeclaration *iface, BSTR v)
5913 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5914 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
5915 return E_NOTIMPL;
5918 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_unicodeBidi(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5920 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5921 FIXME("(%p)->(%p)\n", This, p);
5922 return E_NOTIMPL;
5925 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_bottom(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5927 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5928 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5929 return set_style_property_var(This, STYLEID_BOTTOM, &v);
5932 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_bottom(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5934 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5935 TRACE("(%p)->(%p)\n", This, p);
5936 return get_style_property_var(This, STYLEID_BOTTOM, p);
5939 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_right(IHTMLCSSStyleDeclaration *iface, VARIANT v)
5941 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5942 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
5943 return set_style_property_var(This, STYLEID_RIGHT, &v);
5946 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_right(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
5948 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5949 TRACE("(%p)->(%p)\n", This, p);
5950 return get_style_property_var(This, STYLEID_RIGHT, p);
5953 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_imeMode(IHTMLCSSStyleDeclaration *iface, BSTR v)
5955 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5956 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
5957 return E_NOTIMPL;
5960 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_imeMode(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5962 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5963 FIXME("(%p)->(%p)\n", This, p);
5964 return E_NOTIMPL;
5967 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_rubyAlign(IHTMLCSSStyleDeclaration *iface, BSTR v)
5969 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5970 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
5971 return E_NOTIMPL;
5974 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_rubyAlign(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5976 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5977 FIXME("(%p)->(%p)\n", This, p);
5978 return E_NOTIMPL;
5981 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_rubyPosition(IHTMLCSSStyleDeclaration *iface, BSTR v)
5983 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5984 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
5985 return E_NOTIMPL;
5988 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_rubyPosition(IHTMLCSSStyleDeclaration *iface, BSTR *p)
5990 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5991 FIXME("(%p)->(%p)\n", This, p);
5992 return E_NOTIMPL;
5995 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_rubyOverhang(IHTMLCSSStyleDeclaration *iface, BSTR v)
5997 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
5998 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
5999 return E_NOTIMPL;
6002 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_rubyOverhang(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6004 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6005 FIXME("(%p)->(%p)\n", This, p);
6006 return E_NOTIMPL;
6009 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_layoutGridChar(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6011 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6012 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6013 return E_NOTIMPL;
6016 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_layoutGridChar(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6018 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6019 FIXME("(%p)->(%p)\n", This, p);
6020 return E_NOTIMPL;
6023 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_layoutGridLine(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6025 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6026 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6027 return E_NOTIMPL;
6030 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_layoutGridLine(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6032 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6033 FIXME("(%p)->(%p)\n", This, p);
6034 return E_NOTIMPL;
6037 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_layoutGridMode(IHTMLCSSStyleDeclaration *iface, BSTR v)
6039 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6040 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6041 return E_NOTIMPL;
6044 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_layoutGridMode(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6046 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6047 FIXME("(%p)->(%p)\n", This, p);
6048 return E_NOTIMPL;
6051 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_layoutGridType(IHTMLCSSStyleDeclaration *iface, BSTR v)
6053 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6054 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6055 return E_NOTIMPL;
6058 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_layoutGridType(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6060 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6061 FIXME("(%p)->(%p)\n", This, p);
6062 return E_NOTIMPL;
6065 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_layoutGrid(IHTMLCSSStyleDeclaration *iface, BSTR v)
6067 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6068 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6069 return E_NOTIMPL;
6072 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_layoutGrid(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6074 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6075 FIXME("(%p)->(%p)\n", This, p);
6076 return E_NOTIMPL;
6079 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textAutospace(IHTMLCSSStyleDeclaration *iface, BSTR v)
6081 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6082 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6083 return E_NOTIMPL;
6086 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textAutospace(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6088 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6089 FIXME("(%p)->(%p)\n", This, p);
6090 return E_NOTIMPL;
6093 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_wordBreak(IHTMLCSSStyleDeclaration *iface, BSTR v)
6095 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6096 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6097 return E_NOTIMPL;
6100 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_wordBreak(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6102 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6103 FIXME("(%p)->(%p)\n", This, p);
6104 return E_NOTIMPL;
6107 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_lineBreak(IHTMLCSSStyleDeclaration *iface, BSTR v)
6109 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6110 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6111 return E_NOTIMPL;
6114 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_lineBreak(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6116 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6117 FIXME("(%p)->(%p)\n", This, p);
6118 return E_NOTIMPL;
6121 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textJustify(IHTMLCSSStyleDeclaration *iface, BSTR v)
6123 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6124 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6125 return E_NOTIMPL;
6128 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textJustify(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6130 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6131 FIXME("(%p)->(%p)\n", This, p);
6132 return E_NOTIMPL;
6135 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textJustifyTrim(IHTMLCSSStyleDeclaration *iface, BSTR v)
6137 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6138 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6139 return E_NOTIMPL;
6142 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textJustifyTrim(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6144 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6145 FIXME("(%p)->(%p)\n", This, p);
6146 return E_NOTIMPL;
6149 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textKashida(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6151 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6152 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6153 return E_NOTIMPL;
6156 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textKashida(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6158 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6159 FIXME("(%p)->(%p)\n", This, p);
6160 return E_NOTIMPL;
6163 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_overflowX(IHTMLCSSStyleDeclaration *iface, BSTR v)
6165 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6166 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
6167 return set_style_property(This, STYLEID_OVERFLOW_X, v);
6170 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_overflowX(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6172 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6173 TRACE("(%p)->(%p)\n", This, p);
6174 return get_style_property(This, STYLEID_OVERFLOW_X, p);
6177 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_overflowY(IHTMLCSSStyleDeclaration *iface, BSTR v)
6179 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6180 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
6181 return set_style_property(This, STYLEID_OVERFLOW_Y, v);
6184 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_overflowY(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6186 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6187 TRACE("(%p)->(%p)\n", This, p);
6188 return get_style_property(This, STYLEID_OVERFLOW_Y, p);
6191 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_accelerator(IHTMLCSSStyleDeclaration *iface, BSTR v)
6193 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6194 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6195 return E_NOTIMPL;
6198 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_accelerator(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6200 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6201 FIXME("(%p)->(%p)\n", This, p);
6202 return E_NOTIMPL;
6205 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_layoutFlow(IHTMLCSSStyleDeclaration *iface, BSTR v)
6207 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6208 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6209 return E_NOTIMPL;
6212 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_layoutFlow(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6214 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6215 FIXME("(%p)->(%p)\n", This, p);
6216 return E_NOTIMPL;
6219 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_zoom(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6221 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6222 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6223 return E_NOTIMPL;
6226 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_zoom(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6228 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6229 FIXME("(%p)->(%p)\n", This, p);
6230 return E_NOTIMPL;
6233 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_wordWrap(IHTMLCSSStyleDeclaration *iface, BSTR v)
6235 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6236 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
6237 return set_style_property(This, STYLEID_WORD_WRAP, v);
6240 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_wordWrap(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6242 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6243 TRACE("(%p)->(%p)\n", This, p);
6244 return get_style_property(This, STYLEID_WORD_WRAP, p);
6247 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textUnderlinePosition(IHTMLCSSStyleDeclaration *iface, BSTR v)
6249 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6250 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6251 return E_NOTIMPL;
6254 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textUnderlinePosition(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6256 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6257 FIXME("(%p)->(%p)\n", This, p);
6258 return E_NOTIMPL;
6261 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbarBaseColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6263 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6264 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6265 return E_NOTIMPL;
6268 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbarBaseColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6270 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6271 FIXME("(%p)->(%p)\n", This, p);
6272 return E_NOTIMPL;
6275 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbarFaceColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6277 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6278 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6279 return E_NOTIMPL;
6282 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbarFaceColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6284 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6285 FIXME("(%p)->(%p)\n", This, p);
6286 return E_NOTIMPL;
6289 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbar3dLightColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6291 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6292 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6293 return E_NOTIMPL;
6296 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbar3dLightColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6298 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6299 FIXME("(%p)->(%p)\n", This, p);
6300 return E_NOTIMPL;
6303 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbarShadowColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6305 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6306 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6307 return E_NOTIMPL;
6310 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbarShadowColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6312 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6313 FIXME("(%p)->(%p)\n", This, p);
6314 return E_NOTIMPL;
6317 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbarHighlightColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6319 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6320 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6321 return E_NOTIMPL;
6324 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbarHighlightColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6326 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6327 FIXME("(%p)->(%p)\n", This, p);
6328 return E_NOTIMPL;
6331 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbarDarkShadowColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6333 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6334 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6335 return E_NOTIMPL;
6338 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbarDarkShadowColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6340 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6341 FIXME("(%p)->(%p)\n", This, p);
6342 return E_NOTIMPL;
6345 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbarArrowColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6347 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6348 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6349 return E_NOTIMPL;
6352 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbarArrowColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6354 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6355 FIXME("(%p)->(%p)\n", This, p);
6356 return E_NOTIMPL;
6359 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_scrollbarTrackColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6361 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6362 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6363 return E_NOTIMPL;
6366 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_scrollbarTrackColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6368 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6369 FIXME("(%p)->(%p)\n", This, p);
6370 return E_NOTIMPL;
6373 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_writingMode(IHTMLCSSStyleDeclaration *iface, BSTR v)
6375 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6376 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6377 return E_NOTIMPL;
6380 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_writingMode(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6382 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6383 FIXME("(%p)->(%p)\n", This, p);
6384 return E_NOTIMPL;
6387 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textAlignLast(IHTMLCSSStyleDeclaration *iface, BSTR v)
6389 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6390 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6391 return E_NOTIMPL;
6394 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textAlignLast(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6396 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6397 FIXME("(%p)->(%p)\n", This, p);
6398 return E_NOTIMPL;
6401 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textKashidaSpace(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6403 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6404 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6405 return E_NOTIMPL;
6408 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textKashidaSpace(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6410 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6411 FIXME("(%p)->(%p)\n", This, p);
6412 return E_NOTIMPL;
6415 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textOverflow(IHTMLCSSStyleDeclaration *iface, BSTR v)
6417 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6418 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6419 return E_NOTIMPL;
6422 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textOverflow(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6424 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6425 FIXME("(%p)->(%p)\n", This, p);
6426 return E_NOTIMPL;
6429 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_minHeight(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6431 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6432 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
6433 return set_style_property_var(This, STYLEID_MIN_HEIGHT, &v);
6436 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_minHeight(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6438 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6439 TRACE("(%p)->(%p)\n", This, p);
6440 return get_style_property_var(This, STYLEID_MIN_HEIGHT, p);
6443 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_msInterpolationMode(IHTMLCSSStyleDeclaration *iface, BSTR v)
6445 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6446 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6447 return E_NOTIMPL;
6450 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_msInterpolationMode(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6452 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6453 FIXME("(%p)->(%p)\n", This, p);
6454 return E_NOTIMPL;
6457 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_maxHeight(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6459 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6460 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
6461 return set_style_property_var(This, STYLEID_MAX_HEIGHT, &v);
6464 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_maxHeight(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6466 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6467 TRACE("(%p)->(%p)\n", This, p);
6468 return get_style_property_var(This, STYLEID_MAX_HEIGHT, p);
6471 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_minWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6473 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6474 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
6475 return set_style_property_var(This, STYLEID_MIN_WIDTH, &v);
6478 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_minWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6480 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6481 TRACE("(%p)->(%p)\n", This, p);
6482 return get_style_property_var(This, STYLEID_MIN_WIDTH, p);
6485 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_maxWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6487 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6488 TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
6489 return set_style_property_var(This, STYLEID_MAX_WIDTH, &v);
6492 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_maxWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6494 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6495 TRACE("(%p)->(%p)\n", This, p);
6496 return get_style_property_var(This, STYLEID_MAX_WIDTH, p);
6499 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_content(IHTMLCSSStyleDeclaration *iface, BSTR v)
6501 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6502 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6503 return E_NOTIMPL;
6506 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_content(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6508 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6509 FIXME("(%p)->(%p)\n", This, p);
6510 return E_NOTIMPL;
6513 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_captionSide(IHTMLCSSStyleDeclaration *iface, BSTR v)
6515 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6516 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6517 return E_NOTIMPL;
6520 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_captionSide(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6522 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6523 FIXME("(%p)->(%p)\n", This, p);
6524 return E_NOTIMPL;
6527 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_counterIncrement(IHTMLCSSStyleDeclaration *iface, BSTR v)
6529 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6530 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6531 return E_NOTIMPL;
6534 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_counterIncrement(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6536 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6537 FIXME("(%p)->(%p)\n", This, p);
6538 return E_NOTIMPL;
6541 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_counterReset(IHTMLCSSStyleDeclaration *iface, BSTR v)
6543 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6544 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6545 return E_NOTIMPL;
6548 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_counterReset(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6550 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6551 FIXME("(%p)->(%p)\n", This, p);
6552 return E_NOTIMPL;
6555 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_outline(IHTMLCSSStyleDeclaration *iface, BSTR v)
6557 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6558 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
6559 return set_style_property(This, STYLEID_OUTLINE, v);
6562 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_outline(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6564 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6565 TRACE("(%p)->(%p)\n", This, p);
6566 return get_style_property(This, STYLEID_OUTLINE, p);
6569 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_outlineWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6571 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6572 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6573 return E_NOTIMPL;
6576 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_outlineWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6578 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6579 FIXME("(%p)->(%p)\n", This, p);
6580 return E_NOTIMPL;
6583 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_outlineStyle(IHTMLCSSStyleDeclaration *iface, BSTR v)
6585 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6586 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6587 return E_NOTIMPL;
6590 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_outlineStyle(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6592 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6593 FIXME("(%p)->(%p)\n", This, p);
6594 return E_NOTIMPL;
6597 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_outlineColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6599 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6600 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6601 return E_NOTIMPL;
6604 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_outlineColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6606 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6607 FIXME("(%p)->(%p)\n", This, p);
6608 return E_NOTIMPL;
6611 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_boxSizing(IHTMLCSSStyleDeclaration *iface, BSTR v)
6613 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6614 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
6615 return set_style_property(This, STYLEID_BOX_SIZING, v);
6618 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_boxSizing(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6620 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6621 TRACE("(%p)->(%p)\n", This, p);
6622 return get_style_property(This, STYLEID_BOX_SIZING, p);
6625 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderSpacing(IHTMLCSSStyleDeclaration *iface, BSTR v)
6627 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6628 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6629 return E_NOTIMPL;
6632 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderSpacing(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6634 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6635 FIXME("(%p)->(%p)\n", This, p);
6636 return E_NOTIMPL;
6639 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_orphans(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6641 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6642 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6643 return E_NOTIMPL;
6646 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_orphans(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6648 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6649 FIXME("(%p)->(%p)\n", This, p);
6650 return E_NOTIMPL;
6653 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_widows(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6655 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6656 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6657 return E_NOTIMPL;
6660 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_widows(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6662 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6663 FIXME("(%p)->(%p)\n", This, p);
6664 return E_NOTIMPL;
6667 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_pageBreakInside(IHTMLCSSStyleDeclaration *iface, BSTR v)
6669 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6670 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6671 return E_NOTIMPL;
6674 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_pageBreakInside(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6676 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6677 FIXME("(%p)->(%p)\n", This, p);
6678 return E_NOTIMPL;
6681 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_emptyCells(IHTMLCSSStyleDeclaration *iface, BSTR v)
6683 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6684 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6685 return E_NOTIMPL;
6688 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_emptyCells(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6690 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6691 FIXME("(%p)->(%p)\n", This, p);
6692 return E_NOTIMPL;
6695 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_msBlockProgression(IHTMLCSSStyleDeclaration *iface, BSTR v)
6697 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6698 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6699 return E_NOTIMPL;
6702 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_msBlockProgression(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6704 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6705 FIXME("(%p)->(%p)\n", This, p);
6706 return E_NOTIMPL;
6709 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_quotes(IHTMLCSSStyleDeclaration *iface, BSTR v)
6711 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6712 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6713 return E_NOTIMPL;
6716 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_quotes(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6718 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6719 FIXME("(%p)->(%p)\n", This, p);
6720 return E_NOTIMPL;
6723 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_alignmentBaseline(IHTMLCSSStyleDeclaration *iface, BSTR v)
6725 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6726 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6727 return E_NOTIMPL;
6730 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_alignmentBaseline(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6732 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6733 FIXME("(%p)->(%p)\n", This, p);
6734 return E_NOTIMPL;
6737 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_baselineShift(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6739 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6740 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6741 return E_NOTIMPL;
6744 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_baselineShift(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6746 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6747 FIXME("(%p)->(%p)\n", This, p);
6748 return E_NOTIMPL;
6751 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_dominantBaseline(IHTMLCSSStyleDeclaration *iface, BSTR v)
6753 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6754 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6755 return E_NOTIMPL;
6758 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_dominantBaseline(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6760 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6761 FIXME("(%p)->(%p)\n", This, p);
6762 return E_NOTIMPL;
6765 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fontSizeAdjust(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6767 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6768 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6769 return E_NOTIMPL;
6772 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontSizeAdjust(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6774 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6775 FIXME("(%p)->(%p)\n", This, p);
6776 return E_NOTIMPL;
6779 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fontStretch(IHTMLCSSStyleDeclaration *iface, BSTR v)
6781 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6782 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6783 return E_NOTIMPL;
6786 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fontStretch(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6788 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6789 FIXME("(%p)->(%p)\n", This, p);
6790 return E_NOTIMPL;
6793 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_opacity(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6795 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6796 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6797 return E_NOTIMPL;
6800 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_opacity(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6802 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6803 FIXME("(%p)->(%p)\n", This, p);
6804 return E_NOTIMPL;
6807 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_clipPath(IHTMLCSSStyleDeclaration *iface, BSTR v)
6809 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6810 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6811 return E_NOTIMPL;
6814 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clipPath(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6816 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6817 FIXME("(%p)->(%p)\n", This, p);
6818 return E_NOTIMPL;
6821 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_clipRule(IHTMLCSSStyleDeclaration *iface, BSTR v)
6823 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6824 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6825 return E_NOTIMPL;
6828 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clipRule(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6830 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6831 FIXME("(%p)->(%p)\n", This, p);
6832 return E_NOTIMPL;
6835 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fill(IHTMLCSSStyleDeclaration *iface, BSTR v)
6837 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6838 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6839 return E_NOTIMPL;
6842 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fill(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6844 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6845 FIXME("(%p)->(%p)\n", This, p);
6846 return E_NOTIMPL;
6849 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fillOpacity(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6851 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6852 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6853 return E_NOTIMPL;
6856 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fillOpacity(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6858 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6859 FIXME("(%p)->(%p)\n", This, p);
6860 return E_NOTIMPL;
6863 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_fillRule(IHTMLCSSStyleDeclaration *iface, BSTR v)
6865 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6866 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6867 return E_NOTIMPL;
6870 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_fillRule(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6872 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6873 FIXME("(%p)->(%p)\n", This, p);
6874 return E_NOTIMPL;
6877 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_kerning(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6879 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6880 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6881 return E_NOTIMPL;
6884 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_kerning(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6886 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6887 FIXME("(%p)->(%p)\n", This, p);
6888 return E_NOTIMPL;
6891 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_marker(IHTMLCSSStyleDeclaration *iface, BSTR v)
6893 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6894 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6895 return E_NOTIMPL;
6898 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_marker(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6900 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6901 FIXME("(%p)->(%p)\n", This, p);
6902 return E_NOTIMPL;
6905 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_markerEnd(IHTMLCSSStyleDeclaration *iface, BSTR v)
6907 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6908 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6909 return E_NOTIMPL;
6912 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_markerEnd(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6914 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6915 FIXME("(%p)->(%p)\n", This, p);
6916 return E_NOTIMPL;
6919 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_markerMid(IHTMLCSSStyleDeclaration *iface, BSTR v)
6921 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6922 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6923 return E_NOTIMPL;
6926 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_markerMid(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6928 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6929 FIXME("(%p)->(%p)\n", This, p);
6930 return E_NOTIMPL;
6933 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_markerStart(IHTMLCSSStyleDeclaration *iface, BSTR v)
6935 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6936 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6937 return E_NOTIMPL;
6940 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_markerStart(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6942 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6943 FIXME("(%p)->(%p)\n", This, p);
6944 return E_NOTIMPL;
6947 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_mask(IHTMLCSSStyleDeclaration *iface, BSTR v)
6949 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6950 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6951 return E_NOTIMPL;
6954 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_mask(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6956 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6957 FIXME("(%p)->(%p)\n", This, p);
6958 return E_NOTIMPL;
6961 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_pointerEvents(IHTMLCSSStyleDeclaration *iface, BSTR v)
6963 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6964 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
6965 return E_NOTIMPL;
6968 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_pointerEvents(IHTMLCSSStyleDeclaration *iface, BSTR *p)
6970 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6971 FIXME("(%p)->(%p)\n", This, p);
6972 return E_NOTIMPL;
6975 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_stopColor(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6977 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6978 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6979 return E_NOTIMPL;
6982 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_stopColor(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6984 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6985 FIXME("(%p)->(%p)\n", This, p);
6986 return E_NOTIMPL;
6989 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_stopOpacity(IHTMLCSSStyleDeclaration *iface, VARIANT v)
6991 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6992 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
6993 return E_NOTIMPL;
6996 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_stopOpacity(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
6998 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
6999 FIXME("(%p)->(%p)\n", This, p);
7000 return E_NOTIMPL;
7003 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_stroke(IHTMLCSSStyleDeclaration *iface, BSTR v)
7005 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7006 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7007 return E_NOTIMPL;
7010 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_stroke(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7012 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7013 FIXME("(%p)->(%p)\n", This, p);
7014 return E_NOTIMPL;
7017 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_strokeDasharray(IHTMLCSSStyleDeclaration *iface, BSTR v)
7019 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7020 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7021 return E_NOTIMPL;
7024 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_strokeDasharray(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7026 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7027 FIXME("(%p)->(%p)\n", This, p);
7028 return E_NOTIMPL;
7031 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_strokeDashoffset(IHTMLCSSStyleDeclaration *iface, VARIANT v)
7033 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7034 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
7035 return E_NOTIMPL;
7038 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_strokeDashoffset(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
7040 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7041 FIXME("(%p)->(%p)\n", This, p);
7042 return E_NOTIMPL;
7045 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_strokeLinecap(IHTMLCSSStyleDeclaration *iface, BSTR v)
7047 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7048 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7049 return E_NOTIMPL;
7052 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_strokeLinecap(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7054 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7055 FIXME("(%p)->(%p)\n", This, p);
7056 return E_NOTIMPL;
7059 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_strokeLinejoin(IHTMLCSSStyleDeclaration *iface, BSTR v)
7061 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7062 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7063 return E_NOTIMPL;
7066 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_strokeLinejoin(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7068 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7069 FIXME("(%p)->(%p)\n", This, p);
7070 return E_NOTIMPL;
7073 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_strokeMiterlimit(IHTMLCSSStyleDeclaration *iface, VARIANT v)
7075 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7076 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
7077 return E_NOTIMPL;
7080 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_strokeMiterlimit(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
7082 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7083 FIXME("(%p)->(%p)\n", This, p);
7084 return E_NOTIMPL;
7087 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_strokeOpacity(IHTMLCSSStyleDeclaration *iface, VARIANT v)
7089 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7090 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
7091 return E_NOTIMPL;
7094 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_strokeOpacity(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
7096 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7097 FIXME("(%p)->(%p)\n", This, p);
7098 return E_NOTIMPL;
7101 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_strokeWidth(IHTMLCSSStyleDeclaration *iface, VARIANT v)
7103 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7104 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
7105 return E_NOTIMPL;
7108 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_strokeWidth(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
7110 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7111 FIXME("(%p)->(%p)\n", This, p);
7112 return E_NOTIMPL;
7115 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_textAnchor(IHTMLCSSStyleDeclaration *iface, BSTR v)
7117 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7118 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7119 return E_NOTIMPL;
7122 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_textAnchor(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7124 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7125 FIXME("(%p)->(%p)\n", This, p);
7126 return E_NOTIMPL;
7129 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_glyphOrientationHorizontal(IHTMLCSSStyleDeclaration *iface, VARIANT v)
7131 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7132 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
7133 return E_NOTIMPL;
7136 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_glyphOrientationHorizontal(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
7138 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7139 FIXME("(%p)->(%p)\n", This, p);
7140 return E_NOTIMPL;
7143 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_glyphOrientationVertical(IHTMLCSSStyleDeclaration *iface, VARIANT v)
7145 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7146 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
7147 return E_NOTIMPL;
7150 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_glyphOrientationVertical(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
7152 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7153 FIXME("(%p)->(%p)\n", This, p);
7154 return E_NOTIMPL;
7157 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderRadius(IHTMLCSSStyleDeclaration *iface, BSTR v)
7159 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7160 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7161 return E_NOTIMPL;
7164 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderRadius(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7166 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7167 FIXME("(%p)->(%p)\n", This, p);
7168 return E_NOTIMPL;
7171 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderTopLeftRadius(IHTMLCSSStyleDeclaration *iface, BSTR v)
7173 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7174 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7175 return E_NOTIMPL;
7178 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderTopLeftRadius(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7180 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7181 FIXME("(%p)->(%p)\n", This, p);
7182 return E_NOTIMPL;
7185 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderTopRightRadius(IHTMLCSSStyleDeclaration *iface, BSTR v)
7187 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7188 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7189 return E_NOTIMPL;
7192 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderTopRightRadius(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7194 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7195 FIXME("(%p)->(%p)\n", This, p);
7196 return E_NOTIMPL;
7199 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderBottomRightRadius(IHTMLCSSStyleDeclaration *iface, BSTR v)
7201 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7202 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7203 return E_NOTIMPL;
7206 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderBottomRightRadius(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7208 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7209 FIXME("(%p)->(%p)\n", This, p);
7210 return E_NOTIMPL;
7213 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_borderBottomLeftRadius(IHTMLCSSStyleDeclaration *iface, BSTR v)
7215 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7216 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7217 return E_NOTIMPL;
7220 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_borderBottomLeftRadius(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7222 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7223 FIXME("(%p)->(%p)\n", This, p);
7224 return E_NOTIMPL;
7227 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_clipTop(IHTMLCSSStyleDeclaration *iface, VARIANT v)
7229 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7230 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
7231 return E_NOTIMPL;
7234 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clipTop(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
7236 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7237 FIXME("(%p)->(%p)\n", This, p);
7238 return E_NOTIMPL;
7241 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_clipRight(IHTMLCSSStyleDeclaration *iface, VARIANT v)
7243 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7244 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
7245 return E_NOTIMPL;
7248 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clipRight(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
7250 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7251 FIXME("(%p)->(%p)\n", This, p);
7252 return E_NOTIMPL;
7255 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clipBottom(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
7257 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7258 FIXME("(%p)->(%p)\n", This, p);
7259 return E_NOTIMPL;
7262 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_clipLeft(IHTMLCSSStyleDeclaration *iface, VARIANT v)
7264 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7265 FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
7266 return E_NOTIMPL;
7269 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_clipLeft(IHTMLCSSStyleDeclaration *iface, VARIANT *p)
7271 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7272 FIXME("(%p)->(%p)\n", This, p);
7273 return E_NOTIMPL;
7276 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_cssFloat(IHTMLCSSStyleDeclaration *iface, BSTR v)
7278 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7279 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7280 return E_NOTIMPL;
7283 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_cssFloat(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7285 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7286 FIXME("(%p)->(%p)\n", This, p);
7287 return E_NOTIMPL;
7290 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundClip(IHTMLCSSStyleDeclaration *iface, BSTR v)
7292 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7293 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7294 return E_NOTIMPL;
7297 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundClip(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7299 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7300 FIXME("(%p)->(%p)\n", This, p);
7301 return E_NOTIMPL;
7304 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundOrigin(IHTMLCSSStyleDeclaration *iface, BSTR v)
7306 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7307 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7308 return E_NOTIMPL;
7311 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundOrigin(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7313 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7314 FIXME("(%p)->(%p)\n", This, p);
7315 return E_NOTIMPL;
7318 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_backgroundSize(IHTMLCSSStyleDeclaration *iface, BSTR v)
7320 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7321 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7322 return E_NOTIMPL;
7325 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_backgroundSize(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7327 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7328 FIXME("(%p)->(%p)\n", This, p);
7329 return E_NOTIMPL;
7332 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_boxShadow(IHTMLCSSStyleDeclaration *iface, BSTR v)
7334 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7335 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7336 return E_NOTIMPL;
7339 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_boxShadow(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7341 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7342 FIXME("(%p)->(%p)\n", This, p);
7343 return E_NOTIMPL;
7346 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_msTransform(IHTMLCSSStyleDeclaration *iface, BSTR v)
7348 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7349 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7350 return E_NOTIMPL;
7353 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_msTransform(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7355 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7356 FIXME("(%p)->(%p)\n", This, p);
7357 return E_NOTIMPL;
7360 static HRESULT WINAPI HTMLCSSStyleDeclaration_put_msTransformOrigin(IHTMLCSSStyleDeclaration *iface, BSTR v)
7362 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7363 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
7364 return E_NOTIMPL;
7367 static HRESULT WINAPI HTMLCSSStyleDeclaration_get_msTransformOrigin(IHTMLCSSStyleDeclaration *iface, BSTR *p)
7369 HTMLStyle *This = impl_from_IHTMLCSSStyleDeclaration(iface);
7370 FIXME("(%p)->(%p)\n", This, p);
7371 return E_NOTIMPL;
7374 static const IHTMLCSSStyleDeclarationVtbl HTMLCSSStyleDeclarationVtbl = {
7375 HTMLCSSStyleDeclaration_QueryInterface,
7376 HTMLCSSStyleDeclaration_AddRef,
7377 HTMLCSSStyleDeclaration_Release,
7378 HTMLCSSStyleDeclaration_GetTypeInfoCount,
7379 HTMLCSSStyleDeclaration_GetTypeInfo,
7380 HTMLCSSStyleDeclaration_GetIDsOfNames,
7381 HTMLCSSStyleDeclaration_Invoke,
7382 HTMLCSSStyleDeclaration_get_length,
7383 HTMLCSSStyleDeclaration_get_parentRule,
7384 HTMLCSSStyleDeclaration_getPropertyValue,
7385 HTMLCSSStyleDeclaration_getPropertyPriority,
7386 HTMLCSSStyleDeclaration_removeProperty,
7387 HTMLCSSStyleDeclaration_setProperty,
7388 HTMLCSSStyleDeclaration_item,
7389 HTMLCSSStyleDeclaration_put_fontFamily,
7390 HTMLCSSStyleDeclaration_get_fontFamily,
7391 HTMLCSSStyleDeclaration_put_fontStyle,
7392 HTMLCSSStyleDeclaration_get_fontStyle,
7393 HTMLCSSStyleDeclaration_put_fontVariant,
7394 HTMLCSSStyleDeclaration_get_fontVariant,
7395 HTMLCSSStyleDeclaration_put_fontWeight,
7396 HTMLCSSStyleDeclaration_get_fontWeight,
7397 HTMLCSSStyleDeclaration_put_fontSize,
7398 HTMLCSSStyleDeclaration_get_fontSize,
7399 HTMLCSSStyleDeclaration_put_font,
7400 HTMLCSSStyleDeclaration_get_font,
7401 HTMLCSSStyleDeclaration_put_color,
7402 HTMLCSSStyleDeclaration_get_color,
7403 HTMLCSSStyleDeclaration_put_background,
7404 HTMLCSSStyleDeclaration_get_background,
7405 HTMLCSSStyleDeclaration_put_backgroundColor,
7406 HTMLCSSStyleDeclaration_get_backgroundColor,
7407 HTMLCSSStyleDeclaration_put_backgroundImage,
7408 HTMLCSSStyleDeclaration_get_backgroundImage,
7409 HTMLCSSStyleDeclaration_put_backgroundRepeat,
7410 HTMLCSSStyleDeclaration_get_backgroundRepeat,
7411 HTMLCSSStyleDeclaration_put_backgroundAttachment,
7412 HTMLCSSStyleDeclaration_get_backgroundAttachment,
7413 HTMLCSSStyleDeclaration_put_backgroundPosition,
7414 HTMLCSSStyleDeclaration_get_backgroundPosition,
7415 HTMLCSSStyleDeclaration_put_backgroundPositionX,
7416 HTMLCSSStyleDeclaration_get_backgroundPositionX,
7417 HTMLCSSStyleDeclaration_put_backgroundPositionY,
7418 HTMLCSSStyleDeclaration_get_backgroundPositionY,
7419 HTMLCSSStyleDeclaration_put_wordSpacing,
7420 HTMLCSSStyleDeclaration_get_wordSpacing,
7421 HTMLCSSStyleDeclaration_put_letterSpacing,
7422 HTMLCSSStyleDeclaration_get_letterSpacing,
7423 HTMLCSSStyleDeclaration_put_textDecoration,
7424 HTMLCSSStyleDeclaration_get_textDecoration,
7425 HTMLCSSStyleDeclaration_put_verticalAlign,
7426 HTMLCSSStyleDeclaration_get_verticalAlign,
7427 HTMLCSSStyleDeclaration_put_textTransform,
7428 HTMLCSSStyleDeclaration_get_textTransform,
7429 HTMLCSSStyleDeclaration_put_textAlign,
7430 HTMLCSSStyleDeclaration_get_textAlign,
7431 HTMLCSSStyleDeclaration_put_textIndent,
7432 HTMLCSSStyleDeclaration_get_textIndent,
7433 HTMLCSSStyleDeclaration_put_lineHeight,
7434 HTMLCSSStyleDeclaration_get_lineHeight,
7435 HTMLCSSStyleDeclaration_put_marginTop,
7436 HTMLCSSStyleDeclaration_get_marginTop,
7437 HTMLCSSStyleDeclaration_put_marginRight,
7438 HTMLCSSStyleDeclaration_get_marginRight,
7439 HTMLCSSStyleDeclaration_put_marginBottom,
7440 HTMLCSSStyleDeclaration_get_marginBottom,
7441 HTMLCSSStyleDeclaration_put_marginLeft,
7442 HTMLCSSStyleDeclaration_get_marginLeft,
7443 HTMLCSSStyleDeclaration_put_margin,
7444 HTMLCSSStyleDeclaration_get_margin,
7445 HTMLCSSStyleDeclaration_put_paddingTop,
7446 HTMLCSSStyleDeclaration_get_paddingTop,
7447 HTMLCSSStyleDeclaration_put_paddingRight,
7448 HTMLCSSStyleDeclaration_get_paddingRight,
7449 HTMLCSSStyleDeclaration_put_paddingBottom,
7450 HTMLCSSStyleDeclaration_get_paddingBottom,
7451 HTMLCSSStyleDeclaration_put_paddingLeft,
7452 HTMLCSSStyleDeclaration_get_paddingLeft,
7453 HTMLCSSStyleDeclaration_put_padding,
7454 HTMLCSSStyleDeclaration_get_padding,
7455 HTMLCSSStyleDeclaration_put_border,
7456 HTMLCSSStyleDeclaration_get_border,
7457 HTMLCSSStyleDeclaration_put_borderTop,
7458 HTMLCSSStyleDeclaration_get_borderTop,
7459 HTMLCSSStyleDeclaration_put_borderRight,
7460 HTMLCSSStyleDeclaration_get_borderRight,
7461 HTMLCSSStyleDeclaration_put_borderBottom,
7462 HTMLCSSStyleDeclaration_get_borderBottom,
7463 HTMLCSSStyleDeclaration_put_borderLeft,
7464 HTMLCSSStyleDeclaration_get_borderLeft,
7465 HTMLCSSStyleDeclaration_put_borderColor,
7466 HTMLCSSStyleDeclaration_get_borderColor,
7467 HTMLCSSStyleDeclaration_put_borderTopColor,
7468 HTMLCSSStyleDeclaration_get_borderTopColor,
7469 HTMLCSSStyleDeclaration_put_borderRightColor,
7470 HTMLCSSStyleDeclaration_get_borderRightColor,
7471 HTMLCSSStyleDeclaration_put_borderBottomColor,
7472 HTMLCSSStyleDeclaration_get_borderBottomColor,
7473 HTMLCSSStyleDeclaration_put_borderLeftColor,
7474 HTMLCSSStyleDeclaration_get_borderLeftColor,
7475 HTMLCSSStyleDeclaration_put_borderWidth,
7476 HTMLCSSStyleDeclaration_get_borderWidth,
7477 HTMLCSSStyleDeclaration_put_borderTopWidth,
7478 HTMLCSSStyleDeclaration_get_borderTopWidth,
7479 HTMLCSSStyleDeclaration_put_borderRightWidth,
7480 HTMLCSSStyleDeclaration_get_borderRightWidth,
7481 HTMLCSSStyleDeclaration_put_borderBottomWidth,
7482 HTMLCSSStyleDeclaration_get_borderBottomWidth,
7483 HTMLCSSStyleDeclaration_put_borderLeftWidth,
7484 HTMLCSSStyleDeclaration_get_borderLeftWidth,
7485 HTMLCSSStyleDeclaration_put_borderStyle,
7486 HTMLCSSStyleDeclaration_get_borderStyle,
7487 HTMLCSSStyleDeclaration_put_borderTopStyle,
7488 HTMLCSSStyleDeclaration_get_borderTopStyle,
7489 HTMLCSSStyleDeclaration_put_borderRightStyle,
7490 HTMLCSSStyleDeclaration_get_borderRightStyle,
7491 HTMLCSSStyleDeclaration_put_borderBottomStyle,
7492 HTMLCSSStyleDeclaration_get_borderBottomStyle,
7493 HTMLCSSStyleDeclaration_put_borderLeftStyle,
7494 HTMLCSSStyleDeclaration_get_borderLeftStyle,
7495 HTMLCSSStyleDeclaration_put_width,
7496 HTMLCSSStyleDeclaration_get_width,
7497 HTMLCSSStyleDeclaration_put_height,
7498 HTMLCSSStyleDeclaration_get_height,
7499 HTMLCSSStyleDeclaration_put_styleFloat,
7500 HTMLCSSStyleDeclaration_get_styleFloat,
7501 HTMLCSSStyleDeclaration_put_clear,
7502 HTMLCSSStyleDeclaration_get_clear,
7503 HTMLCSSStyleDeclaration_put_display,
7504 HTMLCSSStyleDeclaration_get_display,
7505 HTMLCSSStyleDeclaration_put_visibility,
7506 HTMLCSSStyleDeclaration_get_visibility,
7507 HTMLCSSStyleDeclaration_put_listStyleType,
7508 HTMLCSSStyleDeclaration_get_listStyleType,
7509 HTMLCSSStyleDeclaration_put_listStylePosition,
7510 HTMLCSSStyleDeclaration_get_listStylePosition,
7511 HTMLCSSStyleDeclaration_put_listStyleImage,
7512 HTMLCSSStyleDeclaration_get_listStyleImage,
7513 HTMLCSSStyleDeclaration_put_listStyle,
7514 HTMLCSSStyleDeclaration_get_listStyle,
7515 HTMLCSSStyleDeclaration_put_whiteSpace,
7516 HTMLCSSStyleDeclaration_get_whiteSpace,
7517 HTMLCSSStyleDeclaration_put_top,
7518 HTMLCSSStyleDeclaration_get_top,
7519 HTMLCSSStyleDeclaration_put_left,
7520 HTMLCSSStyleDeclaration_get_left,
7521 HTMLCSSStyleDeclaration_put_zIndex,
7522 HTMLCSSStyleDeclaration_get_zIndex,
7523 HTMLCSSStyleDeclaration_put_overflow,
7524 HTMLCSSStyleDeclaration_get_overflow,
7525 HTMLCSSStyleDeclaration_put_pageBreakBefore,
7526 HTMLCSSStyleDeclaration_get_pageBreakBefore,
7527 HTMLCSSStyleDeclaration_put_pageBreakAfter,
7528 HTMLCSSStyleDeclaration_get_pageBreakAfter,
7529 HTMLCSSStyleDeclaration_put_cssText,
7530 HTMLCSSStyleDeclaration_get_cssText,
7531 HTMLCSSStyleDeclaration_put_cursor,
7532 HTMLCSSStyleDeclaration_get_cursor,
7533 HTMLCSSStyleDeclaration_put_clip,
7534 HTMLCSSStyleDeclaration_get_clip,
7535 HTMLCSSStyleDeclaration_put_filter,
7536 HTMLCSSStyleDeclaration_get_filter,
7537 HTMLCSSStyleDeclaration_put_tableLayout,
7538 HTMLCSSStyleDeclaration_get_tableLayout,
7539 HTMLCSSStyleDeclaration_put_borderCollapse,
7540 HTMLCSSStyleDeclaration_get_borderCollapse,
7541 HTMLCSSStyleDeclaration_put_direction,
7542 HTMLCSSStyleDeclaration_get_direction,
7543 HTMLCSSStyleDeclaration_put_behavior,
7544 HTMLCSSStyleDeclaration_get_behavior,
7545 HTMLCSSStyleDeclaration_put_position,
7546 HTMLCSSStyleDeclaration_get_position,
7547 HTMLCSSStyleDeclaration_put_unicodeBidi,
7548 HTMLCSSStyleDeclaration_get_unicodeBidi,
7549 HTMLCSSStyleDeclaration_put_bottom,
7550 HTMLCSSStyleDeclaration_get_bottom,
7551 HTMLCSSStyleDeclaration_put_right,
7552 HTMLCSSStyleDeclaration_get_right,
7553 HTMLCSSStyleDeclaration_put_imeMode,
7554 HTMLCSSStyleDeclaration_get_imeMode,
7555 HTMLCSSStyleDeclaration_put_rubyAlign,
7556 HTMLCSSStyleDeclaration_get_rubyAlign,
7557 HTMLCSSStyleDeclaration_put_rubyPosition,
7558 HTMLCSSStyleDeclaration_get_rubyPosition,
7559 HTMLCSSStyleDeclaration_put_rubyOverhang,
7560 HTMLCSSStyleDeclaration_get_rubyOverhang,
7561 HTMLCSSStyleDeclaration_put_layoutGridChar,
7562 HTMLCSSStyleDeclaration_get_layoutGridChar,
7563 HTMLCSSStyleDeclaration_put_layoutGridLine,
7564 HTMLCSSStyleDeclaration_get_layoutGridLine,
7565 HTMLCSSStyleDeclaration_put_layoutGridMode,
7566 HTMLCSSStyleDeclaration_get_layoutGridMode,
7567 HTMLCSSStyleDeclaration_put_layoutGridType,
7568 HTMLCSSStyleDeclaration_get_layoutGridType,
7569 HTMLCSSStyleDeclaration_put_layoutGrid,
7570 HTMLCSSStyleDeclaration_get_layoutGrid,
7571 HTMLCSSStyleDeclaration_put_textAutospace,
7572 HTMLCSSStyleDeclaration_get_textAutospace,
7573 HTMLCSSStyleDeclaration_put_wordBreak,
7574 HTMLCSSStyleDeclaration_get_wordBreak,
7575 HTMLCSSStyleDeclaration_put_lineBreak,
7576 HTMLCSSStyleDeclaration_get_lineBreak,
7577 HTMLCSSStyleDeclaration_put_textJustify,
7578 HTMLCSSStyleDeclaration_get_textJustify,
7579 HTMLCSSStyleDeclaration_put_textJustifyTrim,
7580 HTMLCSSStyleDeclaration_get_textJustifyTrim,
7581 HTMLCSSStyleDeclaration_put_textKashida,
7582 HTMLCSSStyleDeclaration_get_textKashida,
7583 HTMLCSSStyleDeclaration_put_overflowX,
7584 HTMLCSSStyleDeclaration_get_overflowX,
7585 HTMLCSSStyleDeclaration_put_overflowY,
7586 HTMLCSSStyleDeclaration_get_overflowY,
7587 HTMLCSSStyleDeclaration_put_accelerator,
7588 HTMLCSSStyleDeclaration_get_accelerator,
7589 HTMLCSSStyleDeclaration_put_layoutFlow,
7590 HTMLCSSStyleDeclaration_get_layoutFlow,
7591 HTMLCSSStyleDeclaration_put_zoom,
7592 HTMLCSSStyleDeclaration_get_zoom,
7593 HTMLCSSStyleDeclaration_put_wordWrap,
7594 HTMLCSSStyleDeclaration_get_wordWrap,
7595 HTMLCSSStyleDeclaration_put_textUnderlinePosition,
7596 HTMLCSSStyleDeclaration_get_textUnderlinePosition,
7597 HTMLCSSStyleDeclaration_put_scrollbarBaseColor,
7598 HTMLCSSStyleDeclaration_get_scrollbarBaseColor,
7599 HTMLCSSStyleDeclaration_put_scrollbarFaceColor,
7600 HTMLCSSStyleDeclaration_get_scrollbarFaceColor,
7601 HTMLCSSStyleDeclaration_put_scrollbar3dLightColor,
7602 HTMLCSSStyleDeclaration_get_scrollbar3dLightColor,
7603 HTMLCSSStyleDeclaration_put_scrollbarShadowColor,
7604 HTMLCSSStyleDeclaration_get_scrollbarShadowColor,
7605 HTMLCSSStyleDeclaration_put_scrollbarHighlightColor,
7606 HTMLCSSStyleDeclaration_get_scrollbarHighlightColor,
7607 HTMLCSSStyleDeclaration_put_scrollbarDarkShadowColor,
7608 HTMLCSSStyleDeclaration_get_scrollbarDarkShadowColor,
7609 HTMLCSSStyleDeclaration_put_scrollbarArrowColor,
7610 HTMLCSSStyleDeclaration_get_scrollbarArrowColor,
7611 HTMLCSSStyleDeclaration_put_scrollbarTrackColor,
7612 HTMLCSSStyleDeclaration_get_scrollbarTrackColor,
7613 HTMLCSSStyleDeclaration_put_writingMode,
7614 HTMLCSSStyleDeclaration_get_writingMode,
7615 HTMLCSSStyleDeclaration_put_textAlignLast,
7616 HTMLCSSStyleDeclaration_get_textAlignLast,
7617 HTMLCSSStyleDeclaration_put_textKashidaSpace,
7618 HTMLCSSStyleDeclaration_get_textKashidaSpace,
7619 HTMLCSSStyleDeclaration_put_textOverflow,
7620 HTMLCSSStyleDeclaration_get_textOverflow,
7621 HTMLCSSStyleDeclaration_put_minHeight,
7622 HTMLCSSStyleDeclaration_get_minHeight,
7623 HTMLCSSStyleDeclaration_put_msInterpolationMode,
7624 HTMLCSSStyleDeclaration_get_msInterpolationMode,
7625 HTMLCSSStyleDeclaration_put_maxHeight,
7626 HTMLCSSStyleDeclaration_get_maxHeight,
7627 HTMLCSSStyleDeclaration_put_minWidth,
7628 HTMLCSSStyleDeclaration_get_minWidth,
7629 HTMLCSSStyleDeclaration_put_maxWidth,
7630 HTMLCSSStyleDeclaration_get_maxWidth,
7631 HTMLCSSStyleDeclaration_put_content,
7632 HTMLCSSStyleDeclaration_get_content,
7633 HTMLCSSStyleDeclaration_put_captionSide,
7634 HTMLCSSStyleDeclaration_get_captionSide,
7635 HTMLCSSStyleDeclaration_put_counterIncrement,
7636 HTMLCSSStyleDeclaration_get_counterIncrement,
7637 HTMLCSSStyleDeclaration_put_counterReset,
7638 HTMLCSSStyleDeclaration_get_counterReset,
7639 HTMLCSSStyleDeclaration_put_outline,
7640 HTMLCSSStyleDeclaration_get_outline,
7641 HTMLCSSStyleDeclaration_put_outlineWidth,
7642 HTMLCSSStyleDeclaration_get_outlineWidth,
7643 HTMLCSSStyleDeclaration_put_outlineStyle,
7644 HTMLCSSStyleDeclaration_get_outlineStyle,
7645 HTMLCSSStyleDeclaration_put_outlineColor,
7646 HTMLCSSStyleDeclaration_get_outlineColor,
7647 HTMLCSSStyleDeclaration_put_boxSizing,
7648 HTMLCSSStyleDeclaration_get_boxSizing,
7649 HTMLCSSStyleDeclaration_put_borderSpacing,
7650 HTMLCSSStyleDeclaration_get_borderSpacing,
7651 HTMLCSSStyleDeclaration_put_orphans,
7652 HTMLCSSStyleDeclaration_get_orphans,
7653 HTMLCSSStyleDeclaration_put_widows,
7654 HTMLCSSStyleDeclaration_get_widows,
7655 HTMLCSSStyleDeclaration_put_pageBreakInside,
7656 HTMLCSSStyleDeclaration_get_pageBreakInside,
7657 HTMLCSSStyleDeclaration_put_emptyCells,
7658 HTMLCSSStyleDeclaration_get_emptyCells,
7659 HTMLCSSStyleDeclaration_put_msBlockProgression,
7660 HTMLCSSStyleDeclaration_get_msBlockProgression,
7661 HTMLCSSStyleDeclaration_put_quotes,
7662 HTMLCSSStyleDeclaration_get_quotes,
7663 HTMLCSSStyleDeclaration_put_alignmentBaseline,
7664 HTMLCSSStyleDeclaration_get_alignmentBaseline,
7665 HTMLCSSStyleDeclaration_put_baselineShift,
7666 HTMLCSSStyleDeclaration_get_baselineShift,
7667 HTMLCSSStyleDeclaration_put_dominantBaseline,
7668 HTMLCSSStyleDeclaration_get_dominantBaseline,
7669 HTMLCSSStyleDeclaration_put_fontSizeAdjust,
7670 HTMLCSSStyleDeclaration_get_fontSizeAdjust,
7671 HTMLCSSStyleDeclaration_put_fontStretch,
7672 HTMLCSSStyleDeclaration_get_fontStretch,
7673 HTMLCSSStyleDeclaration_put_opacity,
7674 HTMLCSSStyleDeclaration_get_opacity,
7675 HTMLCSSStyleDeclaration_put_clipPath,
7676 HTMLCSSStyleDeclaration_get_clipPath,
7677 HTMLCSSStyleDeclaration_put_clipRule,
7678 HTMLCSSStyleDeclaration_get_clipRule,
7679 HTMLCSSStyleDeclaration_put_fill,
7680 HTMLCSSStyleDeclaration_get_fill,
7681 HTMLCSSStyleDeclaration_put_fillOpacity,
7682 HTMLCSSStyleDeclaration_get_fillOpacity,
7683 HTMLCSSStyleDeclaration_put_fillRule,
7684 HTMLCSSStyleDeclaration_get_fillRule,
7685 HTMLCSSStyleDeclaration_put_kerning,
7686 HTMLCSSStyleDeclaration_get_kerning,
7687 HTMLCSSStyleDeclaration_put_marker,
7688 HTMLCSSStyleDeclaration_get_marker,
7689 HTMLCSSStyleDeclaration_put_markerEnd,
7690 HTMLCSSStyleDeclaration_get_markerEnd,
7691 HTMLCSSStyleDeclaration_put_markerMid,
7692 HTMLCSSStyleDeclaration_get_markerMid,
7693 HTMLCSSStyleDeclaration_put_markerStart,
7694 HTMLCSSStyleDeclaration_get_markerStart,
7695 HTMLCSSStyleDeclaration_put_mask,
7696 HTMLCSSStyleDeclaration_get_mask,
7697 HTMLCSSStyleDeclaration_put_pointerEvents,
7698 HTMLCSSStyleDeclaration_get_pointerEvents,
7699 HTMLCSSStyleDeclaration_put_stopColor,
7700 HTMLCSSStyleDeclaration_get_stopColor,
7701 HTMLCSSStyleDeclaration_put_stopOpacity,
7702 HTMLCSSStyleDeclaration_get_stopOpacity,
7703 HTMLCSSStyleDeclaration_put_stroke,
7704 HTMLCSSStyleDeclaration_get_stroke,
7705 HTMLCSSStyleDeclaration_put_strokeDasharray,
7706 HTMLCSSStyleDeclaration_get_strokeDasharray,
7707 HTMLCSSStyleDeclaration_put_strokeDashoffset,
7708 HTMLCSSStyleDeclaration_get_strokeDashoffset,
7709 HTMLCSSStyleDeclaration_put_strokeLinecap,
7710 HTMLCSSStyleDeclaration_get_strokeLinecap,
7711 HTMLCSSStyleDeclaration_put_strokeLinejoin,
7712 HTMLCSSStyleDeclaration_get_strokeLinejoin,
7713 HTMLCSSStyleDeclaration_put_strokeMiterlimit,
7714 HTMLCSSStyleDeclaration_get_strokeMiterlimit,
7715 HTMLCSSStyleDeclaration_put_strokeOpacity,
7716 HTMLCSSStyleDeclaration_get_strokeOpacity,
7717 HTMLCSSStyleDeclaration_put_strokeWidth,
7718 HTMLCSSStyleDeclaration_get_strokeWidth,
7719 HTMLCSSStyleDeclaration_put_textAnchor,
7720 HTMLCSSStyleDeclaration_get_textAnchor,
7721 HTMLCSSStyleDeclaration_put_glyphOrientationHorizontal,
7722 HTMLCSSStyleDeclaration_get_glyphOrientationHorizontal,
7723 HTMLCSSStyleDeclaration_put_glyphOrientationVertical,
7724 HTMLCSSStyleDeclaration_get_glyphOrientationVertical,
7725 HTMLCSSStyleDeclaration_put_borderRadius,
7726 HTMLCSSStyleDeclaration_get_borderRadius,
7727 HTMLCSSStyleDeclaration_put_borderTopLeftRadius,
7728 HTMLCSSStyleDeclaration_get_borderTopLeftRadius,
7729 HTMLCSSStyleDeclaration_put_borderTopRightRadius,
7730 HTMLCSSStyleDeclaration_get_borderTopRightRadius,
7731 HTMLCSSStyleDeclaration_put_borderBottomRightRadius,
7732 HTMLCSSStyleDeclaration_get_borderBottomRightRadius,
7733 HTMLCSSStyleDeclaration_put_borderBottomLeftRadius,
7734 HTMLCSSStyleDeclaration_get_borderBottomLeftRadius,
7735 HTMLCSSStyleDeclaration_put_clipTop,
7736 HTMLCSSStyleDeclaration_get_clipTop,
7737 HTMLCSSStyleDeclaration_put_clipRight,
7738 HTMLCSSStyleDeclaration_get_clipRight,
7739 HTMLCSSStyleDeclaration_get_clipBottom,
7740 HTMLCSSStyleDeclaration_put_clipLeft,
7741 HTMLCSSStyleDeclaration_get_clipLeft,
7742 HTMLCSSStyleDeclaration_put_cssFloat,
7743 HTMLCSSStyleDeclaration_get_cssFloat,
7744 HTMLCSSStyleDeclaration_put_backgroundClip,
7745 HTMLCSSStyleDeclaration_get_backgroundClip,
7746 HTMLCSSStyleDeclaration_put_backgroundOrigin,
7747 HTMLCSSStyleDeclaration_get_backgroundOrigin,
7748 HTMLCSSStyleDeclaration_put_backgroundSize,
7749 HTMLCSSStyleDeclaration_get_backgroundSize,
7750 HTMLCSSStyleDeclaration_put_boxShadow,
7751 HTMLCSSStyleDeclaration_get_boxShadow,
7752 HTMLCSSStyleDeclaration_put_msTransform,
7753 HTMLCSSStyleDeclaration_get_msTransform,
7754 HTMLCSSStyleDeclaration_put_msTransformOrigin,
7755 HTMLCSSStyleDeclaration_get_msTransformOrigin
7758 static HRESULT HTMLStyle_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid)
7760 const style_tbl_entry_t *style_entry;
7762 style_entry = lookup_style_tbl(name);
7763 if(style_entry) {
7764 *dispid = style_entry->dispid;
7765 return S_OK;
7768 return DISP_E_UNKNOWNNAME;
7771 static const dispex_static_data_vtbl_t HTMLStyle_dispex_vtbl = {
7772 NULL,
7773 HTMLStyle_get_dispid,
7774 NULL,
7775 NULL
7778 static const tid_t HTMLStyle_iface_tids[] = {
7779 IHTMLStyle6_tid,
7780 IHTMLStyle5_tid,
7781 IHTMLStyle4_tid,
7782 IHTMLStyle3_tid,
7783 IHTMLStyle2_tid,
7784 IHTMLStyle_tid,
7787 static dispex_static_data_t HTMLStyle_dispex = {
7788 &HTMLStyle_dispex_vtbl,
7789 DispHTMLStyle_tid,
7790 HTMLStyle_iface_tids
7793 static HRESULT get_style_from_elem(HTMLElement *elem, nsIDOMCSSStyleDeclaration **ret)
7795 nsIDOMElementCSSInlineStyle *nselemstyle;
7796 nsresult nsres;
7798 if(!elem->dom_element) {
7799 FIXME("comment element\n");
7800 return E_NOTIMPL;
7803 nsres = nsIDOMElement_QueryInterface(elem->dom_element, &IID_nsIDOMElementCSSInlineStyle,
7804 (void**)&nselemstyle);
7805 assert(nsres == NS_OK);
7807 nsres = nsIDOMElementCSSInlineStyle_GetStyle(nselemstyle, ret);
7808 nsIDOMElementCSSInlineStyle_Release(nselemstyle);
7809 if(NS_FAILED(nsres)) {
7810 ERR("GetStyle failed: %08x\n", nsres);
7811 return E_FAIL;
7814 return S_OK;
7817 HRESULT HTMLStyle_Create(HTMLElement *elem, HTMLStyle **ret)
7819 nsIDOMCSSStyleDeclaration *nsstyle;
7820 HTMLStyle *style;
7821 HRESULT hres;
7823 hres = get_style_from_elem(elem, &nsstyle);
7824 if(FAILED(hres))
7825 return hres;
7827 style = heap_alloc_zero(sizeof(HTMLStyle));
7828 if(!style) {
7829 nsIDOMCSSStyleDeclaration_Release(nsstyle);
7830 return E_OUTOFMEMORY;
7833 style->IHTMLStyle_iface.lpVtbl = &HTMLStyleVtbl;
7834 style->IHTMLStyle2_iface.lpVtbl = &HTMLStyle2Vtbl;
7835 style->IHTMLStyle3_iface.lpVtbl = &HTMLStyle3Vtbl;
7836 style->IHTMLStyle4_iface.lpVtbl = &HTMLStyle4Vtbl;
7837 style->IHTMLStyle5_iface.lpVtbl = &HTMLStyle5Vtbl;
7838 style->IHTMLStyle6_iface.lpVtbl = &HTMLStyle6Vtbl;
7839 style->IHTMLCSSStyleDeclaration_iface.lpVtbl = &HTMLCSSStyleDeclarationVtbl;
7841 style->ref = 1;
7842 style->nsstyle = nsstyle;
7843 style->elem = elem;
7845 nsIDOMCSSStyleDeclaration_AddRef(nsstyle);
7847 init_dispex_with_compat_mode(&style->dispex, (IUnknown*)&style->IHTMLStyle_iface, &HTMLStyle_dispex,
7848 dispex_compat_mode(&elem->node.event_target.dispex));
7850 *ret = style;
7851 return S_OK;
7854 HRESULT get_elem_style(HTMLElement *elem, styleid_t styleid, BSTR *ret)
7856 nsIDOMCSSStyleDeclaration *style;
7857 HRESULT hres;
7859 hres = get_style_from_elem(elem, &style);
7860 if(FAILED(hres))
7861 return hres;
7863 hres = get_nsstyle_property(style, styleid, COMPAT_MODE_IE11, ret);
7864 nsIDOMCSSStyleDeclaration_Release(style);
7865 return hres;
7868 HRESULT set_elem_style(HTMLElement *elem, styleid_t styleid, const WCHAR *val)
7870 nsIDOMCSSStyleDeclaration *style;
7871 HRESULT hres;
7873 hres = get_style_from_elem(elem, &style);
7874 if(FAILED(hres))
7875 return hres;
7877 hres = set_nsstyle_property(style, styleid, val);
7878 nsIDOMCSSStyleDeclaration_Release(style);
7879 return hres;