commit e9ce68dddc0d0055b7ea469b0a31b1ed3aba1324
Author: Uwe Stöhr <uwesto...@lyx.org>
Date:   Mon Feb 17 01:23:16 2014 +0100

    InsetMathXArrow.cpp: the cells of \xleftarrow must be centered
    
    the cells are centered in the output so also center them in LyX

diff --git a/src/mathed/InsetMathXArrow.cpp b/src/mathed/InsetMathXArrow.cpp
index eef5b43..06ef4a5 100644
--- a/src/mathed/InsetMathXArrow.cpp
+++ b/src/mathed/InsetMathXArrow.cpp
@@ -51,9 +51,12 @@ void InsetMathXArrow::metrics(MetricsInfo & mi, Dimension & 
dim) const
 void InsetMathXArrow::draw(PainterInfo & pi, int x, int y) const
 {
        ScriptChanger dummy(pi.base);
-       cell(0).draw(pi, x + 5, y - 10);
+       Dimension const dim00 = dimension(*pi.base.bv);
+       Dimension const & dim01 = cell(0).dimension(*pi.base.bv);
+       // center the cells with the decoration
+       cell(0).draw(pi, x + dim00.width()/2 - dim01.width()/2, y - 10);
        Dimension const & dim1 = cell(1).dimension(*pi.base.bv);
-       cell(1).draw(pi, x + 5, y + dim1.height());
+       cell(1).draw(pi, x + dim00.width()/2 - dim1.width()/2, y + 
dim1.height());
        Dimension const dim = dimension(*pi.base.bv);
        mathed_draw_deco(pi, x + 1, y - 7, dim.wid - 2, 5, name_);
        drawMarkers(pi, x, y);

Reply via email to