1 /* 2 * Copyright 2009 Alistair Leslie-Hughes 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 */ 18 19 #include "mshtml_private.h" 20 21 static inline HTMLStyle *impl_from_IHTMLStyle3(IHTMLStyle3 *iface) 22 { 23 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle3_iface); 24 } 25 26 static HRESULT WINAPI HTMLStyle3_QueryInterface(IHTMLStyle3 *iface, REFIID riid, void **ppv) 27 { 28 HTMLStyle *This = impl_from_IHTMLStyle3(iface); 29 30 return IHTMLStyle_QueryInterface(&This->IHTMLStyle_iface, riid, ppv); 31 } 32 33 static ULONG WINAPI HTMLStyle3_AddRef(IHTMLStyle3 *iface) 34 { 35 HTMLStyle *This = impl_from_IHTMLStyle3(iface); 36 37 return IHTMLStyle_AddRef(&This->IHTMLStyle_iface); 38 } 39 40 static ULONG WINAPI HTMLStyle3_Release(IHTMLStyle3 *iface) 41 { 42 HTMLStyle *This = impl_from_IHTMLStyle3(iface); 43 44 return IHTMLStyle_Release(&This->IHTMLStyle_iface); 45 } 46 47 static HRESULT WINAPI HTMLStyle3_GetTypeInfoCount(IHTMLStyle3 *iface, UINT *pctinfo) 48 { 49 HTMLStyle *This = impl_from_IHTMLStyle3(iface); 50 return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo); 51 } 52 53 static HRESULT WINAPI HTMLStyle3_GetTypeInfo(IHTMLStyle3 *iface, UINT iTInfo, 54 LCID lcid, ITypeInfo **ppTInfo) 55 { 56 HTMLStyle *This = impl_from_IHTMLStyle3(iface); 57 return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo); 58 } 59 60 static HRESULT WINAPI HTMLStyle3_GetIDsOfNames(IHTMLStyle3 *iface, REFIID riid, 61 LPOLESTR *rgszNames, UINT cNames, 62 LCID lcid, DISPID *rgDispId) 63 { 64 HTMLStyle *This = impl_from_IHTMLStyle3(iface); 65 return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames, 66 lcid, rgDispId); 67 } 68 69 static HRESULT WINAPI HTMLStyle3_Invoke(IHTMLStyle3 *iface, DISPID dispIdMember, 70 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, 71 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) 72 { 73 HTMLStyle *This = impl_from_IHTMLStyle3(iface); 74 return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid, 75 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); 76 } 77 78 static HRESULT WINAPI HTMLStyle3_put_layoutFlow(IHTMLStyle3 *iface, BSTR v) 79 { 80 HTMLStyle *This = impl_from_IHTMLStyle3(iface); 81 FIXME("(%p)->(%s)\n", This, debugstr_w(v)); 82 return E_NOTIMPL; 83 } 84 85 static HRESULT WINAPI HTMLStyle3_get_layoutFlow(IHTMLStyle3 *iface, BSTR *p) 86 { 87 HTMLStyle *This = impl_from_IHTMLStyle3(iface); 88 FIXME("(%p)->(%p)\n", This, p); 89 return E_NOTIMPL; 90 } 91 92 static const WCHAR zoomW[] = {'z','o','o','m',0}; 93 94 static 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 114 static 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 134 static 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 143 static 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 152 static 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 159 static 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 166 static 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 173 static 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 180 static 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 187 static 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 194 static 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 201 static 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 208 static 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 215 static 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 222 static 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 229 static 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 236 static 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 243 static 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 250 static 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 257 static 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 264 static 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 271 static 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 278 static 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 285 static 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 292 static 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 299 static 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 306 static 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 313 static 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 320 static 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 */ 363 static inline HTMLStyle *impl_from_IHTMLStyle4(IHTMLStyle4 *iface) 364 { 365 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle4_iface); 366 } 367 368 static 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 375 static ULONG WINAPI HTMLStyle4_AddRef(IHTMLStyle4 *iface) 376 { 377 HTMLStyle *This = impl_from_IHTMLStyle4(iface); 378 379 return IHTMLStyle_AddRef(&This->IHTMLStyle_iface); 380 } 381 382 static ULONG WINAPI HTMLStyle4_Release(IHTMLStyle4 *iface) 383 { 384 HTMLStyle *This = impl_from_IHTMLStyle4(iface); 385 386 return IHTMLStyle_Release(&This->IHTMLStyle_iface); 387 } 388 389 static 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 395 static 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 402 static 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 411 static 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 420 static 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 427 static 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 434 static 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 443 static 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 452 static 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 466 static inline HTMLStyle *impl_from_IHTMLStyle5(IHTMLStyle5 *iface) 467 { 468 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle5_iface); 469 } 470 471 static 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 478 static ULONG WINAPI HTMLStyle5_AddRef(IHTMLStyle5 *iface) 479 { 480 HTMLStyle *This = impl_from_IHTMLStyle5(iface); 481 482 return IHTMLStyle_AddRef(&This->IHTMLStyle_iface); 483 } 484 485 static ULONG WINAPI HTMLStyle5_Release(IHTMLStyle5 *iface) 486 { 487 HTMLStyle *This = impl_from_IHTMLStyle5(iface); 488 489 return IHTMLStyle_Release(&This->IHTMLStyle_iface); 490 } 491 492 static 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 498 static 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 505 static 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 513 static 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 522 static 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 529 static 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 536 static 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 545 static 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 554 static 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 563 static 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 572 static 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 581 static 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 590 static 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 608 static inline HTMLStyle *impl_from_IHTMLStyle6(IHTMLStyle6 *iface) 609 { 610 return CONTAINING_RECORD(iface, HTMLStyle, IHTMLStyle6_iface); 611 } 612 613 static 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 620 static ULONG WINAPI HTMLStyle6_AddRef(IHTMLStyle6 *iface) 621 { 622 HTMLStyle *This = impl_from_IHTMLStyle6(iface); 623 624 return IHTMLStyle_AddRef(&This->IHTMLStyle_iface); 625 } 626 627 static ULONG WINAPI HTMLStyle6_Release(IHTMLStyle6 *iface) 628 { 629 HTMLStyle *This = impl_from_IHTMLStyle6(iface); 630 631 return IHTMLStyle_Release(&This->IHTMLStyle_iface); 632 } 633 634 static 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 640 static 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 647 static 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 655 static 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 664 static 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 671 static 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 678 static 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 685 static 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 692 static 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 699 static 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 706 static 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 713 static 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 720 static 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 729 static 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 738 static 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 745 static 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 752 static 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 759 static 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 766 static 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 773 static 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 780 static 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 789 static 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 798 static 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 805 static 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 812 static 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 819 static 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 826 static 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 833 static 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 840 static 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 847 static 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 854 static 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 861 static 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 868 static 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 875 static 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 882 static 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 889 static 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 896 static 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 938 void 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 } 945