]> 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 b49aa9467682f67d61a6a256260249479b4e0a39..dfb3c65660700ad1668699ceddb2bb017dd1e217 100644 (file)
@@ -1,36 +1,59 @@
+// -*- C++ -*-
 /**
  * \file sgml.h
- * Copyright 2002 the LyX Team
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
  * \author José Matos
- * \author John Levon <levon@movementarian.org>
+ * \author John Levon
+ *
+ * Full author contact details are available in file CREDITS.
  */
 
 #ifndef SGML_H
 #define SGML_H
-#include "LString.h"
-#include <algorithm>
+
+#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, 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