X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FOutputParams.h;h=50009ebbbcf6461b261188bbcb29c16a93cdde51;hb=b65d0c087bc8cc61ec898210852c7ea39ab64ee4;hp=2ea48be8b618f862a6a1e5b2b7cd8fe6c7524e74;hpb=59c04f7096779680caa0ba7623f9b53affef218b;p=lyx.git diff --git a/src/OutputParams.h b/src/OutputParams.h index 2ea48be8b6..50009ebbbc 100644 --- a/src/OutputParams.h +++ b/src/OutputParams.h @@ -12,10 +12,8 @@ #ifndef OUTPUTPARAMS_H #define OUTPUTPARAMS_H -#include -#include "support/types.h" -#include +#include "support/shared_ptr.h" #include "Changes.h" @@ -27,17 +25,25 @@ class ExportData; class Font; class Language; - class OutputParams { public: enum FLAVOR { LATEX, + LUATEX, PDFLATEX, XETEX, XML, HTML, TEXT }; + + enum MathFlavor { + NotApplicable, + MathAsMathML, + MathAsHTML, + MathAsImages, + MathAsLaTeX + }; enum TableCell { NO, @@ -54,11 +60,18 @@ public: OutputParams(Encoding const *); ~OutputParams(); - /** The latex that we export depends occasionally on what is to + /** The file that we export depends occasionally on what is to compile the file. */ FLAVOR flavor; - + /// is it some flavor of LaTeX? + bool isLaTeX() const; + /// does this flavour support full unicode? + bool isFullUnicode() const; + + /// Same, but for math output, which only matter is XHTML output. + MathFlavor math_flavor; + /** Are we to write a 'nice' LaTeX file or not. This esentially seems to mean whether InsetInclude, InsetGraphics and InsetExternal should add the absolute path to any external @@ -126,6 +139,10 @@ public: */ bool use_babel; + /** Do we use polyglossia (instead of babel)? + */ + bool use_polyglossia; + /** Are we generating multiple indices? */ bool use_indices; @@ -155,7 +172,7 @@ public: This is a hack: Make it possible to add stuff to constant OutputParams instances. */ - boost::shared_ptr exportdata; + shared_ptr exportdata; /** Whether we are inside a comment inset. Insets that are including * external files like InsetGraphics, InsetInclude and InsetExternal @@ -193,13 +210,19 @@ public: /** allow output of only part of the top-level paragraphs * par_begin: beginning paragraph */ - pit_type par_begin; + mutable 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; + mutable pit_type par_end; + + /// Id of the last paragraph before an inset + mutable int lastid; + + /// Last position in the last paragraph before an inset + mutable int lastpos; /// is this the last paragraph in the current buffer/inset? bool isLastPar; @@ -211,7 +234,7 @@ public: bool dryrun; /// Should we output verbatim or escape LaTeX's special chars? - bool verbatim; + bool pass_thru; /// Should we output captions? bool html_disable_captions;