]> git.lyx.org Git - lyx.git/blobdiff - src/sgml.h
Fix bug 2195: Slowness in rendering inside insets, especially on the Mac
[lyx.git] / src / sgml.h
index d247402f44fdc5ce46a628ee73730c8b343ba70f..dfb3c65660700ad1668699ceddb2bb017dd1e217 100644 (file)
 #include "support/types.h"
 
 #include <iosfwd>
+#include <string>
 #include <utility>
 
+class Buffer;
+class Paragraph;
+class OutputParams;
+
 namespace sgml {
 
 /**
- * Escape the given character if necessary
+ * Escape the given character, if necessary,
  * to an SGML entity. Returns true
  * if it was a whitespace character.
  */
 std::pair<bool, std::string> escapeChar(char c);
 
-/// FIXME
-int openTag(std::ostream & os, lyx::depth_type depth,
-           bool mixcont, std::string const & latexname,
-               std::string const & latexparam = std::string());
+/// Escape a word instead of a single character
+std::string escapeString(std::string const & raw);
 
-/// FIXME
-int closeTag(std::ostream & os, lyx::depth_type depth,
-           bool mixcont, std::string const & latexname);
+/// replaces illegal characters from SGML/XML ID attributes
+std::string cleanID(Buffer const & buf, OutputParams const & runparams,
+                   std::string const & orig);
 
-///
-unsigned int closeEnvTags(std::ostream & os, 
-               bool mixcont,
-               std::string const & environment_inner_depth,
-               std::string const & item_tag,
-               lyx::depth_type total_depth);
+/// returns a unique numeric id
+std::string const uniqueID(std::string const label);
 
-}
+/// Opens tag
+void openTag(std::ostream & os, std::string const & name,
+           std::string const & attribute = std::string());
+
+/// Open tag
+void openTag(Buffer const & buf, std::ostream & os,
+            OutputParams const & runparams, Paragraph const & par);
 
+/// Close tag
+void closeTag(std::ostream & os, std::string const & name);
+
+/// Close tag
+void closeTag(std::ostream & os, Paragraph const & par);
+}
 #endif // SGML_H