2 * Copyright 2008 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
28 #include "mshtml_private.h"
29 #include "htmlstyle.h"
31 #include "wine/debug.h"
33 WINE_DEFAULT_DEBUG_CHANNEL(mshtml
);
35 struct HTMLCurrentStyle
{
37 IHTMLCurrentStyle IHTMLCurrentStyle_iface
;
38 IHTMLCurrentStyle2 IHTMLCurrentStyle2_iface
;
39 IHTMLCurrentStyle3 IHTMLCurrentStyle3_iface
;
40 IHTMLCurrentStyle4 IHTMLCurrentStyle4_iface
;
45 static inline HRESULT
get_current_style_property(HTMLCurrentStyle
*current_style
, styleid_t sid
, BSTR
*p
)
47 return get_style_property(¤t_style
->css_style
, sid
, p
);
50 static inline HRESULT
get_current_style_property_var(HTMLCurrentStyle
*This
, styleid_t sid
, VARIANT
*v
)
52 return get_style_property_var(&This
->css_style
, sid
, v
);
55 static inline HTMLCurrentStyle
*impl_from_IHTMLCurrentStyle(IHTMLCurrentStyle
*iface
)
57 return CONTAINING_RECORD(iface
, HTMLCurrentStyle
, IHTMLCurrentStyle_iface
);
60 static inline HTMLCurrentStyle
*impl_from_IHTMLCurrentStyle2(IHTMLCurrentStyle2
*iface
)
62 return CONTAINING_RECORD(iface
, HTMLCurrentStyle
, IHTMLCurrentStyle2_iface
);
65 static inline HTMLCurrentStyle
*impl_from_IHTMLCurrentStyle3(IHTMLCurrentStyle3
*iface
)
67 return CONTAINING_RECORD(iface
, HTMLCurrentStyle
, IHTMLCurrentStyle3_iface
);
70 static inline HTMLCurrentStyle
*impl_from_IHTMLCurrentStyle4(IHTMLCurrentStyle4
*iface
)
72 return CONTAINING_RECORD(iface
, HTMLCurrentStyle
, IHTMLCurrentStyle4_iface
);
75 DISPEX_IDISPATCH_IMPL(HTMLCurrentStyle
, IHTMLCurrentStyle
,
76 impl_from_IHTMLCurrentStyle(iface
)->css_style
.dispex
)
78 static HRESULT WINAPI
HTMLCurrentStyle_get_position(IHTMLCurrentStyle
*iface
, BSTR
*p
)
80 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
82 TRACE("(%p)->(%p)\n", This
, p
);
84 return get_current_style_property(This
, STYLEID_POSITION
, p
);
87 static HRESULT WINAPI
HTMLCurrentStyle_get_styleFloat(IHTMLCurrentStyle
*iface
, BSTR
*p
)
89 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
91 TRACE("(%p)->(%p)\n", This
, p
);
93 return get_current_style_property(This
, STYLEID_FLOAT
, p
);
96 static HRESULT WINAPI
HTMLCurrentStyle_get_color(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
98 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
99 TRACE("(%p)->(%p)\n", This
, p
);
100 return get_current_style_property_var(This
, STYLEID_COLOR
, p
);
103 static HRESULT WINAPI
HTMLCurrentStyle_get_backgroundColor(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
105 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
106 TRACE("(%p)->(%p)\n", This
, p
);
107 return get_current_style_property_var(This
, STYLEID_BACKGROUND_COLOR
, p
);
110 static HRESULT WINAPI
HTMLCurrentStyle_get_fontFamily(IHTMLCurrentStyle
*iface
, BSTR
*p
)
112 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
114 TRACE("(%p)->(%p)\n", This
, p
);
116 return get_current_style_property(This
, STYLEID_FONT_FAMILY
, p
);
119 static HRESULT WINAPI
HTMLCurrentStyle_get_fontStyle(IHTMLCurrentStyle
*iface
, BSTR
*p
)
121 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
122 TRACE("(%p)->(%p)\n", This
, p
);
123 return get_current_style_property(This
, STYLEID_FONT_STYLE
, p
);
126 static HRESULT WINAPI
HTMLCurrentStyle_get_fontVariant(IHTMLCurrentStyle
*iface
, BSTR
*p
)
128 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
129 TRACE("(%p)->(%p)\n", This
, p
);
130 return get_current_style_property(This
, STYLEID_FONT_VARIANT
, p
);
133 static HRESULT WINAPI
HTMLCurrentStyle_get_fontWeight(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
135 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
136 TRACE("(%p)->(%p)\n", This
, p
);
137 return get_current_style_property_var(This
, STYLEID_FONT_WEIGHT
, p
);
140 static HRESULT WINAPI
HTMLCurrentStyle_get_fontSize(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
142 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
143 TRACE("(%p)->(%p)\n", This
, p
);
144 return get_current_style_property_var(This
, STYLEID_FONT_SIZE
, p
);
147 static HRESULT WINAPI
HTMLCurrentStyle_get_backgroundImage(IHTMLCurrentStyle
*iface
, BSTR
*p
)
149 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
150 TRACE("(%p)->(%p)\n", This
, p
);
151 return get_current_style_property(This
, STYLEID_BACKGROUND_IMAGE
, p
);
154 static HRESULT WINAPI
HTMLCurrentStyle_get_backgroundPositionX(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
156 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
157 FIXME("(%p)->(%p)\n", This
, p
);
161 static HRESULT WINAPI
HTMLCurrentStyle_get_backgroundPositionY(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
163 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
164 FIXME("(%p)->(%p)\n", This
, p
);
168 static HRESULT WINAPI
HTMLCurrentStyle_get_backgroundRepeat(IHTMLCurrentStyle
*iface
, BSTR
*p
)
170 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
171 TRACE("(%p)->(%p)\n", This
, p
);
172 return get_current_style_property(This
, STYLEID_BACKGROUND_REPEAT
, p
);
175 static HRESULT WINAPI
HTMLCurrentStyle_get_borderLeftColor(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
177 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
178 TRACE("(%p)->(%p)\n", This
, p
);
179 return get_current_style_property_var(This
, STYLEID_BORDER_LEFT_COLOR
, p
);
182 static HRESULT WINAPI
HTMLCurrentStyle_get_borderTopColor(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
184 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
185 TRACE("(%p)->(%p)\n", This
, p
);
186 return get_current_style_property_var(This
, STYLEID_BORDER_TOP_COLOR
, p
);
189 static HRESULT WINAPI
HTMLCurrentStyle_get_borderRightColor(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
191 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
192 TRACE("(%p)->(%p)\n", This
, p
);
193 return get_current_style_property_var(This
, STYLEID_BORDER_RIGHT_COLOR
, p
);
196 static HRESULT WINAPI
HTMLCurrentStyle_get_borderBottomColor(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
198 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
199 TRACE("(%p)->(%p)\n", This
, p
);
200 return get_current_style_property_var(This
, STYLEID_BORDER_BOTTOM_COLOR
, p
);
203 static HRESULT WINAPI
HTMLCurrentStyle_get_borderTopStyle(IHTMLCurrentStyle
*iface
, BSTR
*p
)
205 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
206 TRACE("(%p)->(%p)\n", This
, p
);
207 return get_current_style_property(This
, STYLEID_BORDER_TOP_STYLE
, p
);
210 static HRESULT WINAPI
HTMLCurrentStyle_get_borderRightStyle(IHTMLCurrentStyle
*iface
, BSTR
*p
)
212 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
213 TRACE("(%p)->(%p)\n", This
, p
);
214 return get_current_style_property(This
, STYLEID_BORDER_RIGHT_STYLE
, p
);
217 static HRESULT WINAPI
HTMLCurrentStyle_get_borderBottomStyle(IHTMLCurrentStyle
*iface
, BSTR
*p
)
219 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
220 TRACE("(%p)->(%p)\n", This
, p
);
221 return get_current_style_property(This
, STYLEID_BORDER_BOTTOM_STYLE
, p
);
224 static HRESULT WINAPI
HTMLCurrentStyle_get_borderLeftStyle(IHTMLCurrentStyle
*iface
, BSTR
*p
)
226 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
227 TRACE("(%p)->(%p)\n", This
, p
);
228 return get_current_style_property(This
, STYLEID_BORDER_LEFT_STYLE
, p
);
231 static HRESULT WINAPI
HTMLCurrentStyle_get_borderTopWidth(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
233 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
234 TRACE("(%p)->(%p)\n", This
, p
);
235 return get_current_style_property_var(This
, STYLEID_BORDER_TOP_WIDTH
, p
);
238 static HRESULT WINAPI
HTMLCurrentStyle_get_borderRightWidth(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
240 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
241 TRACE("(%p)->(%p)\n", This
, p
);
242 return get_current_style_property_var(This
, STYLEID_BORDER_RIGHT_WIDTH
, p
);
245 static HRESULT WINAPI
HTMLCurrentStyle_get_borderBottomWidth(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
247 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
248 TRACE("(%p)->(%p)\n", This
, p
);
249 return get_current_style_property_var(This
, STYLEID_BORDER_BOTTOM_WIDTH
, p
);
252 static HRESULT WINAPI
HTMLCurrentStyle_get_borderLeftWidth(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
254 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
255 TRACE("(%p)->(%p)\n", This
, p
);
256 return get_current_style_property_var(This
, STYLEID_BORDER_LEFT_WIDTH
, p
);
259 static HRESULT WINAPI
HTMLCurrentStyle_get_left(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
261 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
262 TRACE("(%p)->(%p)\n", This
, p
);
263 return get_current_style_property_var(This
, STYLEID_LEFT
, p
);
266 static HRESULT WINAPI
HTMLCurrentStyle_get_top(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
268 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
269 TRACE("(%p)->(%p)\n", This
, p
);
270 return get_current_style_property_var(This
, STYLEID_TOP
, p
);
273 static HRESULT WINAPI
HTMLCurrentStyle_get_width(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
275 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
276 TRACE("(%p)->(%p)\n", This
, p
);
277 return get_current_style_property_var(This
, STYLEID_WIDTH
, p
);
280 static HRESULT WINAPI
HTMLCurrentStyle_get_height(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
282 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
283 TRACE("(%p)->(%p)\n", This
, p
);
284 return get_current_style_property_var(This
, STYLEID_HEIGHT
, p
);
287 static HRESULT WINAPI
HTMLCurrentStyle_get_paddingLeft(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
289 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
290 TRACE("(%p)->(%p)\n", This
, p
);
291 return get_current_style_property_var(This
, STYLEID_PADDING_LEFT
, p
);
294 static HRESULT WINAPI
HTMLCurrentStyle_get_paddingTop(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
296 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
297 TRACE("(%p)->(%p)\n", This
, p
);
298 return get_current_style_property_var(This
, STYLEID_PADDING_TOP
, p
);
301 static HRESULT WINAPI
HTMLCurrentStyle_get_paddingRight(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
303 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
304 TRACE("(%p)->(%p)\n", This
, p
);
305 return get_current_style_property_var(This
, STYLEID_PADDING_RIGHT
, p
);
308 static HRESULT WINAPI
HTMLCurrentStyle_get_paddingBottom(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
310 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
311 TRACE("(%p)->(%p)\n", This
, p
);
312 return get_current_style_property_var(This
, STYLEID_PADDING_BOTTOM
, p
);
315 static HRESULT WINAPI
HTMLCurrentStyle_get_textAlign(IHTMLCurrentStyle
*iface
, BSTR
*p
)
317 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
318 TRACE("(%p)->(%p)\n", This
, p
);
319 return get_current_style_property(This
, STYLEID_TEXT_ALIGN
, p
);
322 static HRESULT WINAPI
HTMLCurrentStyle_get_textDecoration(IHTMLCurrentStyle
*iface
, BSTR
*p
)
324 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
325 TRACE("(%p)->(%p)\n", This
, p
);
326 return get_current_style_property(This
, STYLEID_TEXT_DECORATION
, p
);
329 static HRESULT WINAPI
HTMLCurrentStyle_get_display(IHTMLCurrentStyle
*iface
, BSTR
*p
)
331 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
333 TRACE("(%p)->(%p)\n", This
, p
);
335 return get_current_style_property(This
, STYLEID_DISPLAY
, p
);
338 static HRESULT WINAPI
HTMLCurrentStyle_get_visibility(IHTMLCurrentStyle
*iface
, BSTR
*p
)
340 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
342 TRACE("(%p)->(%p)\n", This
, p
);
344 return get_current_style_property(This
, STYLEID_VISIBILITY
, p
);
347 static HRESULT WINAPI
HTMLCurrentStyle_get_zIndex(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
349 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
350 TRACE("(%p)->(%p)\n", This
, p
);
351 return get_current_style_property_var(This
, STYLEID_Z_INDEX
, p
);
354 static HRESULT WINAPI
HTMLCurrentStyle_get_letterSpacing(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
356 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
357 TRACE("(%p)->(%p)\n", This
, p
);
358 return get_current_style_property_var(This
, STYLEID_LETTER_SPACING
, p
);
361 static HRESULT WINAPI
HTMLCurrentStyle_get_lineHeight(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
363 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
364 TRACE("(%p)->(%p)\n", This
, p
);
365 return get_current_style_property_var(This
, STYLEID_LINE_HEIGHT
, p
);
368 static HRESULT WINAPI
HTMLCurrentStyle_get_textIndent(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
370 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
371 TRACE("(%p)->(%p)\n", This
, p
);
372 return get_current_style_property_var(This
, STYLEID_TEXT_INDENT
, p
);
375 static HRESULT WINAPI
HTMLCurrentStyle_get_verticalAlign(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
377 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
378 TRACE("(%p)->(%p)\n", This
, p
);
379 return get_current_style_property_var(This
, STYLEID_VERTICAL_ALIGN
, p
);
382 static HRESULT WINAPI
HTMLCurrentStyle_get_backgroundAttachment(IHTMLCurrentStyle
*iface
, BSTR
*p
)
384 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
385 FIXME("(%p)->(%p)\n", This
, p
);
389 static HRESULT WINAPI
HTMLCurrentStyle_get_marginTop(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
391 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
392 TRACE("(%p)->(%p)\n", This
, p
);
393 return get_current_style_property_var(This
, STYLEID_MARGIN_TOP
, p
);
396 static HRESULT WINAPI
HTMLCurrentStyle_get_marginRight(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
398 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
399 TRACE("(%p)->(%p)\n", This
, p
);
400 return get_current_style_property_var(This
, STYLEID_MARGIN_RIGHT
, p
);
403 static HRESULT WINAPI
HTMLCurrentStyle_get_marginBottom(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
405 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
406 TRACE("(%p)->(%p)\n", This
, p
);
407 return get_current_style_property_var(This
, STYLEID_MARGIN_BOTTOM
, p
);
410 static HRESULT WINAPI
HTMLCurrentStyle_get_marginLeft(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
412 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
413 TRACE("(%p)->(%p)\n", This
, p
);
414 return get_current_style_property_var(This
, STYLEID_MARGIN_LEFT
, p
);
417 static HRESULT WINAPI
HTMLCurrentStyle_get_clear(IHTMLCurrentStyle
*iface
, BSTR
*p
)
419 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
420 FIXME("(%p)->(%p)\n", This
, p
);
424 static HRESULT WINAPI
HTMLCurrentStyle_get_listStyleType(IHTMLCurrentStyle
*iface
, BSTR
*p
)
426 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
427 FIXME("(%p)->(%p)\n", This
, p
);
431 static HRESULT WINAPI
HTMLCurrentStyle_get_listStylePosition(IHTMLCurrentStyle
*iface
, BSTR
*p
)
433 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
434 FIXME("(%p)->(%p)\n", This
, p
);
438 static HRESULT WINAPI
HTMLCurrentStyle_get_listStyleImage(IHTMLCurrentStyle
*iface
, BSTR
*p
)
440 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
441 FIXME("(%p)->(%p)\n", This
, p
);
445 static HRESULT WINAPI
HTMLCurrentStyle_get_clipTop(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
447 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
448 FIXME("(%p)->(%p)\n", This
, p
);
452 static HRESULT WINAPI
HTMLCurrentStyle_get_clipRight(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
454 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
455 FIXME("(%p)->(%p)\n", This
, p
);
459 static HRESULT WINAPI
HTMLCurrentStyle_get_clipBottom(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
461 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
462 FIXME("(%p)->(%p)\n", This
, p
);
466 static HRESULT WINAPI
HTMLCurrentStyle_get_clipLeft(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
468 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
469 FIXME("(%p)->(%p)\n", This
, p
);
473 static HRESULT WINAPI
HTMLCurrentStyle_get_overflow(IHTMLCurrentStyle
*iface
, BSTR
*p
)
475 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
476 TRACE("(%p)->(%p)\n", This
, p
);
477 return get_current_style_property(This
, STYLEID_OVERFLOW
, p
);
480 static HRESULT WINAPI
HTMLCurrentStyle_get_pageBreakBefore(IHTMLCurrentStyle
*iface
, BSTR
*p
)
482 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
483 FIXME("(%p)->(%p)\n", This
, p
);
487 static HRESULT WINAPI
HTMLCurrentStyle_get_pageBreakAfter(IHTMLCurrentStyle
*iface
, BSTR
*p
)
489 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
490 FIXME("(%p)->(%p)\n", This
, p
);
494 static HRESULT WINAPI
HTMLCurrentStyle_get_cursor(IHTMLCurrentStyle
*iface
, BSTR
*p
)
496 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
497 TRACE("(%p)->(%p)\n", This
, p
);
498 return get_current_style_property(This
, STYLEID_CURSOR
, p
);
501 static HRESULT WINAPI
HTMLCurrentStyle_get_tableLayout(IHTMLCurrentStyle
*iface
, BSTR
*p
)
503 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
504 FIXME("(%p)->(%p)\n", This
, p
);
508 static HRESULT WINAPI
HTMLCurrentStyle_get_borderCollapse(IHTMLCurrentStyle
*iface
, BSTR
*p
)
510 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
511 FIXME("(%p)->(%p)\n", This
, p
);
515 static HRESULT WINAPI
HTMLCurrentStyle_get_direction(IHTMLCurrentStyle
*iface
, BSTR
*p
)
517 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
518 TRACE("(%p)->(%p)\n", This
, p
);
519 return get_current_style_property(This
, STYLEID_DIRECTION
, p
);
522 static HRESULT WINAPI
HTMLCurrentStyle_get_behavior(IHTMLCurrentStyle
*iface
, BSTR
*p
)
524 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
525 FIXME("(%p)->(%p)\n", This
, p
);
529 static HRESULT WINAPI
HTMLCurrentStyle_getAttribute(IHTMLCurrentStyle
*iface
, BSTR strAttributeName
,
530 LONG lFlags
, VARIANT
*AttributeValue
)
532 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
533 FIXME("(%p)->(%s %lx %p)\n", This
, debugstr_w(strAttributeName
), lFlags
, AttributeValue
);
537 static HRESULT WINAPI
HTMLCurrentStyle_get_unicodeBidi(IHTMLCurrentStyle
*iface
, BSTR
*p
)
539 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
540 FIXME("(%p)->(%p)\n", This
, p
);
544 static HRESULT WINAPI
HTMLCurrentStyle_get_right(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
546 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
547 TRACE("(%p)->(%p)\n", This
, p
);
548 return get_current_style_property_var(This
, STYLEID_RIGHT
, p
);
551 static HRESULT WINAPI
HTMLCurrentStyle_get_bottom(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
553 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
554 TRACE("(%p)->(%p)\n", This
, p
);
555 return get_current_style_property_var(This
, STYLEID_BOTTOM
, p
);
558 static HRESULT WINAPI
HTMLCurrentStyle_get_imeMode(IHTMLCurrentStyle
*iface
, BSTR
*p
)
560 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
561 FIXME("(%p)->(%p)\n", This
, p
);
565 static HRESULT WINAPI
HTMLCurrentStyle_get_rubyAlign(IHTMLCurrentStyle
*iface
, BSTR
*p
)
567 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
568 FIXME("(%p)->(%p)\n", This
, p
);
572 static HRESULT WINAPI
HTMLCurrentStyle_get_rubyPosition(IHTMLCurrentStyle
*iface
, BSTR
*p
)
574 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
575 FIXME("(%p)->(%p)\n", This
, p
);
579 static HRESULT WINAPI
HTMLCurrentStyle_get_rubyOverhang(IHTMLCurrentStyle
*iface
, BSTR
*p
)
581 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
582 FIXME("(%p)->(%p)\n", This
, p
);
586 static HRESULT WINAPI
HTMLCurrentStyle_get_textAutospace(IHTMLCurrentStyle
*iface
, BSTR
*p
)
588 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
589 FIXME("(%p)->(%p)\n", This
, p
);
593 static HRESULT WINAPI
HTMLCurrentStyle_get_lineBreak(IHTMLCurrentStyle
*iface
, BSTR
*p
)
595 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
596 FIXME("(%p)->(%p)\n", This
, p
);
600 static HRESULT WINAPI
HTMLCurrentStyle_get_wordBreak(IHTMLCurrentStyle
*iface
, BSTR
*p
)
602 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
603 FIXME("(%p)->(%p)\n", This
, p
);
607 static HRESULT WINAPI
HTMLCurrentStyle_get_textJustify(IHTMLCurrentStyle
*iface
, BSTR
*p
)
609 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
610 FIXME("(%p)->(%p)\n", This
, p
);
614 static HRESULT WINAPI
HTMLCurrentStyle_get_textJustifyTrim(IHTMLCurrentStyle
*iface
, BSTR
*p
)
616 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
617 FIXME("(%p)->(%p)\n", This
, p
);
621 static HRESULT WINAPI
HTMLCurrentStyle_get_textKashida(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
623 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
624 FIXME("(%p)->(%p)\n", This
, p
);
628 static HRESULT WINAPI
HTMLCurrentStyle_get_blockDirection(IHTMLCurrentStyle
*iface
, BSTR
*p
)
630 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
631 FIXME("(%p)->(%p)\n", This
, p
);
635 static HRESULT WINAPI
HTMLCurrentStyle_get_layoutGridChar(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
637 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
638 FIXME("(%p)->(%p)\n", This
, p
);
642 static HRESULT WINAPI
HTMLCurrentStyle_get_layoutGridLine(IHTMLCurrentStyle
*iface
, VARIANT
*p
)
644 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
645 FIXME("(%p)->(%p)\n", This
, p
);
649 static HRESULT WINAPI
HTMLCurrentStyle_get_layoutGridMode(IHTMLCurrentStyle
*iface
, BSTR
*p
)
651 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
652 FIXME("(%p)->(%p)\n", This
, p
);
656 static HRESULT WINAPI
HTMLCurrentStyle_get_layoutGridType(IHTMLCurrentStyle
*iface
, BSTR
*p
)
658 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
659 FIXME("(%p)->(%p)\n", This
, p
);
663 static HRESULT WINAPI
HTMLCurrentStyle_get_borderStyle(IHTMLCurrentStyle
*iface
, BSTR
*p
)
665 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
666 TRACE("(%p)->(%p)\n", This
, p
);
667 return get_current_style_property(This
, STYLEID_BORDER_STYLE
, p
);
670 static HRESULT WINAPI
HTMLCurrentStyle_get_borderColor(IHTMLCurrentStyle
*iface
, BSTR
*p
)
672 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
673 TRACE("(%p)->(%p)\n", This
, p
);
674 return get_current_style_property(This
, STYLEID_BORDER_COLOR
, p
);
677 static HRESULT WINAPI
HTMLCurrentStyle_get_borderWidth(IHTMLCurrentStyle
*iface
, BSTR
*p
)
679 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
680 TRACE("(%p)->(%p)\n", This
, p
);
681 return get_current_style_property(This
, STYLEID_BORDER_WIDTH
, p
);
684 static HRESULT WINAPI
HTMLCurrentStyle_get_padding(IHTMLCurrentStyle
*iface
, BSTR
*p
)
686 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
687 TRACE("(%p)->(%p)\n", This
, p
);
688 return get_current_style_property(This
, STYLEID_PADDING
, p
);
691 static HRESULT WINAPI
HTMLCurrentStyle_get_margin(IHTMLCurrentStyle
*iface
, BSTR
*p
)
693 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
694 TRACE("(%p)->(%p)\n", This
, p
);
695 return get_current_style_property(This
, STYLEID_MARGIN
, p
);
698 static HRESULT WINAPI
HTMLCurrentStyle_get_accelerator(IHTMLCurrentStyle
*iface
, BSTR
*p
)
700 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
701 FIXME("(%p)->(%p)\n", This
, p
);
705 static HRESULT WINAPI
HTMLCurrentStyle_get_overflowX(IHTMLCurrentStyle
*iface
, BSTR
*p
)
707 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
708 TRACE("(%p)->(%p)\n", This
, p
);
709 return get_current_style_property(This
, STYLEID_OVERFLOW_X
, p
);
712 static HRESULT WINAPI
HTMLCurrentStyle_get_overflowY(IHTMLCurrentStyle
*iface
, BSTR
*p
)
714 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
715 TRACE("(%p)->(%p)\n", This
, p
);
716 return get_current_style_property(This
, STYLEID_OVERFLOW_Y
, p
);
719 static HRESULT WINAPI
HTMLCurrentStyle_get_textTransform(IHTMLCurrentStyle
*iface
, BSTR
*p
)
721 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle(iface
);
722 TRACE("(%p)->(%p)\n", This
, p
);
723 return get_current_style_property(This
, STYLEID_TEXT_TRANSFORM
, p
);
726 static const IHTMLCurrentStyleVtbl HTMLCurrentStyleVtbl
= {
727 HTMLCurrentStyle_QueryInterface
,
728 HTMLCurrentStyle_AddRef
,
729 HTMLCurrentStyle_Release
,
730 HTMLCurrentStyle_GetTypeInfoCount
,
731 HTMLCurrentStyle_GetTypeInfo
,
732 HTMLCurrentStyle_GetIDsOfNames
,
733 HTMLCurrentStyle_Invoke
,
734 HTMLCurrentStyle_get_position
,
735 HTMLCurrentStyle_get_styleFloat
,
736 HTMLCurrentStyle_get_color
,
737 HTMLCurrentStyle_get_backgroundColor
,
738 HTMLCurrentStyle_get_fontFamily
,
739 HTMLCurrentStyle_get_fontStyle
,
740 HTMLCurrentStyle_get_fontVariant
,
741 HTMLCurrentStyle_get_fontWeight
,
742 HTMLCurrentStyle_get_fontSize
,
743 HTMLCurrentStyle_get_backgroundImage
,
744 HTMLCurrentStyle_get_backgroundPositionX
,
745 HTMLCurrentStyle_get_backgroundPositionY
,
746 HTMLCurrentStyle_get_backgroundRepeat
,
747 HTMLCurrentStyle_get_borderLeftColor
,
748 HTMLCurrentStyle_get_borderTopColor
,
749 HTMLCurrentStyle_get_borderRightColor
,
750 HTMLCurrentStyle_get_borderBottomColor
,
751 HTMLCurrentStyle_get_borderTopStyle
,
752 HTMLCurrentStyle_get_borderRightStyle
,
753 HTMLCurrentStyle_get_borderBottomStyle
,
754 HTMLCurrentStyle_get_borderLeftStyle
,
755 HTMLCurrentStyle_get_borderTopWidth
,
756 HTMLCurrentStyle_get_borderRightWidth
,
757 HTMLCurrentStyle_get_borderBottomWidth
,
758 HTMLCurrentStyle_get_borderLeftWidth
,
759 HTMLCurrentStyle_get_left
,
760 HTMLCurrentStyle_get_top
,
761 HTMLCurrentStyle_get_width
,
762 HTMLCurrentStyle_get_height
,
763 HTMLCurrentStyle_get_paddingLeft
,
764 HTMLCurrentStyle_get_paddingTop
,
765 HTMLCurrentStyle_get_paddingRight
,
766 HTMLCurrentStyle_get_paddingBottom
,
767 HTMLCurrentStyle_get_textAlign
,
768 HTMLCurrentStyle_get_textDecoration
,
769 HTMLCurrentStyle_get_display
,
770 HTMLCurrentStyle_get_visibility
,
771 HTMLCurrentStyle_get_zIndex
,
772 HTMLCurrentStyle_get_letterSpacing
,
773 HTMLCurrentStyle_get_lineHeight
,
774 HTMLCurrentStyle_get_textIndent
,
775 HTMLCurrentStyle_get_verticalAlign
,
776 HTMLCurrentStyle_get_backgroundAttachment
,
777 HTMLCurrentStyle_get_marginTop
,
778 HTMLCurrentStyle_get_marginRight
,
779 HTMLCurrentStyle_get_marginBottom
,
780 HTMLCurrentStyle_get_marginLeft
,
781 HTMLCurrentStyle_get_clear
,
782 HTMLCurrentStyle_get_listStyleType
,
783 HTMLCurrentStyle_get_listStylePosition
,
784 HTMLCurrentStyle_get_listStyleImage
,
785 HTMLCurrentStyle_get_clipTop
,
786 HTMLCurrentStyle_get_clipRight
,
787 HTMLCurrentStyle_get_clipBottom
,
788 HTMLCurrentStyle_get_clipLeft
,
789 HTMLCurrentStyle_get_overflow
,
790 HTMLCurrentStyle_get_pageBreakBefore
,
791 HTMLCurrentStyle_get_pageBreakAfter
,
792 HTMLCurrentStyle_get_cursor
,
793 HTMLCurrentStyle_get_tableLayout
,
794 HTMLCurrentStyle_get_borderCollapse
,
795 HTMLCurrentStyle_get_direction
,
796 HTMLCurrentStyle_get_behavior
,
797 HTMLCurrentStyle_getAttribute
,
798 HTMLCurrentStyle_get_unicodeBidi
,
799 HTMLCurrentStyle_get_right
,
800 HTMLCurrentStyle_get_bottom
,
801 HTMLCurrentStyle_get_imeMode
,
802 HTMLCurrentStyle_get_rubyAlign
,
803 HTMLCurrentStyle_get_rubyPosition
,
804 HTMLCurrentStyle_get_rubyOverhang
,
805 HTMLCurrentStyle_get_textAutospace
,
806 HTMLCurrentStyle_get_lineBreak
,
807 HTMLCurrentStyle_get_wordBreak
,
808 HTMLCurrentStyle_get_textJustify
,
809 HTMLCurrentStyle_get_textJustifyTrim
,
810 HTMLCurrentStyle_get_textKashida
,
811 HTMLCurrentStyle_get_blockDirection
,
812 HTMLCurrentStyle_get_layoutGridChar
,
813 HTMLCurrentStyle_get_layoutGridLine
,
814 HTMLCurrentStyle_get_layoutGridMode
,
815 HTMLCurrentStyle_get_layoutGridType
,
816 HTMLCurrentStyle_get_borderStyle
,
817 HTMLCurrentStyle_get_borderColor
,
818 HTMLCurrentStyle_get_borderWidth
,
819 HTMLCurrentStyle_get_padding
,
820 HTMLCurrentStyle_get_margin
,
821 HTMLCurrentStyle_get_accelerator
,
822 HTMLCurrentStyle_get_overflowX
,
823 HTMLCurrentStyle_get_overflowY
,
824 HTMLCurrentStyle_get_textTransform
827 DISPEX_IDISPATCH_IMPL(HTMLCurrentStyle2
, IHTMLCurrentStyle2
,
828 impl_from_IHTMLCurrentStyle2(iface
)->css_style
.dispex
)
830 static HRESULT WINAPI
HTMLCurrentStyle2_get_layoutFlow(IHTMLCurrentStyle2
*iface
, BSTR
*p
)
832 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
833 FIXME("(%p)->(%p)\n", This
, p
);
837 static HRESULT WINAPI
HTMLCurrentStyle2_get_wordWrap(IHTMLCurrentStyle2
*iface
, BSTR
*p
)
839 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
840 FIXME("(%p)->(%p)\n", This
, p
);
844 static HRESULT WINAPI
HTMLCurrentStyle2_get_textUnderlinePosition(IHTMLCurrentStyle2
*iface
, BSTR
*p
)
846 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
847 FIXME("(%p)->(%p)\n", This
, p
);
851 static HRESULT WINAPI
HTMLCurrentStyle2_get_hasLayout(IHTMLCurrentStyle2
*iface
, VARIANT_BOOL
*p
)
853 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
855 FIXME("(%p)->(%p) returning true\n", This
, p
);
861 static HRESULT WINAPI
HTMLCurrentStyle2_get_scrollbarBaseColor(IHTMLCurrentStyle2
*iface
, VARIANT
*p
)
863 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
864 FIXME("(%p)->(%p)\n", This
, p
);
868 static HRESULT WINAPI
HTMLCurrentStyle2_get_scrollbarFaceColor(IHTMLCurrentStyle2
*iface
, VARIANT
*p
)
870 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
871 FIXME("(%p)->(%p)\n", This
, p
);
875 static HRESULT WINAPI
HTMLCurrentStyle2_get_scrollbar3dLightColor(IHTMLCurrentStyle2
*iface
, VARIANT
*p
)
877 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
878 FIXME("(%p)->(%p)\n", This
, p
);
882 static HRESULT WINAPI
HTMLCurrentStyle2_get_scrollbarShadowColor(IHTMLCurrentStyle2
*iface
, VARIANT
*p
)
884 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
885 FIXME("(%p)->(%p)\n", This
, p
);
889 static HRESULT WINAPI
HTMLCurrentStyle2_get_scrollbarHighlightColor(IHTMLCurrentStyle2
*iface
, VARIANT
*p
)
891 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
892 FIXME("(%p)->(%p)\n", This
, p
);
896 static HRESULT WINAPI
HTMLCurrentStyle2_get_scrollbarDarkShadowColor(IHTMLCurrentStyle2
*iface
, VARIANT
*p
)
898 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
899 FIXME("(%p)->(%p)\n", This
, p
);
903 static HRESULT WINAPI
HTMLCurrentStyle2_get_scrollbarArrowColor(IHTMLCurrentStyle2
*iface
, VARIANT
*p
)
905 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
906 FIXME("(%p)->(%p)\n", This
, p
);
910 static HRESULT WINAPI
HTMLCurrentStyle2_get_scrollbarTrackColor(IHTMLCurrentStyle2
*iface
, VARIANT
*p
)
912 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
913 FIXME("(%p)->(%p)\n", This
, p
);
917 static HRESULT WINAPI
HTMLCurrentStyle2_get_writingMode(IHTMLCurrentStyle2
*iface
, BSTR
*p
)
919 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
920 FIXME("(%p)->(%p)\n", This
, p
);
924 static HRESULT WINAPI
HTMLCurrentStyle2_get_zoom(IHTMLCurrentStyle2
*iface
, VARIANT
*p
)
926 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
927 FIXME("(%p)->(%p)\n", This
, p
);
931 static HRESULT WINAPI
HTMLCurrentStyle2_get_filter(IHTMLCurrentStyle2
*iface
, BSTR
*p
)
933 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
935 TRACE("(%p)->(%p)\n", This
, p
);
937 if(This
->elem
->filter
) {
938 *p
= SysAllocString(This
->elem
->filter
);
940 return E_OUTOFMEMORY
;
948 static HRESULT WINAPI
HTMLCurrentStyle2_get_textAlignLast(IHTMLCurrentStyle2
*iface
, BSTR
*p
)
950 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
951 FIXME("(%p)->(%p)\n", This
, p
);
955 static HRESULT WINAPI
HTMLCurrentStyle2_get_textKashidaSpace(IHTMLCurrentStyle2
*iface
, VARIANT
*p
)
957 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
958 FIXME("(%p)->(%p)\n", This
, p
);
962 static HRESULT WINAPI
HTMLCurrentStyle2_get_isBlock(IHTMLCurrentStyle2
*iface
, VARIANT_BOOL
*p
)
964 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle2(iface
);
965 FIXME("(%p)->(%p)\n", This
, p
);
969 static const IHTMLCurrentStyle2Vtbl HTMLCurrentStyle2Vtbl
= {
970 HTMLCurrentStyle2_QueryInterface
,
971 HTMLCurrentStyle2_AddRef
,
972 HTMLCurrentStyle2_Release
,
973 HTMLCurrentStyle2_GetTypeInfoCount
,
974 HTMLCurrentStyle2_GetTypeInfo
,
975 HTMLCurrentStyle2_GetIDsOfNames
,
976 HTMLCurrentStyle2_Invoke
,
977 HTMLCurrentStyle2_get_layoutFlow
,
978 HTMLCurrentStyle2_get_wordWrap
,
979 HTMLCurrentStyle2_get_textUnderlinePosition
,
980 HTMLCurrentStyle2_get_hasLayout
,
981 HTMLCurrentStyle2_get_scrollbarBaseColor
,
982 HTMLCurrentStyle2_get_scrollbarFaceColor
,
983 HTMLCurrentStyle2_get_scrollbar3dLightColor
,
984 HTMLCurrentStyle2_get_scrollbarShadowColor
,
985 HTMLCurrentStyle2_get_scrollbarHighlightColor
,
986 HTMLCurrentStyle2_get_scrollbarDarkShadowColor
,
987 HTMLCurrentStyle2_get_scrollbarArrowColor
,
988 HTMLCurrentStyle2_get_scrollbarTrackColor
,
989 HTMLCurrentStyle2_get_writingMode
,
990 HTMLCurrentStyle2_get_zoom
,
991 HTMLCurrentStyle2_get_filter
,
992 HTMLCurrentStyle2_get_textAlignLast
,
993 HTMLCurrentStyle2_get_textKashidaSpace
,
994 HTMLCurrentStyle2_get_isBlock
997 DISPEX_IDISPATCH_IMPL(HTMLCurrentStyle3
, IHTMLCurrentStyle3
,
998 impl_from_IHTMLCurrentStyle3(iface
)->css_style
.dispex
)
1000 static HRESULT WINAPI
HTMLCurrentStyle3_get_textOverflow(IHTMLCurrentStyle3
*iface
, BSTR
*p
)
1002 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle3(iface
);
1003 FIXME("(%p)->(%p)\n", This
, p
);
1007 static HRESULT WINAPI
HTMLCurrentStyle3_get_minHeight(IHTMLCurrentStyle3
*iface
, VARIANT
*p
)
1009 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle3(iface
);
1010 FIXME("(%p)->(%p)\n", This
, p
);
1014 static HRESULT WINAPI
HTMLCurrentStyle3_get_wordSpacing(IHTMLCurrentStyle3
*iface
, VARIANT
*p
)
1016 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle3(iface
);
1017 FIXME("(%p)->(%p)\n", This
, p
);
1021 static HRESULT WINAPI
HTMLCurrentStyle3_get_whiteSpace(IHTMLCurrentStyle3
*iface
, BSTR
*p
)
1023 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle3(iface
);
1025 TRACE("(%p)->(%p)\n", This
, p
);
1027 return get_current_style_property(This
, STYLEID_WHITE_SPACE
, p
);
1030 static const IHTMLCurrentStyle3Vtbl HTMLCurrentStyle3Vtbl
= {
1031 HTMLCurrentStyle3_QueryInterface
,
1032 HTMLCurrentStyle3_AddRef
,
1033 HTMLCurrentStyle3_Release
,
1034 HTMLCurrentStyle3_GetTypeInfoCount
,
1035 HTMLCurrentStyle3_GetTypeInfo
,
1036 HTMLCurrentStyle3_GetIDsOfNames
,
1037 HTMLCurrentStyle3_Invoke
,
1038 HTMLCurrentStyle3_get_textOverflow
,
1039 HTMLCurrentStyle3_get_minHeight
,
1040 HTMLCurrentStyle3_get_wordSpacing
,
1041 HTMLCurrentStyle3_get_whiteSpace
1044 DISPEX_IDISPATCH_IMPL(HTMLCurrentStyle4
, IHTMLCurrentStyle4
,
1045 impl_from_IHTMLCurrentStyle4(iface
)->css_style
.dispex
)
1047 static HRESULT WINAPI
HTMLCurrentStyle4_msInterpolationMode(IHTMLCurrentStyle4
*iface
, BSTR
*p
)
1049 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle4(iface
);
1050 FIXME("(%p)->(%p)\n", This
, p
);
1054 static HRESULT WINAPI
HTMLCurrentStyle4_get_maxHeight(IHTMLCurrentStyle4
*iface
, VARIANT
*p
)
1056 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle4(iface
);
1057 FIXME("(%p)->(%p)\n", This
, p
);
1061 static HRESULT WINAPI
HTMLCurrentStyle4_get_minWidth(IHTMLCurrentStyle4
*iface
, VARIANT
*p
)
1063 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle4(iface
);
1064 TRACE("(%p)->(%p)\n", This
, p
);
1065 return get_current_style_property_var(This
, STYLEID_MIN_WIDTH
, p
);
1068 static HRESULT WINAPI
HTMLCurrentStyle4_get_maxWidth(IHTMLCurrentStyle4
*iface
, VARIANT
*p
)
1070 HTMLCurrentStyle
*This
= impl_from_IHTMLCurrentStyle4(iface
);
1071 FIXME("(%p)->(%p)\n", This
, p
);
1075 static const IHTMLCurrentStyle4Vtbl HTMLCurrentStyle4Vtbl
= {
1076 HTMLCurrentStyle4_QueryInterface
,
1077 HTMLCurrentStyle4_AddRef
,
1078 HTMLCurrentStyle4_Release
,
1079 HTMLCurrentStyle4_GetTypeInfoCount
,
1080 HTMLCurrentStyle4_GetTypeInfo
,
1081 HTMLCurrentStyle4_GetIDsOfNames
,
1082 HTMLCurrentStyle4_Invoke
,
1083 HTMLCurrentStyle4_msInterpolationMode
,
1084 HTMLCurrentStyle4_get_maxHeight
,
1085 HTMLCurrentStyle4_get_minWidth
,
1086 HTMLCurrentStyle4_get_maxWidth
1089 static inline HTMLCurrentStyle
*impl_from_DispatchEx(DispatchEx
*dispex
)
1091 return CONTAINING_RECORD(dispex
, HTMLCurrentStyle
, css_style
.dispex
);
1094 static void *HTMLCurrentStyle_query_interface(DispatchEx
*dispex
, REFIID riid
)
1096 HTMLCurrentStyle
*This
= impl_from_DispatchEx(dispex
);
1098 if(IsEqualGUID(&IID_IHTMLCurrentStyle
, riid
))
1099 return &This
->IHTMLCurrentStyle_iface
;
1100 if(IsEqualGUID(&IID_IHTMLCurrentStyle2
, riid
))
1101 return &This
->IHTMLCurrentStyle2_iface
;
1102 if(IsEqualGUID(&IID_IHTMLCurrentStyle3
, riid
))
1103 return &This
->IHTMLCurrentStyle3_iface
;
1104 if(IsEqualGUID(&IID_IHTMLCurrentStyle4
, riid
))
1105 return &This
->IHTMLCurrentStyle4_iface
;
1106 return CSSStyle_query_interface(&This
->css_style
.dispex
, riid
);
1109 static void HTMLCurrentStyle_traverse(DispatchEx
*dispex
, nsCycleCollectionTraversalCallback
*cb
)
1111 HTMLCurrentStyle
*This
= impl_from_DispatchEx(dispex
);
1112 CSSStyle_traverse(&This
->css_style
.dispex
, cb
);
1115 note_cc_edge((nsISupports
*)&This
->elem
->node
.IHTMLDOMNode_iface
, "elem", cb
);
1118 static void HTMLCurrentStyle_unlink(DispatchEx
*dispex
)
1120 HTMLCurrentStyle
*This
= impl_from_DispatchEx(dispex
);
1121 CSSStyle_unlink(&This
->css_style
.dispex
);
1124 HTMLElement
*elem
= This
->elem
;
1126 IHTMLDOMNode_Release(&elem
->node
.IHTMLDOMNode_iface
);
1130 static const dispex_static_data_vtbl_t HTMLCurrentStyle_dispex_vtbl
= {
1131 CSSSTYLE_DISPEX_VTBL_ENTRIES
,
1132 .query_interface
= HTMLCurrentStyle_query_interface
,
1133 .traverse
= HTMLCurrentStyle_traverse
,
1134 .unlink
= HTMLCurrentStyle_unlink
1137 static const tid_t HTMLCurrentStyle_iface_tids
[] = {
1138 IHTMLCurrentStyle_tid
,
1139 IHTMLCurrentStyle2_tid
,
1140 IHTMLCurrentStyle3_tid
,
1141 IHTMLCurrentStyle4_tid
,
1144 static dispex_static_data_t HTMLCurrentStyle_dispex
= {
1145 "MSCurrentStyleCSSProperties",
1146 &HTMLCurrentStyle_dispex_vtbl
,
1147 DispHTMLCurrentStyle_tid
,
1148 HTMLCurrentStyle_iface_tids
,
1149 CSSStyle_init_dispex_info
1152 HRESULT
HTMLCurrentStyle_Create(HTMLElement
*elem
, IHTMLCurrentStyle
**p
)
1154 nsIDOMCSSStyleDeclaration
*nsstyle
;
1155 mozIDOMWindowProxy
*nsview
;
1156 nsIDOMWindow
*nswindow
;
1157 nsAString nsempty_str
;
1158 HTMLCurrentStyle
*ret
;
1161 if(!elem
->node
.doc
->dom_document
) {
1162 WARN("NULL dom_document\n");
1163 return E_UNEXPECTED
;
1166 nsres
= nsIDOMDocument_GetDefaultView(elem
->node
.doc
->dom_document
, &nsview
);
1167 if(NS_FAILED(nsres
)) {
1168 ERR("GetDefaultView failed: %08lx\n", nsres
);
1172 nsres
= mozIDOMWindowProxy_QueryInterface(nsview
, &IID_nsIDOMWindow
, (void**)&nswindow
);
1173 mozIDOMWindowProxy_Release(nsview
);
1174 assert(nsres
== NS_OK
);
1176 nsAString_Init(&nsempty_str
, NULL
);
1177 nsres
= nsIDOMWindow_GetComputedStyle(nswindow
, elem
->dom_element
, &nsempty_str
, &nsstyle
);
1178 nsAString_Finish(&nsempty_str
);
1179 nsIDOMWindow_Release(nswindow
);
1180 if(NS_FAILED(nsres
)) {
1181 ERR("GetComputedStyle failed: %08lx\n", nsres
);
1186 ERR("GetComputedStyle returned NULL nsstyle\n");
1190 ret
= calloc(1, sizeof(HTMLCurrentStyle
));
1192 nsIDOMCSSStyleDeclaration_Release(nsstyle
);
1193 return E_OUTOFMEMORY
;
1196 ret
->IHTMLCurrentStyle_iface
.lpVtbl
= &HTMLCurrentStyleVtbl
;
1197 ret
->IHTMLCurrentStyle2_iface
.lpVtbl
= &HTMLCurrentStyle2Vtbl
;
1198 ret
->IHTMLCurrentStyle3_iface
.lpVtbl
= &HTMLCurrentStyle3Vtbl
;
1199 ret
->IHTMLCurrentStyle4_iface
.lpVtbl
= &HTMLCurrentStyle4Vtbl
;
1201 init_css_style(&ret
->css_style
, nsstyle
, &HTMLCurrentStyle_dispex
, dispex_compat_mode(&elem
->node
.event_target
.dispex
));
1202 nsIDOMCSSStyleDeclaration_Release(nsstyle
);
1204 IHTMLElement_AddRef(&elem
->IHTMLElement_iface
);
1207 *p
= &ret
->IHTMLCurrentStyle_iface
;