]> 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 d3377e77df4c2d5d3caa0688a6210bc840b240b7..dfb3c65660700ad1668699ceddb2bb017dd1e217 100644 (file)
 #ifndef SGML_H
 #define SGML_H
 
-#include "paragraph.h"
+#include "support/types.h"
 
-#include "LString.h"
-#include <algorithm>
 #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, string> escapeChar(char c);
+std::pair<bool, std::string> escapeChar(char c);
 
-/// FIXME
-int openTag(std::ostream & os, Paragraph::depth_type depth,
-           bool mixcont, string const & latexname);
+/// Escape a word instead of a single character
+std::string escapeString(std::string const & raw);
 
-/// FIXME
-int closeTag(std::ostream & os, Paragraph::depth_type depth,
-           bool mixcont, string const & latexname);
-}
+/// replaces illegal characters from SGML/XML ID attributes
+std::string cleanID(Buffer const & buf, OutputParams const & runparams,
+                   std::string const & orig);
+
+/// 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