]> git.lyx.org Git - lyx.git/blobdiff - src/FontInfo.h
Introduce strikeout text style (strike-through)
[lyx.git] / src / FontInfo.h
index 24951445baea97bd575f4665d8add94624d0951d..10d72354efeae4717d1a723c7922957895500a7a 100644 (file)
@@ -19,6 +19,7 @@
 #include "tex2lyx/Font.h"
 #else
 
+#include "Color.h"
 #include "ColorCode.h"
 #include "FontEnums.h"
 
@@ -40,11 +41,12 @@ public:
                ColorCode background,
                FontState emph,
                FontState underbar,
+               FontState strikeout,
                FontState noun,
-               FontState number
-               ): family_(family), series_(series), shape_(shape), size_(size), 
-               color_(color), background_(background), emph_(emph),
-               underbar_(underbar), noun_(noun), number_(number)
+               FontState number)
+               : family_(family), series_(series), shape_(shape), size_(size), 
+               color_(color), background_(background), paint_color_(), emph_(emph),
+               underbar_(underbar), strikeout_(strikeout), noun_(noun), number_(number)
        {}
 
        /// Decreases font size by one
@@ -66,6 +68,8 @@ public:
        void setEmph(FontState e) { emph_ = e; }
        FontState underbar() const { return underbar_; }
        void setUnderbar(FontState u) { underbar_ = u; }
+       FontState strikeout() const { return strikeout_; }
+       void setStrikeout(FontState s) { strikeout_ = s; }
        FontState noun() const { return noun_; }
        void setNoun(FontState n) { noun_ = n; }
        FontState number() const { return number_; }
@@ -88,8 +92,11 @@ public:
        /// Is a given font fully resolved?
        bool resolved() const;
 
-       ///
-       ColorCode realColor() const;
+       /// The real color of the font. This can be the color that is 
+       /// set for painting, the color of the font or a default color.
+       Color realColor() const;
+       /// Sets the color which is used during painting
+       void setPaintColor(Color c) { paint_color_ = c; }
 
        /// Converts logical attributes to concrete shape attribute
        /// Try hard to inline this as it shows up with 4.6 % in the profiler.
@@ -134,11 +141,15 @@ private:
        ColorCode color_;
        ///
        ColorCode background_;
+       /// The color used for painting
+       Color paint_color_;
        ///
        FontState emph_;
        ///
        FontState underbar_;
        ///
+       FontState strikeout_;
+       ///
        FontState noun_;
        ///
        FontState number_;
@@ -155,6 +166,7 @@ inline bool operator==(FontInfo const & lhs, FontInfo const & rhs)
                && lhs.background_ == rhs.background_
                && lhs.emph_ == rhs.emph_
                && lhs.underbar_ == rhs.underbar_
+               && lhs.strikeout_ == rhs.strikeout_
                && lhs.noun_ == rhs.noun_
                && lhs.number_ == rhs.number_;
 }