X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontInfo.h;h=c093474c459f378a230f7211d77ed4a73d7e4f73;hb=2de30c62f8d671a8c8d4d52a6a7310e2c5ca84de;hp=c31c7fac779f7173b512d7672d23924277332fee;hpb=4cdd9732d3f29f212d6abda019e3cf88623272df;p=lyx.git diff --git a/src/FontInfo.h b/src/FontInfo.h index c31c7fac77..c093474c45 100644 --- a/src/FontInfo.h +++ b/src/FontInfo.h @@ -18,8 +18,11 @@ #include "Color.h" #include "ColorCode.h" #include "FontEnums.h" + +#include "support/Changer.h" #include "support/strfwd.h" + namespace lyx { class Lexer; @@ -34,19 +37,19 @@ public: FontInfo( FontFamily family, FontSeries series, - FontShape shape, - FontSize size, - ColorCode color, - 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), paint_color_(), emph_(emph), + FontShape shape, + FontSize size, + ColorCode color, + ColorCode background, + FontState emph, + FontState underbar, + FontState strikeout, + FontState uuline, + FontState uwave, + FontState noun, + FontState number) + : family_(family), series_(series), shape_(shape), size_(size), + style_(LM_ST_TEXT), color_(color), background_(background), emph_(emph), underbar_(underbar), strikeout_(strikeout), uuline_(uuline), uwave_(uwave), noun_(noun), number_(number) {} @@ -66,6 +69,8 @@ public: void setShape(FontShape s) { shape_ = s; } FontSize size() const { return size_; } void setSize(FontSize s) { size_ = s; } + MathStyle style() const {return style_; } + void setStyle(MathStyle s) { style_ = s; } FontState emph() const { return emph_; } void setEmph(FontState e) { emph_ = e; } FontState underbar() const { return underbar_; } @@ -104,6 +109,9 @@ public: /// Sets the color which is used during painting void setPaintColor(Color c) { paint_color_ = c; } + /// Compute the font size, taking size and math style into account. + double realSize() const; + /// docstring asCSS() const; @@ -136,6 +144,16 @@ public: } } + /// Temporarily replace the color with \param color. + Changer changeColor(ColorCode const color); + /// Temporarily replace the shape with \param shape. + Changer changeShape(FontShape const shape); + /// Temporarily replace the style + Changer changeStyle(MathStyle style); + /// Temporarily replace the FontInfo with \param font, and optionally + /// \param realize the \param font against the current FontInfo. + Changer change(FontInfo font, bool realize = false); + private: friend bool operator==(FontInfo const & lhs, FontInfo const & rhs); @@ -148,6 +166,8 @@ private: /// FontSize size_; /// + MathStyle style_; + /// ColorCode color_; /// ColorCode background_;