InsetMathXArrow.cpp: the cells of \xleftarrow must be centered

the cells are centered in the output so also center them in LyX
This commit is contained in:
Uwe Stöhr 2014-02-17 01:23:16 +01:00
parent 8c33f73cc7
commit e9ce68dddc

View File

@ -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);