LibreOffice Module sw (master) 1
htmlflyt.cxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#include "htmlfly.hxx"
21
22#define TE(t,p,c) { HtmlOut::t, HtmlPosition::p, HtmlContainerFlags::c }
23
25{
26 {
27 // text frame with table
28 TE(TableNode, Before, NONE), // HTML 3.2
29 TE(Div, Prefix, NONE), // IE 4
30 TE(Div, Prefix, NONE), // SW
31 TE(Div, Prefix, NONE) // Netscape 4!
32 },
33 {
34 // text frame with table and headline
35 TE(TableNode, Before, NONE), // HTML 3.2
36 TE(Div, Prefix, NONE), // IE 4
37 TE(Div, Prefix, NONE), // SW
38 TE(Div, Prefix, NONE) // Netscape 4
39 },
40 {
41 // column frame
42 TE(GraphicFrame, Inside, NONE), // HTML 3.2
43 TE(GraphicFrame, Prefix, NONE), // IE 4
44 TE(MultiCol, Prefix, NONE), // SW
45 TE(MultiCol, Prefix, Div) // Netscape 4
46 },
47 {
48 // empty text frame
49 TE(GraphicFrame, Inside, NONE), // HTML 3.2
50 TE(Div, Prefix, NONE), // IE 4
51 TE(Div, Prefix, NONE), // SW
52 TE(Div, Prefix, NONE) // Netscape 4
53 },
54 {
55 // other text frame
56 TE(GraphicFrame, Inside, NONE), // HTML 3.2
57 TE(Div, Prefix, NONE), // IE 4
58 TE(Div, Prefix, NONE), // SW
59 TE(Div, Prefix, NONE) // Netscape 4
60 },
61 {
62 // graphic node
63 TE(GraphicNode, Inside, NONE), // HTML 3.2
64 TE(GraphicNode, Prefix, NONE), // IE 4
65 TE(GraphicNode, Prefix, NONE), // SW
66 TE(GraphicNode, Prefix, Span) // Netscape 4
67 },
68 {
69 // plug-in
70 TE(OleNode, Inside, NONE), // HTML 3.2
71 TE(OleNode, Prefix, NONE), // IE 4
72 TE(OleNode, Prefix, NONE), // SW
73 TE(OleNode, Prefix, Span) // Netscape 4
74 },
75 {
76 // applet
77 TE(OleNode, Inside, NONE), // HTML 3.2
78 TE(OleNode, Prefix, NONE), // IE 4
79 TE(OleNode, Prefix, NONE), // SW
80 TE(OleNode, Prefix, Span) // Netscape 4
81 },
82 {
83 // floating frame
84 TE(OleGraphic, Inside, NONE), // HTML 3.2
85 TE(OleNode, Prefix, NONE), // IE 4
86 TE(OleNode, Prefix, NONE), // SW
87 TE(OleGraphic, Prefix, Span) // Netscape 4
88 },
89 {
90 // other OLE objects
91 TE(OleGraphic, Inside, NONE), // HTML 3.2
92 TE(OleGraphic, Prefix, NONE), // IE 4
93 TE(OleGraphic, Prefix, NONE), // SW
94 TE(OleGraphic, Prefix, Span) // Netscape 4
95 },
96 {
97 // marquee
98 TE(GraphicFrame, Inside, NONE), // HTML 3.2
99 TE(AMarquee, Prefix, NONE), // IE 4
100 TE(AMarquee, Prefix, NONE), // SW
101 TE(GraphicFrame, Prefix, Span) // Netscape 4
102 },
103 {
104 // controls
105 TE(Control, Inside, NONE), // HTML 3.2
106 TE(Control, Prefix, NONE), // IE 4
107 TE(Control, Prefix, NONE), // SW
108 // Netscape disables FROM at controls in absolute position span.
109 TE(Control, Inside, NONE) // Netscape 4
110 },
111 {
112 // other character objects
113 TE(GraphicFrame, Inside, NONE), // HTML 3.2
114 TE(GraphicFrame, Prefix, NONE), // IE 4
115 TE(GraphicFrame, Prefix, NONE), // SW
116 TE(GraphicFrame, Prefix, Span) // Netscape 4
117 }
118};
119
121{
122 {
123 // text frame with table
124 TE(TableNode, Before, NONE), // HTML 3.2
125 TE(TableNode, Before, NONE), // IE 4
126 TE(TableNode, Before, NONE), // SW
127 TE(TableNode, Before, NONE) // Netscape 4
128 },
129 {
130 // text frame with table and headline
131 TE(TableNode, Before, NONE), // HTML 3.2
132 TE(Div, Before, NONE), // IE 4
133 TE(Div, Before, NONE), // SW
134 TE(TableNode, Before, NONE) // Netscape 4
135 },
136 {
137 // column frame
138 TE(GraphicFrame, Before, NONE), // HTML 3.2
139 TE(GraphicFrame, Before, NONE), // IE 4
140 TE(MultiCol, Before, NONE), // SW
141 TE(MultiCol, Before, Div) // Netscape 4
142 },
143 {
144 // empty text frame
145 TE(GraphicFrame, Before, NONE), // HTML 3.2
146 TE(Div, Before, NONE), // IE 4
147 TE(Spacer, Before, NONE), // SW
148 TE(Spacer, Before, NONE) // Netscape 4
149 },
150 {
151 // other text frame
152 TE(GraphicFrame, Before, NONE), // HTML 3.2
153 TE(Div, Before, NONE), // IE 4
154 TE(Div, Before, NONE), // SW
155 TE(Div, Before, NONE) // Netscape 4
156 },
157 {
158 // graphic node
159 TE(GraphicNode, Before, NONE), // HTML 3.2
160 TE(GraphicNode, Before, NONE), // IE 4
161 TE(GraphicNode, Before, NONE), // SW
162 TE(GraphicNode, Before, NONE) // Netscape 4
163 },
164 {
165 // plug-in
166 TE(OleNode, Before, NONE), // HTML 3.2
167 TE(OleNode, Before, NONE), // IE 4
168 TE(OleNode, Before, NONE), // SW
169 TE(OleNode, Before, NONE) // Netscape 4
170 },
171 {
172 // applet
173 TE(OleNode, Before, NONE), // HTML 3.2
174 TE(OleNode, Before, NONE), // IE 4
175 TE(OleNode, Before, NONE), // SW
176 TE(OleNode, Before, NONE) // Netscape 4
177 },
178 {
179 // floating frame
180 TE(OleGraphic, Before, NONE), // HTML 3.2
181 TE(OleNode, Before, NONE), // IE 4
182 TE(OleNode, Before, NONE), // SW
183 TE(OleGraphic, Before, NONE) // Netscape 4
184 },
185 {
186 // other OLE objects
187 TE(OleGraphic, Before, NONE), // HTML 3.2
188 TE(OleGraphic, Before, NONE), // IE 4
189 TE(OleGraphic, Before, NONE), // SW
190 TE(OleGraphic, Before, NONE) // Netscape 4
191 },
192 {
193 // marquee (for Netscape 4 in container, so that
194 // the marquee appears at the right spot)
195 TE(GraphicFrame, Before, NONE), // HTML 3.2
196 TE(AMarquee, Before, NONE), // IE 4
197 TE(AMarquee, Before, NONE), // SW
198 TE(GraphicFrame, Before, NONE) // Netscape 4
199 },
200 {
201 // controls
202 TE(Control, Inside, NONE), // HTML 3.2
203 TE(Control, Before, NONE), // IE 4
204 TE(Control, Before, NONE), // SW
205 // here you could make container out if it (import is missing)
206 TE(Control, Before, NONE) // Netscape 4
207 },
208 {
209 // other character objects
210 TE(GraphicFrame, Before, NONE), // HTML 3.2
211 TE(GraphicFrame, Before, NONE), // IE 4
212 TE(GraphicFrame, Before, NONE), // SW
213 TE(GraphicFrame, Before, NONE) // Netscape 4
214 }
215};
216
218{
219 {
220 // text frame with table
221 TE(TableNode, Inside, NONE), // HTML 3.2
222 TE(TableNode, Inside, NONE), // IE 4
223 TE(TableNode, Inside, NONE), // SW
224 TE(TableNode, Inside, NONE) // Netscape 4
225 },
226 {
227 // text frame with table and headline
228 TE(TableNode, Inside, NONE), // HTML 3.2
229 TE(Span, Inside, NONE), // IE 4
230 TE(Span, Inside, NONE), // SW
231 TE(Span, Inside, NONE) // Netscape 4
232 },
233 {
234 // column frame
235 TE(GraphicFrame, Inside, NONE), // HTML 3.2
236 TE(GraphicFrame, Inside, NONE), // IE 4
237 TE(MultiCol, Inside, NONE), // SW
238 TE(MultiCol, Inside, Span) // Netscape 4
239 },
240 {
241 // empty text frame
242 TE(GraphicFrame, Inside, NONE), // HTML 3.2
243 TE(Span, Inside, NONE), // IE 4
244 TE(Spacer, Inside, NONE), // SW
245 TE(Spacer, Inside, NONE) // Netscape 4
246 },
247 {
248 // other text frame
249 TE(GraphicFrame, Inside, NONE), // HTML 3.2
250 TE(Span, Inside, NONE), // IE 4
251 TE(Span, Inside, NONE), // SW
252 TE(Span, Inside, NONE) // Netscape 4
253 },
254 {
255 // graphic node
256 TE(GraphicNode, Inside, NONE), // HTML 3.2
257 TE(GraphicNode, Inside, NONE), // IE 4
258 TE(GraphicNode, Inside, NONE), // SW
259 TE(GraphicNode, Inside, NONE) // Netscape 4
260 },
261 {
262 // plug-in
263 TE(OleNode, Inside, NONE), // HTML 3.2
264 TE(OleNode, Inside, NONE), // IE 4
265 TE(OleNode, Inside, NONE), // SW
266 TE(OleNode, Inside, NONE) // Netscape 4
267 },
268 {
269 // applet
270 TE(OleNode, Inside, NONE), // HTML 3.2
271 TE(OleNode, Inside, NONE), // IE 4
272 TE(OleNode, Inside, NONE), // SW
273 TE(OleNode, Inside, NONE) // Netscape 4
274 },
275 {
276 // floating frame
277 TE(OleGraphic, Inside, NONE), // HTML 3.2
278 TE(OleNode, Inside, NONE), // IE 4
279 TE(OleNode, Inside, NONE), // SW
280 TE(OleGraphic, Inside, NONE) // Netscape 4
281 },
282 {
283 // other OLE objects
284 TE(OleGraphic, Inside, NONE), // HTML 3.2
285 TE(OleGraphic, Inside, NONE), // IE 4
286 TE(OleGraphic, Inside, NONE), // SW
287 TE(OleGraphic, Inside, NONE) // Netscape 4
288 },
289 {
290 // marquee
291 TE(GraphicFrame, Inside, NONE), // HTML 3.2
292 TE(AMarquee, Inside, NONE), // IE 4
293 TE(AMarquee, Inside, NONE), // SW
294 TE(GraphicFrame, Inside, NONE) // Netscape 4
295 },
296 {
297 // controls
298 TE(Control, Inside, NONE), // HTML 3.2
299 TE(Control, Inside, NONE), // IE 4
300 TE(Control, Inside, NONE), // SW
301 // here you could make container out if it (import is missing)
302 TE(Control, Inside, NONE) // Netscape 4
303 },
304 {
305 // other character objects
306 TE(GraphicFrame, Inside, NONE), // HTML 3.2
307 TE(GraphicFrame, Inside, NONE), // IE 4
308 TE(GraphicFrame, Inside, NONE), // SW
309 TE(GraphicFrame, Inside, NONE) // Netscape 4
310 }
311};
312
314{
315 {
316 // text frame with table
317 TE(TableNode, Before, NONE), // HTML 3.2
318 TE(Span, Inside, NONE), // IE 4
319 TE(Span, Inside, NONE), // SW
320 TE(Span, Inside, NONE) // Netscape 4
321 },
322 {
323 // text frame with table and headline
324 TE(TableNode, Before, NONE), // HTML 3.2
325 TE(Span, Inside, NONE), // IE 4
326 TE(Span, Inside, NONE), // SW
327 TE(Span, Inside, NONE) // Netscape 4
328 },
329 {
330 // column frame
331 TE(GraphicFrame, Inside, NONE), // HTML 3.2
332 TE(GraphicFrame, Inside, NONE), // IE 4
333 TE(MultiCol, Inside, NONE), // SW
334 TE(MultiCol, Inside, Span) // Netscape 4
335 },
336 {
337 // empty text frame
338 TE(GraphicFrame, Inside, NONE), // HTML 3.2
339 TE(Span, Inside, NONE), // IE 4
340 TE(Span, Inside, NONE), // SW
341 TE(Span, Inside, NONE) // Netscape 4
342 },
343 {
344 // other text frame
345 TE(GraphicFrame, Inside, NONE), // HTML 3.2
346 TE(Span, Inside, NONE), // IE 4
347 TE(Span, Inside, NONE), // SW
348 TE(Span, Inside, NONE) // Netscape 4
349 },
350 {
351 // graphic node
352 TE(GraphicNode, Inside, NONE), // HTML 3.2
353 TE(GraphicNode, Inside, NONE), // IE 4
354 TE(GraphicNode, Inside, NONE), // SW
355 TE(GraphicNode, Inside, Span) // Netscape 4
356 },
357 {
358 // plug-in
359 TE(OleNode, Inside, NONE), // HTML 3.2
360 TE(OleNode, Inside, NONE), // IE 4
361 TE(OleNode, Inside, NONE), // SW
362 TE(OleNode, Inside, Span) // Netscape 4
363 },
364 {
365 // applet
366 TE(OleNode, Inside, NONE), // HTML 3.2
367 TE(OleNode, Inside, NONE), // IE 4
368 TE(OleNode, Inside, NONE), // SW
369 TE(OleNode, Inside, Span) // Netscape 4
370 },
371 {
372 // floating frame
373 TE(OleGraphic, Inside, NONE), // HTML 3.2
374 TE(OleNode, Inside, NONE), // IE 4
375 TE(OleNode, Inside, NONE), // SW
376 TE(OleGraphic, Inside, Span) // Netscape 4
377 },
378 {
379 // other OLE objects
380 TE(OleGraphic, Inside, NONE), // HTML 3.2
381 TE(OleGraphic, Inside, NONE), // IE 4
382 TE(OleGraphic, Inside, NONE), // SW
383 TE(OleGraphic, Inside, Span) // Netscape 4
384 },
385 {
386 // marquee
387 TE(GraphicFrame, Inside, NONE), // HTML 3.2
388 TE(AMarquee, Inside, NONE), // IE 4
389 TE(AMarquee, Inside, NONE), // SW
390 TE(GraphicFrame, Inside, Span) // Netscape 4
391 },
392 {
393 // controls
394 TE(Control, Inside, NONE), // HTML 3.2
395 TE(Control, Inside, NONE), // IE 4
396 TE(Control, Inside, NONE), // SW
397 // Netscape disables FROM at controls in absolute position span.
398 TE(Control, Inside, NONE) // Netscape 4
399 },
400 {
401 // other character objects
402 TE(GraphicFrame, Inside, NONE), // HTML 3.2
403 TE(GraphicFrame, Inside, NONE), // IE 4
404 TE(GraphicFrame, Inside, NONE), // SW
405 TE(GraphicFrame, Inside, Span) // Netscape 4
406 }
407};
408
410{
411 {
412 // text frame with table
413 TE(GraphicFrame, Inside, NONE), // HTML 3.2
414 TE(GraphicFrame, Inside, NONE), // IE 4
415 TE(GraphicFrame, Inside, NONE), // SW
416 TE(GraphicFrame, Inside, NONE) // Netscape 4
417 },
418 {
419 // text frame with table and headline
420 TE(GraphicFrame, Inside, NONE), // HTML 3.2
421 TE(GraphicFrame, Inside, NONE), // IE 4
422 TE(GraphicFrame, Inside, NONE), // SW
423 TE(GraphicFrame, Inside, NONE) // Netscape 4
424 },
425 {
426 // column frame
427 TE(GraphicFrame, Inside, NONE), // HTML 3.2
428 TE(GraphicFrame, Inside, NONE), // IE 4
429 TE(MultiCol, Inside, NONE), // SW
430 TE(MultiCol, Inside, NONE) // Netscape 4
431 },
432 {
433 // empty text frame
434 TE(GraphicFrame, Inside, NONE), // HTML 3.2
435 TE(GraphicFrame, Inside, NONE), // IE 4
436 TE(Spacer, Inside, NONE), // SW
437 TE(Spacer, Inside, NONE) // Netscape 4
438 },
439 {
440 // other text frame
441 TE(GraphicFrame, Inside, NONE), // HTML 3.2
442 TE(GraphicFrame, Inside, NONE), // IE 4
443 TE(GraphicFrame, Inside, NONE), // SW
444 TE(GraphicFrame, Inside, NONE) // Netscape 4
445 },
446 {
447 // graphic node
448 TE(GraphicNode, Inside, NONE), // HTML 3.2
449 TE(GraphicNode, Inside, NONE), // IE 4
450 TE(GraphicNode, Inside, NONE), // SW
451 TE(GraphicNode, Inside, NONE) // Netscape 4
452 },
453 {
454 // plug-in
455 TE(OleNode, Inside, NONE), // HTML 3.2
456 TE(OleNode, Inside, NONE), // IE 4
457 TE(OleNode, Inside, NONE), // SW
458 TE(OleNode, Inside, NONE) // Netscape 4
459 },
460 {
461 // applet
462 TE(OleNode, Inside, NONE), // HTML 3.2
463 TE(OleNode, Inside, NONE), // IE 4
464 TE(OleNode, Inside, NONE), // SW
465 TE(OleNode, Inside, NONE) // Netscape 4
466 },
467 {
468 // floating frame
469 TE(OleGraphic, Inside, NONE), // HTML 3.2
470 TE(OleNode, Inside, NONE), // IE 4
471 TE(OleNode, Inside, NONE), // SW
472 TE(OleGraphic, Inside, NONE) // Netscape 4
473 },
474 {
475 // other OLE objects
476 TE(OleGraphic, Inside, NONE), // HTML 3.2
477 TE(OleGraphic, Inside, NONE), // IE 4
478 TE(OleGraphic, Inside, NONE), // SW
479 TE(OleGraphic, Inside, NONE) // Netscape 4
480 },
481 {
482 // marquee (can always exported as marquee, because
483 // the content shows up at the right spot
484 TE(Marquee, Inside, NONE), // HTML 3.2
485 TE(Marquee, Inside, NONE), // IE 4
486 TE(Marquee, Inside, NONE), // SW
487 TE(Marquee, Inside, NONE) // Netscape 4
488 },
489 {
490 // controls
491 TE(Control, Inside, NONE), // HTML 3.2
492 TE(Control, Inside, NONE), // IE 4
493 TE(Control, Inside, NONE), // SW
494 TE(Control, Inside, NONE) // Netscape 4
495 },
496 {
497 // other character objects
498 TE(GraphicFrame, Inside, NONE), // HTML 3.2
499 TE(GraphicFrame, Inside, NONE), // IE 4
500 TE(GraphicFrame, Inside, NONE), // SW
501 TE(GraphicFrame, Inside, NONE) // Netscape 4
502 }
503};
504
505/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
const sal_uInt16 MAX_BROWSERS
Definition: htmlfly.hxx:83
@ GraphicFrame
const sal_uInt16 MAX_FRMTYPES
Definition: htmlfly.hxx:82
#define TE(t, p, c)
Definition: htmlflyt.cxx:22
AllHtmlFlags const aHTMLOutFramePageFlyTable[MAX_FRMTYPES][MAX_BROWSERS]
Definition: htmlflyt.cxx:24
AllHtmlFlags const aHTMLOutFrameParaFrameTable[MAX_FRMTYPES][MAX_BROWSERS]
Definition: htmlflyt.cxx:120
AllHtmlFlags const aHTMLOutFrameAsCharTable[MAX_FRMTYPES][MAX_BROWSERS]
Definition: htmlflyt.cxx:409
AllHtmlFlags const aHTMLOutFrameParaOtherTable[MAX_FRMTYPES][MAX_BROWSERS]
Definition: htmlflyt.cxx:313
AllHtmlFlags const aHTMLOutFrameParaPrtAreaTable[MAX_FRMTYPES][MAX_BROWSERS]
Definition: htmlflyt.cxx:217