X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FMetricsInfo.h;h=7fe72405bfd72fc5bd585e24b47bb96473bff925;hb=1e519d1115f41f71c253cb9e2fbb7803e9a583a9;hp=b350747b4bd1a684a2c3479f1d3b86553f7c5b50;hpb=e449e70e3854da3aeda8dca1de22cabaf6ae0557;p=lyx.git diff --git a/src/MetricsInfo.h b/src/MetricsInfo.h index b350747b4b..7fe72405bf 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,7 +30,7 @@ namespace lyx { namespace frontend { class Painter; } class BufferView; -class Inset; +class Length; class MacroContext; @@ -54,6 +56,8 @@ public: /// Temporarily change a full font. 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(); // Temporarily change to the style suitable for use in arrays @@ -66,6 +70,13 @@ public: int solidLineOffset() const { return solid_line_offset_; } /// int dottedLineThickness() const { return dotted_line_thickness_; } + /** return the on-screen size of this length + * + * This version of the function uses the current inset width as + * width and the EM value of the current font. + */ + int inPixels(Length const & len) const; + private: int solid_line_thickness_; int solid_line_offset_; @@ -105,13 +116,13 @@ public: /// void draw(int x, int y, docstring const & str); /// Determines the background color for the specified inset based on the - /// selection state, the background color inherited from the parent inset + /// selection state, the background color inherited from the parent inset /// and the inset's own background color. /// \param sel whether to take the selection state into account ColorCode backgroundColor(Inset const * inset, bool sel = true) const; /// Determines the text color based on the intended color, the - /// change tracking state and the selection state. + /// change tracking state and the selection state. /// \param color what the color should be by default Color textColor(Color const & color) const; @@ -119,7 +130,7 @@ public: MetricsBase base; /// frontend::Painter & pain; - /// Whether the text at this point is right-to-left (for InsetNewline) + /// Whether the text at this point is right-to-left (for insets) bool ltr_pos; /// The change the parent is part of (change tracking) Change change_; @@ -127,7 +138,7 @@ public: bool selected; /// Whether the spell checker is enabled for the parent bool do_spellcheck; - /// + /// True when it can be assumed that the screen has been cleared bool full_repaint; /// Current background color ColorCode background_color;