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