]> git.lyx.org Git - lyx.git/blobdiff - src/output_latex.h
Avoid full metrics computation with Update:FitCursor
[lyx.git] / src / output_latex.h
index 31125f788de0b1820f11a0b0a97decf94363bc71..311b2e61b09a0aa18812b88fe93fb22478f4d23a 100644 (file)
@@ -14,7 +14,6 @@
 
 #include <utility>
 
-#include "support/docstream.h"
 #include "Layout.h"
 #include "ParagraphList.h"
 
@@ -24,19 +23,29 @@ namespace lyx {
 class Buffer;
 class BufferParams;
 class Encoding;
-class Layout;
 class Paragraph;
 class OutputParams;
 class Text;
 
-/** Register a language switch when using polyglossia.
-    Set \p localswitch to true if the \text<lang> command is used.
+/** Register a language switch when using polyglossia or begin/end commands.
+    Set \p localswitch to true if a local command switch is used.
  */
-void pushPolyglossiaLang(std::string const & lang, bool localswitch = false);
+void pushLanguageName(std::string const & lang, bool localswitch = false);
 
-/** Unregister the last language switch when using polyglossia.
+/** Unregister the last language switch when using polyglossia
+    or begin/end commands.
  */
-void popPolyglossiaLang();
+void popLanguageName();
+
+// Check if we have an empty language stack
+bool languageStackEmpty();
+
+/** Return a reference to the last active language opened with
+    polyglossia or when using begin/end commands. If none or when
+    using babel with only a begin command, return a reference to
+    an empty string.
+ */
+std::string const & openLanguageName();
 
 /** Export optional and required arguments of the paragraph \p par.
     Non-existing required arguments are output empty: {}.
@@ -74,7 +83,7 @@ void latexParagraphs(Buffer const & buf,
 std::pair<bool, int> switchEncoding(odocstream & os,
                     BufferParams const & bparams,
                     OutputParams const &, Encoding const & newEnc,
-                    bool force = false);
+                    bool force = false, bool noswitchmacro = false);
 
 /// FIXME: this should not be visible.
 void TeXOnePar(Buffer const & buf,
@@ -83,7 +92,8 @@ void TeXOnePar(Buffer const & buf,
                   otexstream & os,
                   OutputParams const & runparams,
                   std::string const & everypar = std::string(),
-                  int start_pos = -1, int end_pos = -1);
+                  int start_pos = -1, int end_pos = -1,
+                  bool const force = false);
 
 } // namespace lyx