]> git.lyx.org Git - lyx.git/blobdiff - src/outputparams.h
compilation fix
[lyx.git] / src / outputparams.h
index a0aaabddfec319e5237c6b9d7d1dc73f911533b3..0e3ae8c481007994a8904a322c8644cf4e408a6b 100644 (file)
 #ifndef OUTPUTPARAMS_H
 #define OUTPUTPARAMS_H
 
-struct OutputParams {
-        enum FLAVOR {
-                LATEX,
-                PDFLATEX
-        };
+#include <string>
 
-        OutputParams() : flavor(LATEX), nice(false),
-                          moving_arg(false), free_spacing(false),
-                          use_babel(false), mixed_content(false),
-                          linelen(0) {}
+#include "support/types.h"
+#include <boost/shared_ptr.hpp>
+
+
+class ExportData;
+
+
+class OutputParams {
+public:
+       //
+       enum FLAVOR {
+               LATEX,
+               PDFLATEX,
+               XML
+       };
+
+       OutputParams();
+       ~OutputParams();
 
        /** The latex that we export depends occasionally on what is to
            compile the file.
        */
-        FLAVOR flavor;
+       FLAVOR flavor;
 
        /** Are we to write a 'nice' LaTeX file or not.
            This esentially seems to mean whether InsetInclude, InsetGraphics
@@ -41,24 +51,43 @@ struct OutputParams {
        */
        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 babel name of the language at the point where the inset is
+        */
+       std::string local_language;
+
+       /** Document language babel name
+        */
+       mutable std::string document_language;
+
        /** free_spacing == true means that the inset is in a free-spacing
            paragraph.
        */
        bool free_spacing;
 
        /** This var is set by the return value from BufferParams::writeLaTeX
-        */
+       */
        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 can not appear
-           at the begin or end.
-        */
-       bool mixed_content;
+       /** Line length to use with plaintext export.
+       */
+       lyx::size_type linelen;
 
-       /** Line lenght to use with ascii export.
+       /** The depth of the current paragraph, set for plaintext
+        *  export and used by InsetTabular
         */
-       int linelen;
+       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;
 };
 
-#endif // LATEXRUNPARAMS_H
+#endif // NOT OUTPUTPARAMS_H