]> git.lyx.org Git - features.git/blobdiff - src/OutputParams.h
try using std::tr1::shared_ptr instead of boost::shared_ptr
[features.git] / src / OutputParams.h
index fd2894fa2e37bd167b70947324669ede22a47384..b4bf7f9283affddb7efc62b06348897ace218d5f 100644 (file)
 #ifndef OUTPUTPARAMS_H
 #define OUTPUTPARAMS_H
 
-#include <string>
-
 #include "support/types.h"
-#include <boost/shared_ptr.hpp>
+
+#include "Changes.h"
+
+#include <string>
+#include <tr1/memory>
 
 
 namespace lyx {
@@ -23,7 +25,7 @@ namespace lyx {
 
 class Encoding;
 class ExportData;
-class LyXFont;
+class Font;
 
 
 class OutputParams {
@@ -34,6 +36,12 @@ public:
                XML
        };
 
+       enum TableCell {
+               NO,
+               PLAIN,
+               ALIGNED
+       };
+
        OutputParams(Encoding const *);
        ~OutputParams();
 
@@ -63,7 +71,7 @@ public:
 
        /** the font at the point where the inset is
         */
-       LyXFont const * local_font;
+       Font const * local_font;
 
        /** Document language babel name
         */
@@ -72,12 +80,12 @@ public:
        /** 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
-           each single character (\see Paragraph::simpleTeXOnePar).
+           each single character (\sa Paragraph::latex).
            This does also mean that you need to set it back if you use a
            copy (e.g. in insets): \code
            int InsetFoo::latex(..., OutputParams const & runparams_in) const
            {
-               OutputParams runparams(runparams_in);
+               OutputParams runparams(runparams_in);
                runparams.inComment = true;
                ...
                InsetBla::latex(..., runparams);
@@ -97,6 +105,10 @@ public:
        */
        bool use_babel;
 
+       /** Are we using japanese (pLaTeX)?
+       */
+       bool use_japanese;
+
        /** Line length to use with plaintext export.
        */
        size_type linelen;
@@ -110,7 +122,7 @@ public:
            This is a hack: Make it possible to add stuff to constant
            OutputParams instances.
        */
-       boost::shared_ptr<ExportData> exportdata;
+       std::tr1::shared_ptr<ExportData> exportdata;
 
        /** Whether we are inside a comment inset. Insets that are including
         *  external files like InsetGraphics, InsetInclude and InsetExternal
@@ -120,21 +132,41 @@ public:
         */
        bool inComment;
 
-       /** allow output of only part of the top-level paragraphs 
+       /** Whether we are in a table cell.
+        *  For newline, it matters whether its content is aligned or not.
+         */
+       TableCell inTableCell;
+
+       /** 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;
+
+       /** 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 
+       /** 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 
+       /// is this the last paragraph in the current buffer/inset?
+       bool isLastPar;
+
+       /** whether or not do actual file copying and image conversion
         *  This mode will be used to preview the source code
         */
        bool dryrun;
+       /// Should we output verbatim or escape LaTeX's special chars?
+       bool verbatim;
 };