+
+2005-08-02 Martin Vermeer <martin.vermeer@hut.fi>
+
+ * text.C (cursorX): fix bug 1965: cursor movement at
+ line end broken in RtL.
+ (drawSelection): fix bug 1970: drawing of single-line
+ selection broken for RtL.
+
2005-07-31 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
bug 465.
X2 = !isRTL(par2) ? endx : 0 + dim_.wid;
}
- if (!above && !below && &par1.getRow(beg.pos(), end.boundary())
+ if (!above && !below && &par1.getRow(beg.pos(), beg.boundary())
== &par2.getRow(end.pos(), end.boundary()))
{
// paint only one rectangle
- pi.pain.fillRectangle(x + x1, y1, X2 - x1, y2 - y1,
- LColor::selection);
+ int const b( !isRTL(par1) ? x + x1 : x + X1 );
+ int const w( !isRTL(par1) ? X2 - x1 : x2 - X1 );
+ pi.pain.fillRectangle(b, y1, w, y2 - y1, LColor::selection);
return;
}
// see correction above
if (boundary_correction)
- x += singleWidth(par, ppos);
+ if (getFont(par, ppos).isRightToLeft())
+ x -= singleWidth(par, ppos);
+ else
+ x += singleWidth(par, ppos);
return int(x);
}