int Tabular::textVOffset(idx_type cell) const
{
- return cellInfo(cell).voffset;
+ int voffset = cellInfo(cell).voffset;
+ if (isMultiRow(cell)) {
+ row_type const row = cellRow(cell);
+ voffset += (cellHeight(cell) - rowAscent(row) - rowDescent(row))/2;
+ }
+ return voffset;
}
//lyxerr << "# InsetTabular::MouseMotion\n" << bvcur << endl;
if (cmd.button() == mouse_button::button1) {
// only accept motions to places not deeper nested than the real anchor
- if (!bvcur.anchor_.hasPart(cur)) {
+ if (!bvcur.realAnchor().hasPart(cur)) {
cur.undispatched();
break;
}
}
// only update if selection changes
if (bvcur.idx() == cur.idx() &&
- !(bvcur.anchor_.idx() == cur.idx() && bvcur.pos() != cur.pos()))
+ !(bvcur.realAnchor().idx() == cur.idx() && bvcur.pos() != cur.pos()))
cur.noUpdate();
setCursorFromCoordinates(cur, cmd.x(), cmd.y());
bvcur.setCursor(cur);
}
if (action == Tabular::LAST_ACTION) {
status.clear();
- status.unknown(true);
+ status.setUnknown(true);
return true;
}