X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontInfo.h;h=3833b7c87b29077aba23d133b1a8bd2faafa8ac1;hb=4df7d8ab1ae443119057562fb76c2e438c053eef;hp=ab1fab670dc18cdddef2c2f0cc58d134e9f9408e;hpb=869a66f59f45061f51c5dfaa583fc3fbec4d006b;p=lyx.git diff --git a/src/FontInfo.h b/src/FontInfo.h index ab1fab670d..3833b7c87b 100644 --- a/src/FontInfo.h +++ b/src/FontInfo.h @@ -4,7 +4,7 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * \author Jean-Marc Lasgouttes * \author Angus Leeming * \author Dekel Tsur @@ -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_; }