]> git.lyx.org Git - lyx.git/blobdiff - src/output_xhtml.h
ctests: uninvert some XeTeX tests that are fixed
[lyx.git] / src / output_xhtml.h
index e3f8b4ebaab85217fad55f64a2c111f991613f61..473ebe335a41a744e83663c22aab32fefdf1de8e 100644 (file)
@@ -31,8 +31,8 @@ class Text;
 
 namespace html {
 
-class FontTag;
-class EndFontTag;
+struct FontTag;
+struct EndFontTag;
 
 /// Attributes will be escaped automatically and so should NOT
 /// be escaped before being passed to the constructor.
@@ -41,11 +41,11 @@ struct StartTag
        ///
        explicit StartTag(std::string const & tag) : tag_(tag), keepempty_(false) {}
        ///
-       explicit StartTag(std::string const & tag, std::string const & attr, 
-               bool keepempty = false) 
+       explicit StartTag(std::string const & tag, std::string const & attr,
+               bool keepempty = false)
                : tag_(tag), attr_(attr), keepempty_(keepempty) {}
        ///
-       ~StartTag() {}
+       virtual ~StartTag() {}
        /// <tag_ attr_>
        virtual docstring writeTag() const;
        /// </tag_>
@@ -75,6 +75,8 @@ struct EndTag
 {
        ///
        explicit EndTag(std::string tag) : tag_(tag) {}
+       ///
+       virtual ~EndTag() {}
        /// </tag_>
        virtual docstring writeEndTag() const;
        ///
@@ -208,10 +210,10 @@ public:
        /// because they are "blocked" by open non-font tags on the stack.
        bool closeFontTags();
        /// call at start of paragraph. sets a mark so we know what tags
-       /// to close at the end. 
+       /// to close at the end.
        void startParagraph(bool keep_empty);
        /// call at end of paragraph to clear that mark. note that this
-       /// will also close any tags still open. 
+       /// will also close any tags still open.
        void endParagraph();
        ///
        XHTMLStream & operator<<(docstring const &);
@@ -263,11 +265,11 @@ private:
        void writeError(std::string const &) const;
        ///
        odocstream & os_;
-       /// 
+       ///
        EscapeSettings escape_;
        // What we would really like to do here is simply use a
        // deque<StartTag>. But we want to store both StartTags and
-       // sub-classes thereof on this stack, which means we run into the 
+       // sub-classes thereof on this stack, which means we run into the
        // so-called polymorphic class problem with the STL. We therefore have
        // to use a deque<StartTag *>, which leads to the question who will
        // own these pointers and how they will be deleted, so we use shared
@@ -276,8 +278,8 @@ private:
        typedef shared_ptr<html::StartTag> TagPtr;
        typedef std::deque<TagPtr> TagDeque;
        ///
-       template <typename T> 
-       shared_ptr<T> makeTagPtr(T const & tag) 
+       template <typename T>
+       shared_ptr<T> makeTagPtr(T const & tag)
                { return shared_ptr<T>(new T(tag)); }
        ///
        TagDeque pending_tags_;
@@ -303,12 +305,8 @@ docstring htmlize(docstring const & str, XHTMLStream::EscapeSettings e);
 /// cleans \param str for use as an atttribute by replacing
 /// all non-alnum by "_"
 docstring cleanAttr(docstring const & str);
-///
-std::string escapeChar(char c, XHTMLStream::EscapeSettings e);
-/// 
-std::string htmlize(std::string const & str, XHTMLStream::EscapeSettings e);
-/// 
-std::string cleanAttr(std::string const & str);
+/// \p c must be ASCII
+docstring escapeChar(char c, XHTMLStream::EscapeSettings e);
 
 } // namespace html
 } // namespace lyx