1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #include "htmlfly.hxx"
21 #include <svtools/htmlcfg.hxx>
23 constexpr sal_uInt16 MAX_FRMTYPES
= HTML_FRMTYPE_END
;
24 constexpr sal_uInt16 MAX_BROWSERS
= HTML_CFG_MAX
+ 1;
26 constexpr AllHtmlFlags aHTMLOutFramePageFlyTable
[][MAX_BROWSERS
] =
29 // text frame with table
30 { HtmlOut::Div
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // IE 4
31 { HtmlOut::Div
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // SW
32 { HtmlOut::Div
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
} // Netscape 4!
35 // text frame with table and headline
36 { HtmlOut::Div
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // IE 4
37 { HtmlOut::Div
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // SW
38 { HtmlOut::Div
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
} // Netscape 4
42 { HtmlOut::GraphicFrame
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // IE 4
43 { HtmlOut::MultiCol
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // SW
44 { HtmlOut::MultiCol
, HtmlPosition::Prefix
, HtmlContainerFlags::Div
} // Netscape 4
48 { HtmlOut::Div
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // IE 4
49 { HtmlOut::Div
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // SW
50 { HtmlOut::Div
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
} // Netscape 4
54 { HtmlOut::Div
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // IE 4
55 { HtmlOut::Div
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // SW
56 { HtmlOut::Div
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
} // Netscape 4
60 { HtmlOut::GraphicNode
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // IE 4
61 { HtmlOut::GraphicNode
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // SW
62 { HtmlOut::GraphicNode
, HtmlPosition::Prefix
, HtmlContainerFlags::Span
} // Netscape 4
66 { HtmlOut::OleNode
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // IE 4
67 { HtmlOut::OleNode
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // SW
68 { HtmlOut::OleNode
, HtmlPosition::Prefix
, HtmlContainerFlags::Span
} // Netscape 4
72 { HtmlOut::OleNode
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // IE 4
73 { HtmlOut::OleNode
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // SW
74 { HtmlOut::OleNode
, HtmlPosition::Prefix
, HtmlContainerFlags::Span
} // Netscape 4
78 { HtmlOut::OleNode
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // IE 4
79 { HtmlOut::OleNode
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // SW
80 { HtmlOut::OleGraphic
, HtmlPosition::Prefix
, HtmlContainerFlags::Span
} // Netscape 4
84 { HtmlOut::OleGraphic
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // IE 4
85 { HtmlOut::OleGraphic
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // SW
86 { HtmlOut::OleGraphic
, HtmlPosition::Prefix
, HtmlContainerFlags::Span
} // Netscape 4
90 { HtmlOut::AMarquee
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // IE 4
91 { HtmlOut::AMarquee
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // SW
92 { HtmlOut::GraphicFrame
, HtmlPosition::Prefix
, HtmlContainerFlags::Span
} // Netscape 4
96 { HtmlOut::Control
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // IE 4
97 { HtmlOut::Control
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // SW
98 // Netscape disables FROM at controls in absolute position span.
99 { HtmlOut::Control
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
102 // other character objects
103 { HtmlOut::GraphicFrame
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // IE 4
104 { HtmlOut::GraphicFrame
, HtmlPosition::Prefix
, HtmlContainerFlags::NONE
}, // SW
105 { HtmlOut::GraphicFrame
, HtmlPosition::Prefix
, HtmlContainerFlags::Span
} // Netscape 4
109 const AllHtmlFlags
& getHTMLOutFramePageFlyTable(SwHTMLFrameType eFrameType
, sal_uInt16 nExportMode
)
111 static_assert(std::size(aHTMLOutFramePageFlyTable
) == MAX_FRMTYPES
);
112 assert(eFrameType
< HTML_FRMTYPE_END
);
113 assert(nExportMode
<= HTML_CFG_MAX
);
115 return aHTMLOutFramePageFlyTable
[eFrameType
][nExportMode
];
118 constexpr AllHtmlFlags aHTMLOutFrameParaFrameTable
[][MAX_BROWSERS
] =
121 // text frame with table
122 { HtmlOut::TableNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // IE 4
123 { HtmlOut::TableNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // SW
124 { HtmlOut::TableNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
} // Netscape 4
127 // text frame with table and headline
128 { HtmlOut::Div
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // IE 4
129 { HtmlOut::Div
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // SW
130 { HtmlOut::TableNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
} // Netscape 4
134 { HtmlOut::GraphicFrame
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // IE 4
135 { HtmlOut::MultiCol
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // SW
136 { HtmlOut::MultiCol
, HtmlPosition::Before
, HtmlContainerFlags::Div
} // Netscape 4
140 { HtmlOut::Div
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // IE 4
141 { HtmlOut::Spacer
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // SW
142 { HtmlOut::Spacer
, HtmlPosition::Before
, HtmlContainerFlags::NONE
} // Netscape 4
146 { HtmlOut::Div
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // IE 4
147 { HtmlOut::Div
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // SW
148 { HtmlOut::Div
, HtmlPosition::Before
, HtmlContainerFlags::NONE
} // Netscape 4
152 { HtmlOut::GraphicNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // IE 4
153 { HtmlOut::GraphicNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // SW
154 { HtmlOut::GraphicNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
} // Netscape 4
158 { HtmlOut::OleNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // IE 4
159 { HtmlOut::OleNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // SW
160 { HtmlOut::OleNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
} // Netscape 4
164 { HtmlOut::OleNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // IE 4
165 { HtmlOut::OleNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // SW
166 { HtmlOut::OleNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
} // Netscape 4
170 { HtmlOut::OleNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // IE 4
171 { HtmlOut::OleNode
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // SW
172 { HtmlOut::OleGraphic
, HtmlPosition::Before
, HtmlContainerFlags::NONE
} // Netscape 4
176 { HtmlOut::OleGraphic
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // IE 4
177 { HtmlOut::OleGraphic
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // SW
178 { HtmlOut::OleGraphic
, HtmlPosition::Before
, HtmlContainerFlags::NONE
} // Netscape 4
181 // marquee (for Netscape 4 in container, so that
182 // the marquee appears at the right spot)
183 { HtmlOut::AMarquee
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // IE 4
184 { HtmlOut::AMarquee
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // SW
185 { HtmlOut::GraphicFrame
, HtmlPosition::Before
, HtmlContainerFlags::NONE
} // Netscape 4
189 { HtmlOut::Control
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // IE 4
190 { HtmlOut::Control
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // SW
191 // here you could make container out if it (import is missing)
192 { HtmlOut::Control
, HtmlPosition::Before
, HtmlContainerFlags::NONE
} // Netscape 4
195 // other character objects
196 { HtmlOut::GraphicFrame
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // IE 4
197 { HtmlOut::GraphicFrame
, HtmlPosition::Before
, HtmlContainerFlags::NONE
}, // SW
198 { HtmlOut::GraphicFrame
, HtmlPosition::Before
, HtmlContainerFlags::NONE
} // Netscape 4
202 const AllHtmlFlags
& getHTMLOutFrameParaFrameTable(SwHTMLFrameType eFrameType
, sal_uInt16 nExportMode
)
204 static_assert(std::size(aHTMLOutFrameParaFrameTable
) == MAX_FRMTYPES
);
205 assert(eFrameType
< HTML_FRMTYPE_END
);
206 assert(nExportMode
<= HTML_CFG_MAX
);
208 return aHTMLOutFrameParaFrameTable
[eFrameType
][nExportMode
];
211 constexpr AllHtmlFlags aHTMLOutFrameParaPrtAreaTable
[][MAX_BROWSERS
] =
214 // text frame with table
215 { HtmlOut::TableNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
216 { HtmlOut::TableNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
217 { HtmlOut::TableNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
220 // text frame with table and headline
221 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
222 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
223 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
227 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
228 { HtmlOut::MultiCol
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
229 { HtmlOut::MultiCol
, HtmlPosition::Inside
, HtmlContainerFlags::Span
} // Netscape 4
233 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
234 { HtmlOut::Spacer
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
235 { HtmlOut::Spacer
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
239 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
240 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
241 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
245 { HtmlOut::GraphicNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
246 { HtmlOut::GraphicNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
247 { HtmlOut::GraphicNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
251 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
252 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
253 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
257 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
258 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
259 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
263 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
264 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
265 { HtmlOut::OleGraphic
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
269 { HtmlOut::OleGraphic
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
270 { HtmlOut::OleGraphic
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
271 { HtmlOut::OleGraphic
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
275 { HtmlOut::AMarquee
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
276 { HtmlOut::AMarquee
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
277 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
281 { HtmlOut::Control
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
282 { HtmlOut::Control
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
283 // here you could make container out if it (import is missing)
284 { HtmlOut::Control
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
287 // other character objects
288 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
289 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
290 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
294 const AllHtmlFlags
& getHTMLOutFrameParaPrtAreaTable(SwHTMLFrameType eFrameType
, sal_uInt16 nExportMode
)
296 static_assert(std::size(aHTMLOutFrameParaPrtAreaTable
) == MAX_FRMTYPES
);
297 assert(eFrameType
< HTML_FRMTYPE_END
);
298 assert(nExportMode
<= HTML_CFG_MAX
);
300 return aHTMLOutFrameParaPrtAreaTable
[eFrameType
][nExportMode
];
303 constexpr AllHtmlFlags aHTMLOutFrameParaOtherTable
[][MAX_BROWSERS
] =
306 // text frame with table
307 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
308 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
309 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
312 // text frame with table and headline
313 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
314 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
315 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
319 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
320 { HtmlOut::MultiCol
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
321 { HtmlOut::MultiCol
, HtmlPosition::Inside
, HtmlContainerFlags::Span
} // Netscape 4
325 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
326 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
327 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
331 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
332 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
333 { HtmlOut::Span
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
337 { HtmlOut::GraphicNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
338 { HtmlOut::GraphicNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
339 { HtmlOut::GraphicNode
, HtmlPosition::Inside
, HtmlContainerFlags::Span
} // Netscape 4
343 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
344 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
345 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::Span
} // Netscape 4
349 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
350 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
351 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::Span
} // Netscape 4
355 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
356 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
357 { HtmlOut::OleGraphic
, HtmlPosition::Inside
, HtmlContainerFlags::Span
} // Netscape 4
361 { HtmlOut::OleGraphic
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
362 { HtmlOut::OleGraphic
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
363 { HtmlOut::OleGraphic
, HtmlPosition::Inside
, HtmlContainerFlags::Span
} // Netscape 4
367 { HtmlOut::AMarquee
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
368 { HtmlOut::AMarquee
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
369 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::Span
} // Netscape 4
373 { HtmlOut::Control
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
374 { HtmlOut::Control
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
375 // Netscape disables FROM at controls in absolute position span.
376 { HtmlOut::Control
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
379 // other character objects
380 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
381 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
382 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::Span
} // Netscape 4
386 const AllHtmlFlags
& getHTMLOutFrameParaOtherTable(SwHTMLFrameType eFrameType
, sal_uInt16 nExportMode
)
388 static_assert(std::size(aHTMLOutFrameParaOtherTable
) == MAX_FRMTYPES
);
389 assert(eFrameType
< HTML_FRMTYPE_END
);
390 assert(nExportMode
<= HTML_CFG_MAX
);
392 return aHTMLOutFrameParaOtherTable
[eFrameType
][nExportMode
];
395 constexpr AllHtmlFlags aHTMLOutFrameAsCharTable
[][MAX_BROWSERS
] =
398 // text frame with table
399 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
400 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
401 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
404 // text frame with table and headline
405 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
406 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
407 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
411 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
412 { HtmlOut::MultiCol
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
413 { HtmlOut::MultiCol
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
417 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
418 { HtmlOut::Spacer
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
419 { HtmlOut::Spacer
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
423 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
424 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
425 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
429 { HtmlOut::GraphicNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
430 { HtmlOut::GraphicNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
431 { HtmlOut::GraphicNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
435 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
436 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
437 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
441 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
442 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
443 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
447 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
448 { HtmlOut::OleNode
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
449 { HtmlOut::OleGraphic
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
453 { HtmlOut::OleGraphic
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
454 { HtmlOut::OleGraphic
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
455 { HtmlOut::OleGraphic
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
458 // marquee (can always exported as marquee, because
459 // the content shows up at the right spot
460 { HtmlOut::Marquee
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
461 { HtmlOut::Marquee
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
462 { HtmlOut::Marquee
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
466 { HtmlOut::Control
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
467 { HtmlOut::Control
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
468 { HtmlOut::Control
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
471 // other character objects
472 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // IE 4
473 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
}, // SW
474 { HtmlOut::GraphicFrame
, HtmlPosition::Inside
, HtmlContainerFlags::NONE
} // Netscape 4
478 const AllHtmlFlags
& getHTMLOutFrameAsCharTable(SwHTMLFrameType eFrameType
, sal_uInt16 nExportMode
)
480 static_assert(std::size(aHTMLOutFrameAsCharTable
) == MAX_FRMTYPES
);
481 assert(eFrameType
< HTML_FRMTYPE_END
);
482 assert(nExportMode
<= HTML_CFG_MAX
);
484 return aHTMLOutFrameAsCharTable
[eFrameType
][nExportMode
];
487 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */