X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontInfo.h;h=3833b7c87b29077aba23d133b1a8bd2faafa8ac1;hb=834bfe5e2143179ac3ccb6dd9a0618d349bf6958;hp=24951445baea97bd575f4665d8add94624d0951d;hpb=814a8411ebeac155f9ee9df915bce4ff731dd21b;p=lyx.git diff --git a/src/FontInfo.h b/src/FontInfo.h index 24951445ba..3833b7c87b 100644 --- a/src/FontInfo.h +++ b/src/FontInfo.h @@ -19,6 +19,7 @@ #include "tex2lyx/Font.h" #else +#include "Color.h" #include "ColorCode.h" #include "FontEnums.h" @@ -40,11 +41,15 @@ public: ColorCode background, FontState emph, FontState underbar, + FontState strikeout, + FontState uuline, + FontState uwave, 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), uuline_(uuline), + uwave_(uwave), noun_(noun), number_(number) {} /// Decreases font size by one @@ -66,6 +71,12 @@ 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 uuline() const { return uuline_; } + void setUuline(FontState s) { uuline_ = s; } + FontState uwave() const { return uwave_; } + void setUwave(FontState s) { uwave_ = s; } FontState noun() const { return noun_; } void setNoun(FontState n) { noun_ = n; } FontState number() const { return number_; } @@ -88,8 +99,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 +148,19 @@ private: ColorCode color_; /// ColorCode background_; + /// The color used for painting + Color paint_color_; /// FontState emph_; /// FontState underbar_; /// + FontState strikeout_; + /// + FontState uuline_; + /// + FontState uwave_; + /// FontState noun_; /// FontState number_; @@ -155,6 +177,9 @@ 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.uuline_ == rhs.uuline_ + && lhs.uwave_ == rhs.uwave_ && lhs.noun_ == rhs.noun_ && lhs.number_ == rhs.number_; }