<< ", singlepar = " << (flags & Update::SinglePar)
<< "] buffer: " << &buffer_);
- // Update macro store
- if (!(cursor().inMathed() && cursor().inMacroMode()))
- buffer_.updateMacros();
+ buffer_.updateMacros();
// Now do the first drawing step if needed. This consists on updating
// the CoordCache in updateMetrics().
int const parsize = int(t.paragraphs().size());
if (d->par_height_.size() != parsize) {
d->par_height_.clear();
- // FIXME: We assume a default paragraph height of 4 rows. This
+ // FIXME: We assume a default paragraph height of 2 rows. This
// should probably be pondered with the screen width.
- d->par_height_.resize(parsize, defaultRowHeight() * 4);
+ d->par_height_.resize(parsize, defaultRowHeight() * 2);
}
// It would be better to fix the scrollbar to understand
Row const & row = pm.rows()[i];
if (row_pos >= 0) {
LYXERR(Debug::SCROLLING, "first visible row " << i
- << "(row pos = )" << row_pos << ");");
+ << "(row pos = " << row_pos << ");");
break;
}
row_pos += row.height();
d->scrollbarParameters_.height += d->par_height_[i];
}
- d->scrollbarParameters_.lineScrollHeight =
- tm.parMetrics(first_visible_pit).rows()[0].height();
+ // We prefer fixed size line scrolling.
+ d->scrollbarParameters_.lineScrollHeight = defaultRowHeight();
}
void BufferView::scrollDocView(int value)
{
int const offset = value - d->scrollbarParameters_.position;
- //TextMetrics & tm = d->text_metrics_[&buffer_.text()];
- if (abs(offset) <= 3*height_) {
+ // If the offset is less than 2 screen height, prefer to scroll instead.
+ if (abs(offset) <= 2 * height_) {
scroll(offset);
return;
}