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