X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Foutput_xhtml.h;h=473ebe335a41a744e83663c22aab32fefdf1de8e;hb=f5f8c6fd3828285b67e43a9c16d4ac2ff2140944;hp=c825a4d805f509e0be1898402639ae00b672b587;hpb=5cadeed4d7a2c8e7d64f1e774d6dea5621382539;p=lyx.git
diff --git a/src/output_xhtml.h b/src/output_xhtml.h
index c825a4d805..473ebe335a 100644
--- a/src/output_xhtml.h
+++ b/src/output_xhtml.h
@@ -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() {}
///
virtual docstring writeTag() const;
///
@@ -75,6 +75,8 @@ struct EndTag
{
///
explicit EndTag(std::string tag) : tag_(tag) {}
+ ///
+ virtual ~EndTag() {}
///
virtual docstring writeEndTag() const;
///
@@ -129,20 +131,37 @@ struct ParTag : public StartTag
///
enum FontTypes {
+ // ranges
FT_EMPH,
- FT_BOLD,
FT_NOUN,
FT_UBAR,
FT_DBAR,
- FT_SOUT,
FT_WAVE,
+ FT_SOUT,
+ // bold
+ FT_BOLD,
+ // shapes
+ FT_UPRIGHT,
FT_ITALIC,
FT_SLANTED,
FT_SMALLCAPS,
+ // families
FT_ROMAN,
FT_SANS,
- FT_TYPER
- // SIZES?
+ FT_TYPE,
+ // sizes
+ FT_SIZE_TINY,
+ FT_SIZE_SCRIPT,
+ FT_SIZE_FOOTNOTE,
+ FT_SIZE_SMALL,
+ FT_SIZE_NORMAL,
+ FT_SIZE_LARGE,
+ FT_SIZE_LARGER,
+ FT_SIZE_LARGEST,
+ FT_SIZE_HUGE,
+ FT_SIZE_HUGER,
+ FT_SIZE_INCREASE,
+ FT_SIZE_DECREASE
};
@@ -191,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 &);
@@ -246,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. 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, which leads to the question who will
// own these pointers and how they will be deleted, so we use shared
@@ -259,8 +278,8 @@ private:
typedef shared_ptr TagPtr;
typedef std::deque TagDeque;
///
- template
- shared_ptr makeTagPtr(T const & tag)
+ template
+ shared_ptr makeTagPtr(T const & tag)
{ return shared_ptr(new T(tag)); }
///
TagDeque pending_tags_;
@@ -286,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