]> git.lyx.org Git - lyx.git/commitdiff
Move metrics computation close to drawing for drawStrRed/Black
authorVincent van Ravesteijn <vfr@lyx.org>
Thu, 3 May 2012 14:28:28 +0000 (16:28 +0200)
committerVincent van Ravesteijn <vfr@lyx.org>
Thu, 3 May 2012 14:35:45 +0000 (16:35 +0200)
src/mathed/InsetMathBox.cpp
src/mathed/InsetMathExFunc.cpp
src/mathed/InsetMathUnknown.cpp
src/mathed/MathMacroArgument.cpp
src/mathed/MathSupport.cpp
src/mathed/MathSupport.h

index 7a59d973cd2c8b7500623b5d4472eac45f76b23e..60983bca804807efa2b9948913a37fdd14407912 100644 (file)
@@ -218,7 +218,7 @@ void InsetMathMakebox::metrics(MetricsInfo & mi, Dimension & dim) const
        
        Dimension wdim;
        static docstring bracket = from_ascii("[");
-       mathed_string_dim(mi.base.font, bracket, wdim);
+       metricsStrRedBlack(mi, wdim, bracket);
        int w = wdim.wid;
        
        Dimension dim0;
index 25c8dcbaf9b964300c2844f5243699806f9e1aac..35e2f62bcbab25a67421f1a99b6ba0c0423492c2 100644 (file)
@@ -44,7 +44,7 @@ Inset * InsetMathExFunc::clone() const
 
 void InsetMathExFunc::metrics(MetricsInfo & mi, Dimension & dim) const
 {
-       mathed_string_dim(mi.base.font, name_, dim);
+       metricsStrRedBlack(mi, dim, name_);
 }
 
 
index 03c41462f03ab680ad9b7cda87863facfa03309f..29dae2b971ee27f588f4be2a6a18b713448923e5 100644 (file)
@@ -47,7 +47,7 @@ void InsetMathUnknown::normalize(NormalStream & os) const
 
 void InsetMathUnknown::metrics(MetricsInfo & mi, Dimension & dim) const
 {
-       mathed_string_dim(mi.base.font, name_, dim);
+       metricsStrRedBlack(mi, dim, name_);
        docstring::const_reverse_iterator rit = name_.rbegin();
        kerning_ = mathed_char_kerning(mi.base.font, *rit);
 }
index 68f4f98452ede5482bc22278af1863aa023d691f..2e6b0e2275e46bd49a531c99528335790a55be79 100644 (file)
@@ -62,7 +62,7 @@ void MathMacroArgument::write(WriteStream & os) const
 
 void MathMacroArgument::metrics(MetricsInfo & mi, Dimension & dim) const
 {
-       mathed_string_dim(mi.base.font, str_, dim);
+       metricsStrRedBlack(mi, dim, str_);
 }
 
 
index 1d7358abb086563096c30d33bf61e942a1898cae..77b982b84b947aca04aa8d16b2273dd48f341bbd 100644 (file)
@@ -488,6 +488,12 @@ void mathed_draw_deco(PainterInfo & pi, int x, int y, int w, int h,
 }
 
 
+void metricsStrRedBlack(MetricsInfo & mi, Dimension & dim, docstring const & str)
+{
+       mathed_string_dim(mi.base.font, str, dim);
+}
+
+
 void drawStrRed(PainterInfo & pi, int x, int y, docstring const & str)
 {
        FontInfo f = pi.base.font;
index 04bcffb93141232ef3e0b64417e5ab687e44bc81..2e0ccff38c4ca3d6c8edb6843958a41dc52cad92 100644 (file)
@@ -40,6 +40,8 @@ void mathed_string_dim(FontInfo const & font,
 
 int mathed_string_width(FontInfo const &, docstring const & s);
 
+void metricsStrRedBlack(MetricsInfo & mi, Dimension & dim, docstring const & s);
+
 void drawStrRed(PainterInfo & pi, int x, int y, docstring const & s);
 void drawStrBlack(PainterInfo & pi, int x, int y, docstring const & s);