1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 // MARKER(update_precomp.py): autogen include statement, do not remove 25 #include "precompiled_sw.hxx" 26 27 #include "htmlfly.hxx" 28 29 30 #define TE(t,p,c) (sal_uInt8)( HTML_OUT_##t | HTML_POS_##p | HTML_CNTNR_##c ) 31 32 sal_uInt8 aHTMLOutFrmPageFlyTable[MAX_FRMTYPES][MAX_BROWSERS] = 33 { 34 { 35 // Textrahmen mit Tabelle 36 TE(TBLNODE, BEFORE, NONE), // HTML 3.2 37 TE(DIV, PREFIX, NONE), // IE 4 38 TE(DIV, PREFIX, NONE), // SW 39 TE(DIV, PREFIX, NONE) // Netscape 4! 40 }, 41 { 42 // Textrahmen mit Tabelle und Ueberschrift 43 TE(TBLNODE, BEFORE, NONE), // HTML 3.2 44 TE(DIV, PREFIX, NONE), // IE 4 45 TE(DIV, PREFIX, NONE), // SW 46 TE(DIV, PREFIX, NONE) // Netscape 4 47 }, 48 { 49 // spaltiger Rahmen 50 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 51 TE(GRFFRM, PREFIX, NONE), // IE 4 52 TE(MULTICOL,PREFIX, NONE), // SW 53 TE(MULTICOL,PREFIX, DIV) // Netscape 4 54 }, 55 { 56 // leerer Textreahmen 57 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 58 TE(DIV, PREFIX, NONE), // IE 4 59 TE(DIV, PREFIX, NONE), // SW 60 TE(DIV, PREFIX, NONE) // Netscape 4 61 }, 62 { 63 // sonstiger Textreahmen 64 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 65 TE(DIV, PREFIX, NONE), // IE 4 66 TE(DIV, PREFIX, NONE), // SW 67 TE(DIV, PREFIX, NONE) // Netscape 4 68 }, 69 { 70 // Grafik-Node 71 TE(GRFNODE, INSIDE, NONE), // HTML 3.2 72 TE(GRFNODE, PREFIX, NONE), // IE 4 73 TE(GRFNODE, PREFIX, NONE), // SW 74 TE(GRFNODE, PREFIX, SPAN) // Netscape 4 75 }, 76 { 77 // Plugin 78 TE(OLENODE, INSIDE, NONE), // HTML 3.2 79 TE(OLENODE, PREFIX, NONE), // IE 4 80 TE(OLENODE, PREFIX, NONE), // SW 81 TE(OLENODE, PREFIX, SPAN) // Netscape 4 82 }, 83 { 84 // Applet 85 TE(OLENODE, INSIDE, NONE), // HTML 3.2 86 TE(OLENODE, PREFIX, NONE), // IE 4 87 TE(OLENODE, PREFIX, NONE), // SW 88 TE(OLENODE, PREFIX, SPAN) // Netscape 4 89 }, 90 { 91 // Floating-Frame 92 TE(OLEGRF, INSIDE, NONE), // HTML 3.2 93 TE(OLENODE, PREFIX, NONE), // IE 4 94 TE(OLENODE, PREFIX, NONE), // SW 95 TE(OLEGRF, PREFIX, SPAN) // Netscape 4 96 }, 97 { 98 // sonstige OLE-Objekte 99 TE(OLEGRF, INSIDE, NONE), // HTML 3.2 100 TE(OLEGRF, PREFIX, NONE), // IE 4 101 TE(OLEGRF, PREFIX, NONE), // SW 102 TE(OLEGRF, PREFIX, SPAN) // Netscape 4 103 }, 104 { 105 // Laufschrift 106 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 107 TE(AMARQUEE,PREFIX, NONE), // IE 4 108 TE(AMARQUEE,PREFIX, NONE), // SW 109 TE(GRFFRM, PREFIX, SPAN) // Netscape 4 110 }, 111 { 112 // Controls 113 TE(CONTROL, INSIDE, NONE), // HTML 3.2 114 TE(CONTROL, PREFIX, NONE), // IE 4 115 TE(CONTROL, PREFIX, NONE), // SW 116 // Netscape schaltet FORM bei Controls in abs.-pos. SPAN aus. 117 TE(CONTROL, INSIDE, NONE) // Netscape 4 118 }, 119 { 120 // sonstige Zeichen-Objekte 121 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 122 TE(GRFFRM, PREFIX, NONE), // IE 4 123 TE(GRFFRM, PREFIX, NONE), // SW 124 TE(GRFFRM, PREFIX, SPAN) // Netscape 4 125 } 126 }; 127 128 sal_uInt8 aHTMLOutFrmParaFrameTable[MAX_FRMTYPES][MAX_BROWSERS] = 129 { 130 { 131 // Textrahmen mit Tabelle 132 TE(TBLNODE, BEFORE, NONE), // HTML 3.2 133 TE(TBLNODE, BEFORE, NONE), // IE 4 134 TE(TBLNODE, BEFORE, NONE), // SW 135 TE(TBLNODE, BEFORE, NONE) // Netscape 4 136 }, 137 { 138 // Textrahmen mit Tabelle und Ueberschrift 139 TE(TBLNODE, BEFORE, NONE), // HTML 3.2 140 TE(DIV, BEFORE, NONE), // IE 4 141 TE(DIV, BEFORE, NONE), // SW 142 TE(TBLNODE, BEFORE, NONE) // Netscape 4 143 }, 144 { 145 // spaltiger Rahmen 146 TE(GRFFRM, BEFORE, NONE), // HTML 3.2 147 TE(GRFFRM, BEFORE, NONE), // IE 4 148 TE(MULTICOL,BEFORE, NONE), // SW 149 TE(MULTICOL,BEFORE, DIV) // Netscape 4 150 }, 151 { 152 // leerer Textreahmen 153 TE(GRFFRM, BEFORE, NONE), // HTML 3.2 154 TE(DIV, BEFORE, NONE), // IE 4 155 TE(SPACER, BEFORE, NONE), // SW 156 TE(SPACER, BEFORE, NONE) // Netscape 4 157 }, 158 { 159 // sonstiger Textreahmen 160 TE(GRFFRM, BEFORE, NONE), // HTML 3.2 161 TE(DIV, BEFORE, NONE), // IE 4 162 TE(DIV, BEFORE, NONE), // SW 163 TE(DIV, BEFORE, NONE) // Netscape 4 164 }, 165 { 166 // Grafik-Node 167 TE(GRFNODE, BEFORE, NONE), // HTML 3.2 168 TE(GRFNODE, BEFORE, NONE), // IE 4 169 TE(GRFNODE, BEFORE, NONE), // SW 170 TE(GRFNODE, BEFORE, NONE) // Netscape 4 171 }, 172 { 173 // Plugin 174 TE(OLENODE, BEFORE, NONE), // HTML 3.2 175 TE(OLENODE, BEFORE, NONE), // IE 4 176 TE(OLENODE, BEFORE, NONE), // SW 177 TE(OLENODE, BEFORE, NONE) // Netscape 4 178 }, 179 { 180 // Applet 181 TE(OLENODE, BEFORE, NONE), // HTML 3.2 182 TE(OLENODE, BEFORE, NONE), // IE 4 183 TE(OLENODE, BEFORE, NONE), // SW 184 TE(OLENODE, BEFORE, NONE) // Netscape 4 185 }, 186 { 187 // Floating-Frame 188 TE(OLEGRF, BEFORE, NONE), // HTML 3.2 189 TE(OLENODE, BEFORE, NONE), // IE 4 190 TE(OLENODE, BEFORE, NONE), // SW 191 TE(OLEGRF, BEFORE, NONE) // Netscape 4 192 }, 193 { 194 // sonstige OLE-Objekte 195 TE(OLEGRF, BEFORE, NONE), // HTML 3.2 196 TE(OLEGRF, BEFORE, NONE), // IE 4 197 TE(OLEGRF, BEFORE, NONE), // SW 198 TE(OLEGRF, BEFORE, NONE) // Netscape 4 199 }, 200 { 201 // Laufschrift (fuer Netscape 4 im Container, damit 202 // die LAufschrift an der richtigen Stelle erscheint 203 TE(GRFFRM, BEFORE, NONE), // HTML 3.2 204 TE(AMARQUEE,BEFORE, NONE), // IE 4 205 TE(AMARQUEE,BEFORE, NONE), // SW 206 TE(GRFFRM, BEFORE, NONE) // Netscape 4 207 }, 208 { 209 // Controls 210 TE(CONTROL, INSIDE, NONE), // HTML 3.2 211 TE(CONTROL, BEFORE, NONE), // IE 4 212 TE(CONTROL, BEFORE, NONE), // SW 213 // hier koennte man einen Container draus machen (Import fehlt) 214 TE(CONTROL, BEFORE, NONE) // Netscape 4 215 }, 216 { 217 // sonstige Zeichen-Objekte 218 TE(GRFFRM, BEFORE, NONE), // HTML 3.2 219 TE(GRFFRM, BEFORE, NONE), // IE 4 220 TE(GRFFRM, BEFORE, NONE), // SW 221 TE(GRFFRM, BEFORE, NONE) // Netscape 4 222 } 223 }; 224 225 sal_uInt8 aHTMLOutFrmParaPrtAreaTable[MAX_FRMTYPES][MAX_BROWSERS] = 226 { 227 { 228 // Textrahmen mit Tabelle 229 TE(TBLNODE, INSIDE, NONE), // HTML 3.2 230 TE(TBLNODE, INSIDE, NONE), // IE 4 231 TE(TBLNODE, INSIDE, NONE), // SW 232 TE(TBLNODE, INSIDE, NONE) // Netscape 4 233 }, 234 { 235 // Textrahmen mit Tabelle und Ueberschrift 236 TE(TBLNODE, INSIDE, NONE), // HTML 3.2 237 TE(SPAN, INSIDE, NONE), // IE 4 238 TE(SPAN, INSIDE, NONE), // SW 239 TE(SPAN, INSIDE, NONE) // Netscape 4 240 }, 241 { 242 // spaltiger Rahmen 243 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 244 TE(GRFFRM, INSIDE, NONE), // IE 4 245 TE(MULTICOL,INSIDE, NONE), // SW 246 TE(MULTICOL,INSIDE, SPAN) // Netscape 4 247 }, 248 { 249 // leerer Textreahmen 250 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 251 TE(SPAN, INSIDE, NONE), // IE 4 252 TE(SPACER, INSIDE, NONE), // SW 253 TE(SPACER, INSIDE, NONE) // Netscape 4 254 }, 255 { 256 // sonstiger Textreahmen 257 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 258 TE(SPAN, INSIDE, NONE), // IE 4 259 TE(SPAN, INSIDE, NONE), // SW 260 TE(SPAN, INSIDE, NONE) // Netscape 4 261 }, 262 { 263 // Grafik-Node 264 TE(GRFNODE, INSIDE, NONE), // HTML 3.2 265 TE(GRFNODE, INSIDE, NONE), // IE 4 266 TE(GRFNODE, INSIDE, NONE), // SW 267 TE(GRFNODE, INSIDE, NONE) // Netscape 4 268 }, 269 { 270 // Plugin 271 TE(OLENODE, INSIDE, NONE), // HTML 3.2 272 TE(OLENODE, INSIDE, NONE), // IE 4 273 TE(OLENODE, INSIDE, NONE), // SW 274 TE(OLENODE, INSIDE, NONE) // Netscape 4 275 }, 276 { 277 // Applet 278 TE(OLENODE, INSIDE, NONE), // HTML 3.2 279 TE(OLENODE, INSIDE, NONE), // IE 4 280 TE(OLENODE, INSIDE, NONE), // SW 281 TE(OLENODE, INSIDE, NONE) // Netscape 4 282 }, 283 { 284 // Floating-Frame 285 TE(OLEGRF, INSIDE, NONE), // HTML 3.2 286 TE(OLENODE, INSIDE, NONE), // IE 4 287 TE(OLENODE, INSIDE, NONE), // SW 288 TE(OLEGRF, INSIDE, NONE) // Netscape 4 289 }, 290 { 291 // sonstige OLE-Objekte 292 TE(OLEGRF, INSIDE, NONE), // HTML 3.2 293 TE(OLEGRF, INSIDE, NONE), // IE 4 294 TE(OLEGRF, INSIDE, NONE), // SW 295 TE(OLEGRF, INSIDE, NONE) // Netscape 4 296 }, 297 { 298 // Laufschrift 299 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 300 TE(AMARQUEE,INSIDE, NONE), // IE 4 301 TE(AMARQUEE,INSIDE, NONE), // SW 302 TE(GRFFRM, INSIDE, NONE) // Netscape 4 303 }, 304 { 305 // Controls 306 TE(CONTROL, INSIDE, NONE), // HTML 3.2 307 TE(CONTROL, INSIDE, NONE), // IE 4 308 TE(CONTROL, INSIDE, NONE), // SW 309 // hier koennte man einen Container draus machen (Import fehlt) 310 TE(CONTROL, INSIDE, NONE) // Netscape 4 311 }, 312 { 313 // sonstige Zeichen-Objekte 314 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 315 TE(GRFFRM, INSIDE, NONE), // IE 4 316 TE(GRFFRM, INSIDE, NONE), // SW 317 TE(GRFFRM, INSIDE, NONE) // Netscape 4 318 } 319 }; 320 321 sal_uInt8 aHTMLOutFrmParaOtherTable[MAX_FRMTYPES][MAX_BROWSERS] = 322 { 323 { 324 // Textrahmen mit Tabelle 325 TE(TBLNODE, BEFORE, NONE), // HTML 3.2 326 TE(SPAN, INSIDE, NONE), // IE 4 327 TE(SPAN, INSIDE, NONE), // SW 328 TE(SPAN, INSIDE, NONE) // Netscape 4 329 }, 330 { 331 // Textrahmen mit Tabelle und Ueberschrift 332 TE(TBLNODE, BEFORE, NONE), // HTML 3.2 333 TE(SPAN, INSIDE, NONE), // IE 4 334 TE(SPAN, INSIDE, NONE), // SW 335 TE(SPAN, INSIDE, NONE) // Netscape 4 336 }, 337 { 338 // spaltiger Rahmen 339 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 340 TE(GRFFRM, INSIDE, NONE), // IE 4 341 TE(MULTICOL,INSIDE, NONE), // SW 342 TE(MULTICOL,INSIDE, SPAN) // Netscape 4 343 }, 344 { 345 // leerer Textreahmen 346 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 347 TE(SPAN, INSIDE, NONE), // IE 4 348 TE(SPAN, INSIDE, NONE), // SW 349 TE(SPAN, INSIDE, NONE) // Netscape 4 350 }, 351 { 352 // sonstiger Textreahmen 353 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 354 TE(SPAN, INSIDE, NONE), // IE 4 355 TE(SPAN, INSIDE, NONE), // SW 356 TE(SPAN, INSIDE, NONE) // Netscape 4 357 }, 358 { 359 // Grafik-Node 360 TE(GRFNODE, INSIDE, NONE), // HTML 3.2 361 TE(GRFNODE, INSIDE, NONE), // IE 4 362 TE(GRFNODE, INSIDE, NONE), // SW 363 TE(GRFNODE, INSIDE, SPAN) // Netscape 4 364 }, 365 { 366 // Plugin 367 TE(OLENODE, INSIDE, NONE), // HTML 3.2 368 TE(OLENODE, INSIDE, NONE), // IE 4 369 TE(OLENODE, INSIDE, NONE), // SW 370 TE(OLENODE, INSIDE, SPAN) // Netscape 4 371 }, 372 { 373 // Applet 374 TE(OLENODE, INSIDE, NONE), // HTML 3.2 375 TE(OLENODE, INSIDE, NONE), // IE 4 376 TE(OLENODE, INSIDE, NONE), // SW 377 TE(OLENODE, INSIDE, SPAN) // Netscape 4 378 }, 379 { 380 // Floating-Frame 381 TE(OLEGRF, INSIDE, NONE), // HTML 3.2 382 TE(OLENODE, INSIDE, NONE), // IE 4 383 TE(OLENODE, INSIDE, NONE), // SW 384 TE(OLEGRF, INSIDE, SPAN) // Netscape 4 385 }, 386 { 387 // sonstige OLE-Objekte 388 TE(OLEGRF, INSIDE, NONE), // HTML 3.2 389 TE(OLEGRF, INSIDE, NONE), // IE 4 390 TE(OLEGRF, INSIDE, NONE), // SW 391 TE(OLEGRF, INSIDE, SPAN) // Netscape 4 392 }, 393 { 394 // Laufschrift 395 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 396 TE(AMARQUEE,INSIDE, NONE), // IE 4 397 TE(AMARQUEE,INSIDE, NONE), // SW 398 TE(GRFFRM, INSIDE, SPAN) // Netscape 4 399 }, 400 { 401 // Controls 402 TE(CONTROL, INSIDE, NONE), // HTML 3.2 403 TE(CONTROL, INSIDE, NONE), // IE 4 404 TE(CONTROL, INSIDE, NONE), // SW 405 // Netscape schaltet FORM bei Controls in abs.-pos. SPAN aus. 406 TE(CONTROL, INSIDE, NONE) // Netscape 4 407 }, 408 { 409 // sonstige Zeichen-Objekte 410 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 411 TE(GRFFRM, INSIDE, NONE), // IE 4 412 TE(GRFFRM, INSIDE, NONE), // SW 413 TE(GRFFRM, INSIDE, SPAN) // Netscape 4 414 } 415 }; 416 417 sal_uInt8 aHTMLOutFrmAsCharTable[MAX_FRMTYPES][MAX_BROWSERS] = 418 { 419 { 420 // Textrahmen mit Tabelle 421 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 422 TE(GRFFRM, INSIDE, NONE), // IE 4 423 TE(GRFFRM, INSIDE, NONE), // SW 424 TE(GRFFRM, INSIDE, NONE) // Netscape 4 425 }, 426 { 427 // Textrahmen mit Tabelle und Ueberschrift 428 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 429 TE(GRFFRM, INSIDE, NONE), // IE 4 430 TE(GRFFRM, INSIDE, NONE), // SW 431 TE(GRFFRM, INSIDE, NONE) // Netscape 4 432 }, 433 { 434 // spaltiger Rahmen 435 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 436 TE(GRFFRM, INSIDE, NONE), // IE 4 437 TE(MULTICOL,INSIDE, NONE), // SW 438 TE(MULTICOL,INSIDE, NONE) // Netscape 4 439 }, 440 { 441 // leerer Textreahmen 442 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 443 TE(GRFFRM, INSIDE, NONE), // IE 4 444 TE(SPACER, INSIDE, NONE), // SW 445 TE(SPACER, INSIDE, NONE) // Netscape 4 446 }, 447 { 448 // sonstiger Textreahmen 449 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 450 TE(GRFFRM, INSIDE, NONE), // IE 4 451 TE(GRFFRM, INSIDE, NONE), // SW 452 TE(GRFFRM, INSIDE, NONE) // Netscape 4 453 }, 454 { 455 // Grafik-Node 456 TE(GRFNODE, INSIDE, NONE), // HTML 3.2 457 TE(GRFNODE, INSIDE, NONE), // IE 4 458 TE(GRFNODE, INSIDE, NONE), // SW 459 TE(GRFNODE, INSIDE, NONE) // Netscape 4 460 }, 461 { 462 // Plugin 463 TE(OLENODE, INSIDE, NONE), // HTML 3.2 464 TE(OLENODE, INSIDE, NONE), // IE 4 465 TE(OLENODE, INSIDE, NONE), // SW 466 TE(OLENODE, INSIDE, NONE) // Netscape 4 467 }, 468 { 469 // Applet 470 TE(OLENODE, INSIDE, NONE), // HTML 3.2 471 TE(OLENODE, INSIDE, NONE), // IE 4 472 TE(OLENODE, INSIDE, NONE), // SW 473 TE(OLENODE, INSIDE, NONE) // Netscape 4 474 }, 475 { 476 // Floating-Frame 477 TE(OLEGRF, INSIDE, NONE), // HTML 3.2 478 TE(OLENODE, INSIDE, NONE), // IE 4 479 TE(OLENODE, INSIDE, NONE), // SW 480 TE(OLEGRF, INSIDE, NONE) // Netscape 4 481 }, 482 { 483 // sonstige OLE-Objekte 484 TE(OLEGRF, INSIDE, NONE), // HTML 3.2 485 TE(OLEGRF, INSIDE, NONE), // IE 4 486 TE(OLEGRF, INSIDE, NONE), // SW 487 TE(OLEGRF, INSIDE, NONE) // Netscape 4 488 }, 489 { 490 // Laufschrift (kann immer als MARQUEE exportiert werden, weil 491 // der Inhalt an der richtigen Stelle erscheint 492 TE(MARQUEE, INSIDE, NONE), // HTML 3.2 493 TE(MARQUEE, INSIDE, NONE), // IE 4 494 TE(MARQUEE, INSIDE, NONE), // SW 495 TE(MARQUEE, INSIDE, NONE) // Netscape 4 496 }, 497 { 498 // Controls 499 TE(CONTROL, INSIDE, NONE), // HTML 3.2 500 TE(CONTROL, INSIDE, NONE), // IE 4 501 TE(CONTROL, INSIDE, NONE), // SW 502 TE(CONTROL, INSIDE, NONE) // Netscape 4 503 }, 504 { 505 // sonstige Zeichen-Objekte 506 TE(GRFFRM, INSIDE, NONE), // HTML 3.2 507 TE(GRFFRM, INSIDE, NONE), // IE 4 508 TE(GRFFRM, INSIDE, NONE), // SW 509 TE(GRFFRM, INSIDE, NONE) // Netscape 4 510 } 511 }; 512 513