-using std::string;
-
-
-MetricsBase::MetricsBase()
- : bv(0), font(), style(LM_ST_TEXT), fontname("mathnormal"),
- textwidth(0)
-{}
-
-
-MetricsBase::MetricsBase(BufferView * b, FontInfo const & f, int w)
- : bv(b), font(f), style(LM_ST_TEXT), fontname("mathnormal"),
- textwidth(w)
-{}
-
-
-MetricsInfo::MetricsInfo(BufferView * bv, FontInfo const & font, int textwidth,
- MacroContext const & mc)
- : base(bv, font, textwidth), macrocontext(mc)
-{}
-
-
-PainterInfo::PainterInfo(BufferView * bv, lyx::frontend::Painter & painter)
- : pain(painter), ltr_pos(false), erased_(false), full_repaint(true),
- background_color(Color_background)
-{
- base.bv = bv;
+/////////////////////////////////////////////////////////////////////////
+//
+// MetricsBase
+//
+/////////////////////////////////////////////////////////////////////////
+
+MetricsBase::MetricsBase(BufferView * b, FontInfo f, int w)
+ : bv(b), font(move(f)), fontname("mathnormal"),
+ textwidth(w), macro_nesting(0),
+ solid_line_thickness_(1), solid_line_offset_(1), dotted_line_thickness_(1)
+{
+ if (lyxrc.currentZoom >= 200) {
+ // derive the line thickness from zoom factor
+ // the zoom is given in percent
+ // (increase thickness at 250%, 450% etc.)
+ solid_line_thickness_ = (lyxrc.currentZoom + 150) / 200;
+ // adjust line_offset_ too
+ solid_line_offset_ = 1 + solid_line_thickness_ / 2;
+ }
+ if (lyxrc.currentZoom >= 100) {
+ // derive the line thickness from zoom factor
+ // the zoom is given in percent
+ // (increase thickness at 150%, 250% etc.)
+ dotted_line_thickness_ = (lyxrc.currentZoom + 50) / 100;
+ }