mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
Remove PainterInfo argument to checkCursorScrollOffset
This will allow later to move its invokation to processUpdateFlags. Also, remove wrong use of Update::SinglePar flag.
This commit is contained in:
parent
d377e765a2
commit
f6c6416f28
@ -2970,7 +2970,7 @@ void BufferView::setCurrentRowSlice(CursorSlice const & rowSlice)
|
||||
}
|
||||
|
||||
|
||||
void BufferView::checkCursorScrollOffset(PainterInfo & pi)
|
||||
void BufferView::checkCursorScrollOffset()
|
||||
{
|
||||
CursorSlice rowSlice = d->cursor_.bottom();
|
||||
TextMetrics const & tm = textMetrics(rowSlice.text());
|
||||
@ -2981,8 +2981,7 @@ void BufferView::checkCursorScrollOffset(PainterInfo & pi)
|
||||
return;
|
||||
ParagraphMetrics const & pm = tm.parMetrics(rowSlice.pit());
|
||||
Row const & row = pm.getRow(rowSlice.pos(),
|
||||
d->cursor_.boundary()
|
||||
&& rowSlice == d->cursor_.top());
|
||||
d->cursor_.boundary() && rowSlice == d->cursor_.top());
|
||||
rowSlice.pos() = row.pos();
|
||||
|
||||
// Set the row on which the cursor lives.
|
||||
@ -2993,7 +2992,8 @@ void BufferView::checkCursorScrollOffset(PainterInfo & pi)
|
||||
|
||||
// Horizontal scroll offset of the cursor row in pixels
|
||||
int offset = d->horiz_scroll_offset_;
|
||||
int const MARGIN = Length(2, Length::EM).inPixels(pi.base);
|
||||
int const MARGIN = 2 * theFontMetrics(d->cursor_.real_current_font).em();
|
||||
//lyxerr << "cur_x=" << cur_x << ", offset=" << offset << ", margin=" << MARGIN << endl;
|
||||
if (cur_x < offset + MARGIN) {
|
||||
// scroll right
|
||||
offset = cur_x - MARGIN;
|
||||
@ -3034,7 +3034,7 @@ void BufferView::draw(frontend::Painter & pain)
|
||||
|
||||
// Check whether the row where the cursor lives needs to be scrolled.
|
||||
// Update the drawing strategy if needed.
|
||||
checkCursorScrollOffset(pi);
|
||||
checkCursorScrollOffset();
|
||||
|
||||
switch (d->update_strategy_) {
|
||||
|
||||
|
@ -349,7 +349,7 @@ private:
|
||||
|
||||
// Check whether the row where the cursor lives needs to be scrolled.
|
||||
// Update the drawing strategy if needed.
|
||||
void checkCursorScrollOffset(PainterInfo & pi);
|
||||
void checkCursorScrollOffset();
|
||||
|
||||
/// The minimal size of the document that is visible. Used
|
||||
/// when it is allowed to scroll below the document.
|
||||
|
@ -1614,7 +1614,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
||||
case mouse_button::button1:
|
||||
// Set the cursor
|
||||
if (!bv->mouseSetCursor(cur, cmd.argument() == "region-select"))
|
||||
cur.screenUpdateFlags(Update::SinglePar | Update::FitCursor);
|
||||
cur.screenUpdateFlags(Update::FitCursor);
|
||||
if (bvcur.wordSelection())
|
||||
selectWord(bvcur, WHOLE_WORD);
|
||||
break;
|
||||
@ -1639,7 +1639,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
||||
return;
|
||||
}
|
||||
if (!bv->mouseSetCursor(cur, false))
|
||||
cur.screenUpdateFlags(Update::SinglePar | Update::FitCursor);
|
||||
cur.screenUpdateFlags(Update::FitCursor);
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user