X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontInfo.h;h=3feefca662b562661ca8d626a3ddc737148e7735;hb=0515bfa989474c6dc46256b1bea52cff7f330336;hp=b8f71e9bd3f392860a89210ee141138e61f58e1b;hpb=6fe499509a0f527d53deefae309539628052bdbd;p=lyx.git diff --git a/src/FontInfo.h b/src/FontInfo.h index b8f71e9bd3..3feefca662 100644 --- a/src/FontInfo.h +++ b/src/FontInfo.h @@ -39,19 +39,22 @@ public: FontSeries series, FontShape shape, FontSize size, + MathStyle style, ColorCode color, ColorCode background, FontState emph, FontState underbar, FontState strikeout, + FontState xout, FontState uuline, FontState uwave, FontState noun, - 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) + FontState number, + FontState nospellcheck) + : family_(family), series_(series), shape_(shape), size_(size), + style_(style), color_(color), background_(background), emph_(emph), + underbar_(underbar), strikeout_(strikeout), xout_(xout), uuline_(uuline), + uwave_(uwave), noun_(noun), number_(number), nospellcheck_(nospellcheck) {} /// Decreases font size by one @@ -69,12 +72,16 @@ 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_; } void setUnderbar(FontState u) { underbar_ = u; } FontState strikeout() const { return strikeout_; } void setStrikeout(FontState s) { strikeout_ = s; } + FontState xout() const { return xout_; } + void setXout(FontState s) { xout_ = s; } FontState uuline() const { return uuline_; } void setUuline(FontState s) { uuline_ = s; } FontState uwave() const { return uwave_; } @@ -87,6 +94,8 @@ public: void setColor(ColorCode c) { color_ = c; } ColorCode background() const { return background_; } void setBackground(ColorCode b) { background_ = b; } + FontState nospellcheck() const { return nospellcheck_; } + void setNoSpellcheck(FontState n) { nospellcheck_ = n; } //@} /// @@ -101,12 +110,15 @@ public: /// Is a given font fully resolved? bool resolved() const; - /// The real color of the font. This can be the color that is + /// 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; } + /// Compute the font size, taking size and math style into account. + double realSize() const; + /// docstring asCSS() const; @@ -117,7 +129,8 @@ public: if (noun_ == FONT_ON) return SMALLCAPS_SHAPE; if (emph_ == FONT_ON) - return (shape_ == ITALIC_SHAPE) ? UP_SHAPE : ITALIC_SHAPE; + return (shape_ == ITALIC_SHAPE || shape_ == SLANTED_SHAPE) + ? UP_SHAPE : ITALIC_SHAPE; return shape_; } @@ -140,12 +153,17 @@ public: } /// Temporarily replace the color with \param color. - Changer changeColor(ColorCode const color, bool cond = true); + Changer changeColor(ColorCode const color); /// Temporarily replace the shape with \param shape. - Changer changeShape(FontShape const shape, bool cond = true); + 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, bool cond = true); + Changer change(FontInfo font, bool realize = false); + + /// Build GUI description of font state + docstring const stateText(bool const terse = false) const; private: friend bool operator==(FontInfo const & lhs, FontInfo const & rhs); @@ -159,6 +177,8 @@ private: /// FontSize size_; /// + MathStyle style_; + /// ColorCode color_; /// ColorCode background_; @@ -171,6 +191,8 @@ private: /// FontState strikeout_; /// + FontState xout_; + /// FontState uuline_; /// FontState uwave_; @@ -178,6 +200,8 @@ private: FontState noun_; /// FontState number_; + /// + FontState nospellcheck_; }; @@ -187,15 +211,18 @@ inline bool operator==(FontInfo const & lhs, FontInfo const & rhs) && lhs.series_ == rhs.series_ && lhs.shape_ == rhs.shape_ && lhs.size_ == rhs.size_ + && lhs.style_ == rhs.style_ && lhs.color_ == rhs.color_ && lhs.background_ == rhs.background_ && lhs.emph_ == rhs.emph_ && lhs.underbar_ == rhs.underbar_ && lhs.strikeout_ == rhs.strikeout_ + && lhs.xout_ == rhs.xout_ && lhs.uuline_ == rhs.uuline_ && lhs.uwave_ == rhs.uwave_ && lhs.noun_ == rhs.noun_ - && lhs.number_ == rhs.number_; + && lhs.number_ == rhs.number_ + && lhs.nospellcheck_ == rhs.nospellcheck_; }