]> git.lyx.org Git - lyx.git/blobdiff - src/OutputParams.h
More requires --> required, for C++2a.
[lyx.git] / src / OutputParams.h
index ef7c16d11781bcd5dc30d1422c09b25df8499d78..5503d8b7cd191b1f2c944abd14b69fa18ce320b0 100644 (file)
@@ -60,6 +60,14 @@ public:
                SUBFLOAT
        };
 
+       enum CtObject {
+               CT_NORMAL,
+               CT_OBJECT,
+               CT_DISPLAYOBJECT,
+               CT_UDISPLAYOBJECT,
+               CT_OMITOBJECT
+       };
+
        OutputParams(Encoding const *);
        ~OutputParams();
 
@@ -71,6 +79,8 @@ public:
        bool isLaTeX() const;
        /// does this flavour support full unicode?
        bool isFullUnicode() const;
+       /// Do we use the bidi package (which does some reordering and stuff)?
+       bool useBidiPackage() const;
 
        /// Same, but for math output, which only matter is XHTML output.
        MathFlavor math_flavor;
@@ -102,6 +112,11 @@ public:
        */
        bool intitle;
 
+       /** inbranch == true means that the environment being typeset
+           is inside an active branch inset.
+       */
+       bool inbranch;
+
        /** inulemcmd > 0 means that the environment in which the
            inset is typeset is part of a ulem or soul command (e.g., \uline,
            \uuline, \uwave, \sout or \xout). Insets that output latex commands
@@ -127,6 +142,9 @@ public:
         */
        mutable Language const * master_language;
 
+       /// Active characters
+       std::string active_chars;
+
        /** Current stream encoding. Only used for LaTeX.
            This must be set to the document encoding (via the constructor)
            before output starts. Afterwards it must be kept up to date for
@@ -178,6 +196,9 @@ public:
        */
        std::string index_command;
 
+       /// The Xindy language module
+       std::string xindy_language;
+
        /** Hyperref driver
        */
        std::string hyperref_driver;
@@ -197,6 +218,19 @@ public:
        */
        std::shared_ptr<ExportData> exportdata;
 
+       /** Store labels, index entries (etc.) (in \ref post_macro)
+        *  and output them later. This is used in particular to get
+        *  labels and index entries (and potentially other fragile commands)
+        *  outside of moving arguments (bug 2154)
+        */
+       bool postpone_fragile_stuff;
+
+       /** Stuff to be postponed and output after the current macro
+        *  (if \ref postpone_fragile_stuff is true). Used for labels and index
+        *  entries in commands with moving arguments (\\section, \\caption etc.)
+        */
+       mutable docstring post_macro;
+
        /** Whether we are entering a display math inset.
         *  Needed to correctly strike out deleted math in change tracking.
         */
@@ -246,14 +280,19 @@ public:
 
        /** Whether we are inside an inset that is logically deleted.
         *  A value > 0 indicates a deleted inset.
-         */
+       */
        int inDeletedInset;
 
        /** The change information of the outermost logically deleted inset.
         *  changeOfDeletedInset shall only be evaluated if inDeletedInset > 0.
-         */
+       */
        Change changeOfDeletedInset;
 
+       /** What kind of change tracking object is this?
+        * Relevant for strikeout method in output
+        */
+       mutable CtObject ctObject;
+
        /** allow output of only part of the top-level paragraphs
         *  par_begin: beginning paragraph
         */
@@ -289,6 +328,9 @@ public:
        /// Should we output verbatim specific chars?
        docstring pass_thru_chars;
 
+       /// A specific newline macro
+       std::string newlinecmd;
+
        /// Should we output captions?
        bool html_disable_captions;