X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Foutputparams.h;h=4a521f393d52dc7b274cc2f0806bd3ebb0d510d9;hb=8765ab59cdddad67284007813ef25934ea0042ce;hp=d3fa4b2f0acf5c170de140ec1d44018066c9d827;hpb=b11b6f78b1153198dd8dba2bc7da4c56bfa20dab;p=lyx.git diff --git a/src/outputparams.h b/src/outputparams.h index d3fa4b2f0a..4a521f393d 100644 --- a/src/outputparams.h +++ b/src/outputparams.h @@ -12,23 +12,34 @@ #ifndef OUTPUTPARAMS_H #define OUTPUTPARAMS_H +#include + #include "support/types.h" +#include + + +namespace lyx { + -struct OutputParams { - enum FLAVOR { - LATEX, - PDFLATEX - }; +class ExportData; +class LyXFont; - OutputParams() : flavor(LATEX), nice(false), - moving_arg(false), free_spacing(false), - use_babel(false), mixed_content(false), - linelen(0) {} + +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 @@ -39,28 +50,74 @@ 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. */ 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. + /** Line length to use with plaintext export. + */ + 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; + + /** 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 mixed_content; + bool inComment; - /** Line lenght to use with ascii export. + /** allow output of only part of the top-level paragraphs + * par_begin: beginning paragraph */ - lyx::size_type linelen; + 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; }; -#endif // LATEXRUNPARAMS_H + +} // namespace lyx + +#endif // NOT OUTPUTPARAMS_H