X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FMetricsInfo.h;h=7534a8e7ca005cfb7c3f2a03777f3bb47996a9aa;hb=28be7d552f62cc02fa86d7f79201d089bfb2d7b5;hp=18dbbe354046d7af7c2e93bc62fb193172036117;hpb=b2b8733096543b80b918375cc8a0e1fa6c5fd8b8;p=lyx.git diff --git a/src/MetricsInfo.h b/src/MetricsInfo.h index 18dbbe3540..7534a8e7ca 100644 --- a/src/MetricsInfo.h +++ b/src/MetricsInfo.h @@ -20,6 +20,8 @@ #include "support/strfwd.h" #include "support/Changer.h" +#include "insets/Inset.h" + #include @@ -28,53 +30,39 @@ namespace lyx { namespace frontend { class Painter; } class BufferView; -class Inset; class MacroContext; -/// Standard Sizes (mode styles) -/// note: These values are hard-coded in changeStyle -enum Styles { - /// - LM_ST_DISPLAY = 0, - /// - LM_ST_TEXT, - /// - LM_ST_SCRIPT, - /// - LM_ST_SCRIPTSCRIPT -}; - - // // This is the part common to MetricsInfo and PainterInfo // class MetricsBase { public: /// - MetricsBase(); - /// - MetricsBase(BufferView * bv, FontInfo font, int textwidth); + MetricsBase(BufferView * bv = 0, FontInfo font = FontInfo(), + int textwidth = 0); /// the current view BufferView * bv; /// current font FontInfo font; - /// current math style (display/text/script/..) - Styles style; /// name of current font - mathed specific std::string fontname; /// This is the width available in pixels int textwidth; + /// count wether the current mathdata is nested in macro(s) + int macro_nesting; /// Temporarily change a full font. - Changer changeFontSet(std::string const & font, bool cond = true); - /// Temporarily change the font size and the math style. - Changer changeStyle(Styles style, bool cond = true); + Changer changeFontSet(std::string const & font); + /// Temporarily change the font to math if needed. + Changer changeEnsureMath(Inset::mode_type mode = Inset::MATH_MODE); // Temporarily change to the style suitable for use in fractions - Changer changeFrac(bool cond = true); + Changer changeFrac(); + // Temporarily change to the style suitable for use in arrays + Changer changeArray(); // Temporarily change the style to (script)script style - Changer changeScript(bool cond = true); + Changer changeScript(); /// int solidLineThickness() const { return solid_line_thickness_; } ///