diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/domcxx.h | 4 | ||||
| -rw-r--r-- | src/rtfformatting.h | 8 | ||||
| -rw-r--r-- | src/tags.h | 1 | ||||
| -rw-r--r-- | src/xmlcomposer.cpp | 18 | 
4 files changed, 24 insertions, 7 deletions
diff --git a/src/domcxx.h b/src/domcxx.h index abdd622..2e7e9ec 100644 --- a/src/domcxx.h +++ b/src/domcxx.h @@ -54,8 +54,8 @@ namespace DOM  	extern "C"  	{          #define this _this -        #include <domc.h> -        #include <dom.h> +        #include "domc.h" +        #include "dom.h"          #undef this  	} diff --git a/src/rtfformatting.h b/src/rtfformatting.h index 3085198..db687eb 100644 --- a/src/rtfformatting.h +++ b/src/rtfformatting.h @@ -68,6 +68,7 @@ public:  			m_hidden == format.m_hidden &&  			m_underline == format.m_underline &&  			m_color == format.m_color && +			m_highlight == format.m_highlight &&              m_suscript == format.m_suscript &&              m_font == format.m_font &&              m_fsize == format.m_fsize && @@ -89,6 +90,7 @@ public:  		m_hidden = format.m_hidden;  		m_underline = format.m_underline;  		m_color = format.m_color; +		m_highlight = format.m_highlight;          m_suscript = format.m_suscript;          m_font = format.m_font;          m_fsize = format.m_fsize; @@ -104,6 +106,7 @@ public:  		m_bold = m_italic = m_strike =  			m_underline = m_hidden = false;  		m_color = -1; +		m_highlight = -1;          m_suscript = 0;          m_fsize = -1;          m_font = -1; @@ -128,6 +131,8 @@ public:  		{ return m_hidden; }  	int textColor() const  		{ return m_color; } +	int textHighlight() const +		{ return m_highlight; }      int textSuScript() const          { return m_suscript; }      int textFont() const @@ -155,6 +160,8 @@ public:  		{ m_hidden = hidden; }  	void textSetColor(int color)  		{ m_color = color; } +	void textSetHighlight(int color) +		{ m_highlight = color; }      void textSetSuScript(int suscript)          { m_suscript = suscript; }      void textSetFont(int font) @@ -184,6 +191,7 @@ protected:  	bool m_hidden;      int m_suscript;  	int m_color; +	int m_highlight;      int m_font;      int m_fsize;  	int m_charstyle; @@ -80,6 +80,7 @@ static const char* kElStrike = "strike";  static const char* kElU = "u";  static const char* kElSuper = "super";  static const char* kElSub = "sub"; +static const char* kElHighlight = "highlight";  static const char* kElCell = "cell";  static const char* kElRow = "row";  static const char* kElTable = "table"; diff --git a/src/xmlcomposer.cpp b/src/xmlcomposer.cpp index 10b476f..0bcfbcc 100644 --- a/src/xmlcomposer.cpp +++ b/src/xmlcomposer.cpp @@ -519,13 +519,15 @@ bool XmlComposer::BaseAnalyser::processTextFormatting(const string& cw, int flag          format.textSetSuScript(RtfFormatting::SUPERSCRIPT);      else if(cw == "sub")          format.textSetSuScript(RtfFormatting::SUBSCRIPT); -    else if(cw == "cf" && HAS_PARAM) -       format.textSetColor(param); -    else if(cw == "f" && HAS_PARAM) +    else if(cw == "cf" && (flags & HAS_PARAM)) +        format.textSetColor(param); +	else if(cw == "highlight" && (flags & HAS_PARAM)) +		format.textSetHighlight(param); +    else if(cw == "f" && (flags & HAS_PARAM))          format.textSetFont(param); -    else if(cw == "fs" && HAS_PARAM) +    else if(cw == "fs" && (flags & HAS_PARAM))          format.textSetFontSize(param); -	else if(cw == "cs" && HAS_PARAM) +	else if(cw == "cs" && (flags & HAS_PARAM))  		format.textSetStyle(param);  	else  		return false; @@ -1131,6 +1133,12 @@ ON_CHARDATA(Content)  		elements++;  	} +	if(format.textHighlight() != -1) +	{ +		AN_ELEMENT(kElHighlight); +		elements++; +	} +      if(format.textSuScript() == RtfFormatting::SUPERSCRIPT)      {          AN_ELEMENT(kElSuper);  | 
