X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Foutputparams.h;h=4a521f393d52dc7b274cc2f0806bd3ebb0d510d9;hb=8765ab59cdddad67284007813ef25934ea0042ce;hp=8071f2454e0a665d5422b3d000470665d8891e94;hpb=2bdaf96dfbcb95931a21ca7377f3dc24e3f5ea8d;p=lyx.git diff --git a/src/outputparams.h b/src/outputparams.h index 8071f2454e..4a521f393d 100644 --- a/src/outputparams.h +++ b/src/outputparams.h @@ -12,21 +12,29 @@ #ifndef OUTPUTPARAMS_H #define OUTPUTPARAMS_H +#include + #include "support/types.h" +#include + + +namespace lyx { + +class ExportData; +class LyXFont; -struct OutputParams { - // + +class OutputParams { +public: enum FLAVOR { LATEX, - PDFLATEX + PDFLATEX, + XML }; - OutputParams() - : flavor(LATEX), nice(false), moving_arg(false), - free_spacing(false), use_babel(false), - mixed_content(false), linelen(0) - {} + OutputParams(); + ~OutputParams(); /** The latex that we export depends occasionally on what is to compile the file. @@ -42,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. */ @@ -55,15 +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 can not appear - at the begin or end. + /** Line length to use with plaintext export. */ - bool mixed_content; + size_type linelen; + + /** The depth of the current paragraph, set for plaintext + * export and used by InsetTabular + */ + int depth; - /** Line length to use with ascii export. + /** Export data filled in by the latex(), docbook() etc methods. + This is a hack: Make it possible to add stuff to constant + OutputParams instances. */ - lyx::size_type linelen; + 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 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; }; -#endif // LATEXRUNPARAMS_H + +} // namespace lyx + +#endif // NOT OUTPUTPARAMS_H