]> git.lyx.org Git - lyx.git/blob - src/outputparams.h
STLPort compile fix
[lyx.git] / src / outputparams.h
1 // -*- C++ -*-
2 /**
3  * \file outputparams.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  *  \author Angus Leeming
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #ifndef OUTPUTPARAMS_H
13 #define OUTPUTPARAMS_H
14
15 #include "support/types.h"
16 #include <boost/shared_ptr.hpp>
17
18
19 class ExportData;
20
21
22 struct OutputParams {
23         //
24         enum FLAVOR {
25                 LATEX,
26                 PDFLATEX,
27                 XML
28         };
29
30         OutputParams();
31         ~OutputParams();
32
33         /** The latex that we export depends occasionally on what is to
34             compile the file.
35         */
36         FLAVOR flavor;
37
38         /** Are we to write a 'nice' LaTeX file or not.
39             This esentially seems to mean whether InsetInclude, InsetGraphics
40             and InsetExternal should add the absolute path to any external
41             files or not.
42         */
43         bool nice;
44
45         /** moving_arg == true means that the environment in which the inset
46             is typeset is a moving argument. The inset should take care about
47             fragile commands by preceding the latex with \protect.
48         */
49         bool moving_arg;
50
51         /** free_spacing == true means that the inset is in a free-spacing
52             paragraph.
53         */
54         bool free_spacing;
55
56         /** This var is set by the return value from BufferParams::writeLaTeX
57         */
58         bool use_babel;
59
60         /** Used for docbook to see if inside a region of mixed content.
61             In that case all the white spaces are significant and cannot appear
62             at the begin or end.
63         */
64         bool mixed_content;
65
66         /** Line length to use with ascii export.
67         */
68         lyx::size_type linelen;
69
70         /** Export data filled in by the latex(), docbook() etc methods.
71             This is a hack: Make it possible to add stuff to constant
72             OutputParams instances.
73         */
74         boost::shared_ptr<ExportData> exportdata;
75 };
76
77 #endif // NOT OUTPUTPARAMS_H