]> git.lyx.org Git - features.git/commitdiff
* show anchor paragraph completely if the whole buffer is visible.
authorStefan Schimanski <sts@lyx.org>
Tue, 5 Feb 2008 14:23:59 +0000 (14:23 +0000)
committerStefan Schimanski <sts@lyx.org>
Tue, 5 Feb 2008 14:23:59 +0000 (14:23 +0000)
We need some better handling of the case when the cursor is in the
very first line, but the line is not completely visible. If the line
is not heigher than the BufferView we should scroll up to show it
completely.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22790 a592a061-630c-0410-9148-cb99ea01b6c8

src/BufferView.cpp

index fe8e4c34c67e4b582cfa38c99d6d5881107c16bc..3518d0b7e8c5c18a9186ccc8d51790124849d287 100644 (file)
@@ -1777,6 +1777,19 @@ void BufferView::updateMetrics()
        // Rebreak anchor paragraph.
        tm.redoParagraph(d->anchor_pit_);
        ParagraphMetrics & anchor_pm = tm.par_metrics_[d->anchor_pit_];
+       
+       // position anchor
+       if (d->anchor_pit_ == 0) {
+               int scrollRange = d->scrollbarParameters_.max - d->scrollbarParameters_.min;
+               
+               // Complete buffer visible? Then it's easy.
+               if (scrollRange == 0)
+                       d->anchor_ypos_ = anchor_pm.ascent();
+       
+               // FIXME: Some clever handling needed to show
+               // the _first_ paragraph up to the top if the cursor is
+               // in the first line.
+       }               
        anchor_pm.setPosition(d->anchor_ypos_);
 
        LYXERR(Debug::PAINTING, "metrics: "