]> git.lyx.org Git - lyx.git/blobdiff - src/outputparams.h
add config.h
[lyx.git] / src / outputparams.h
index 7c1bc1d6fbc587de2f2bfb12e874e88b20d1f1d1..4a521f393d52dc7b274cc2f0806bd3ebb0d510d9 100644 (file)
 #ifndef OUTPUTPARAMS_H
 #define OUTPUTPARAMS_H
 
+#include <string>
+
 #include "support/types.h"
 #include <boost/shared_ptr.hpp>
 
 
+namespace lyx {
+
+
 class ExportData;
+class LyXFont;
 
 
-struct OutputParams {
-       //
+class OutputParams {
+public:
        enum FLAVOR {
                LATEX,
                PDFLATEX,
@@ -44,10 +50,24 @@ struct OutputParams {
 
        /** moving_arg == true means that the environment in which the inset
            is typeset is a moving argument. The inset should take care about
-           fragile commands by preceding the latex with \protect.
+           fragile commands by preceding the latex with \\protect.
        */
        bool moving_arg;
 
+       /** intitle == true means that the environment in which the
+           inset is typeset is part of a title (before a \\maketitle).
+           Footnotes in such environments have moving arguments.
+       */
+       bool intitle;
+
+       /** the font at the point where the inset is
+        */
+       LyXFont const * local_font;
+
+       /** Document language babel name
+        */
+       mutable std::string document_language;
+
        /** free_spacing == true means that the inset is in a free-spacing
            paragraph.
        */
@@ -57,21 +77,47 @@ struct OutputParams {
        */
        bool use_babel;
 
-       /** Used for docbook to see if inside a region of mixed content.
-           In that case all the white spaces are significant and cannot appear
-           at the begin or end.
+       /** Line length to use with plaintext export.
        */
-       bool mixed_content;
+       size_type linelen;
 
-       /** Line length to use with ascii export.
-       */
-       lyx::size_type linelen;
+       /** The depth of the current paragraph, set for plaintext
+        *  export and used by InsetTabular
+        */
+       int depth;
 
        /** Export data filled in by the latex(), docbook() etc methods.
            This is a hack: Make it possible to add stuff to constant
            OutputParams instances.
        */
        boost::shared_ptr<ExportData> exportdata;
+
+       /** Whether we are inside a comment inset. Insets that are including
+        *  external files like InsetGraphics, InsetInclude and InsetExternal
+        *  may only write the usual output and must not attempt to do
+        *  something with the included files (e.g. copying, converting)
+        *  if this flag is true, since they may not exist.
+        */
+       bool inComment;
+
+       /** allow output of only part of the top-level paragraphs 
+        *  par_begin: beginning paragraph
+        */
+       pit_type par_begin;
+
+       /** allow output of only part of the top-level paragraphs 
+        *  par_end: par_end-1 is the ending paragraph
+        *  if par_begin=par_end, output all paragraphs
+        */
+       pit_type par_end;
+
+       /** whether or not do actual file copying and image conversion 
+        *  This mode will be used to preview the source code
+        */
+       bool dryrun;
 };
 
+
+} // namespace lyx
+
 #endif // NOT OUTPUTPARAMS_H