]> git.lyx.org Git - features.git/commitdiff
Remove boundary parameter from BufferView::getPos(). The first DocIterator parameter...
authorVincent van Ravesteijn <vfr@lyx.org>
Wed, 21 Apr 2010 13:03:04 +0000 (13:03 +0000)
committerVincent van Ravesteijn <vfr@lyx.org>
Wed, 21 Apr 2010 13:03:04 +0000 (13:03 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34247 a592a061-630c-0410-9148-cb99ea01b6c8

src/BufferView.cpp
src/BufferView.h
src/Cursor.cpp
src/TextMetrics.cpp

index cb45617831b89980fe36d9e84d6134aeecd5989b..261359217ad790586e562d407f655049c23811ec 100644 (file)
@@ -393,7 +393,7 @@ bool BufferView::fitCursor()
                        theFontMetrics(d->cursor_.getFont().fontInfo());
                int const asc = fm.maxAscent();
                int const des = fm.maxDescent();
-               Point const p = getPos(d->cursor_, d->cursor_.boundary());
+               Point const p = getPos(d->cursor_);
                if (p.y_ - asc >= 0 && p.y_ + des < height_)
                        return false;
        }
@@ -646,7 +646,7 @@ void BufferView::setCursorFromScrollbar()
                newy = last;
                break;
        case CUR_INSIDE:
-               int const y = getPos(oldcur, oldcur.boundary()).y_;
+               int const y = getPos(oldcur).y_;
                newy = min(last, max(y, first));
                if (y == newy) 
                        return;
@@ -681,7 +681,7 @@ Change const BufferView::getCurrentChange() const
 // FIXME: This does not work within mathed!
 CursorStatus BufferView::cursorStatus(DocIterator const & dit) const
 {
-       Point const p = getPos(dit, dit.boundary());
+       Point const p = getPos(dit);
        if (p.y_ < 0)
                return CUR_ABOVE;
        if (p.y_ > workHeight())
@@ -1580,13 +1580,13 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
 
        case LFUN_SCREEN_UP:
        case LFUN_SCREEN_DOWN: {
-               Point p = getPos(cur, cur.boundary());
+               Point p = getPos(cur);
                // This code has been commented out to enable to scroll down a
                // document, even if there are large insets in it (see bug #5465).
                /*if (p.y_ < 0 || p.y_ > height_) {
                        // The cursor is off-screen so recenter before proceeding.
                        showCursor();
-                       p = getPos(cur, cur.boundary());
+                       p = getPos(cur);
                }*/
                int const scrolled = scroll(act == LFUN_SCREEN_UP
                        ? -height_ : height_);
@@ -1621,10 +1621,10 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
                        cur.finishUndo();
                        break;
                }
-               int y = getPos(cur, cur.boundary()).y_;
+               int y = getPos(cur).y_;
                int const ymin = y - height_ + defaultRowHeight();
                while (y > ymin && cur.up())
-                       y = getPos(cur, cur.boundary()).y_;
+                       y = getPos(cur).y_;
 
                cur.finishUndo();
                dr.update(Update::SinglePar | Update::FitCursor);
@@ -1638,10 +1638,10 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
                        cur.finishUndo();
                        break;
                }
-               int y = getPos(cur, cur.boundary()).y_;
+               int y = getPos(cur).y_;
                int const ymax = y + height_ - defaultRowHeight();
                while (y < ymax && cur.down())
-                       y = getPos(cur, cur.boundary()).y_;
+                       y = getPos(cur).y_;
 
                cur.finishUndo();
                dr.update(Update::SinglePar | Update::FitCursor);
@@ -2518,7 +2518,7 @@ Point BufferView::coordOffset(DocIterator const & dit, bool boundary) const
 }
 
 
-Point BufferView::getPos(DocIterator const & dit, bool boundary) const
+Point BufferView::getPos(DocIterator const & dit) const
 {
        if (!paragraphVisible(dit))
                return Point(-1, -1);
@@ -2526,7 +2526,7 @@ Point BufferView::getPos(DocIterator const & dit, bool boundary) const
        CursorSlice const & bot = dit.bottom();
        TextMetrics const & tm = textMetrics(bot.text());
 
-       Point p = coordOffset(dit, boundary); // offset from outer paragraph
+       Point p = coordOffset(dit, dit.boundary()); // offset from outer paragraph
        p.y_ += tm.parMetrics(bot.pit()).position();
        return p;
 }
@@ -2549,7 +2549,7 @@ void BufferView::cursorPosAndHeight(Point & p, int & h) const
        int const asc = fm.maxAscent();
        int const des = fm.maxDescent();
        h = asc + des;
-       p = getPos(cur, cur.boundary());
+       p = getPos(cur);
        p.y_ -= asc;
 }
 
index c3e184bd4e4ec43b7b2384d34467701eabd10d1c..f43d5a01e31e507a61a51c95446bb273c3104248 100644 (file)
@@ -259,7 +259,7 @@ public:
        CoordCache const & coordCache() const;
 
        ///
-       Point getPos(DocIterator const & dit, bool boundary) const;
+       Point getPos(DocIterator const & dit) const;
        /// is the paragraph of the cursor visible ?
        bool paragraphVisible(DocIterator const & dit) const;
        /// is the cursor currently visible in the view
index 33536fae0711cb1da807bd555a4db4ce97700d91..75f7a2df996d0d4025fb5ecf16798f4935f9cc69 100644 (file)
@@ -215,7 +215,9 @@ bool bruteFind3(Cursor & cur, int x, int y, bool up)
                // avoid invalid nesting when selecting
                if (bv.cursorStatus(it) == CUR_INSIDE
                                && (!cur.selection() || positionable(it, cur.realAnchor()))) {
-                       Point p = bv.getPos(it, false);
+                       // If this function is ever used again, check whether this
+                       // is the same as "bv.getPos(it, false)" with boundary = false.
+                       Point p = bv.getPos(it);
                        int xo = p.x_;
                        int yo = p.y_;
                        if (xlow <= xo && xo <= xhigh && ylow <= yo && yo <= yhigh) {
@@ -467,7 +469,7 @@ int Cursor::currentMode()
 
 void Cursor::getPos(int & x, int & y) const
 {
-       Point p = bv().getPos(*this, boundary());
+       Point p = bv().getPos(*this);
        x = p.x_;
        y = p.y_;
 }
@@ -1886,7 +1888,7 @@ bool Cursor::upDownInText(bool up, bool & updateNeeded)
 
        // with and without selection are handled differently
        if (!selection()) {
-               int yo = bv().getPos(*this, boundary()).y_;
+               int yo = bv().getPos(*this).y_;
                Cursor old = *this;
                // To next/previous row
                if (up)
index 482b2a13bfafb80db3b9ec2acfb2fee647fd3a4f..22c834e32117716c31d25e95a0e932c826afd92e 100644 (file)
@@ -2218,7 +2218,7 @@ void TextMetrics::drawRowSelection(PainterInfo & pi, int x, Row const & row,
        cur.boundary(begin_boundary);
        int x1 = cursorX(beg.top(), begin_boundary);
        int x2 = cursorX(end.top(), end_boundary);
-       int const y1 = bv_->getPos(cur, cur.boundary()).y_ - row.ascent();
+       int const y1 = bv_->getPos(cur).y_ - row.ascent();
        int const y2 = y1 + row.height();
 
        int const rm = text_->isMainText() ? bv_->rightMargin() : 0;
@@ -2307,8 +2307,10 @@ void TextMetrics::completionPosAndDim(Cursor const & cur, int & x, int & y,
        wordStart.pos() -= word.length();
 
        // get position on screen of the word start and end
-       Point lxy = cur.bv().getPos(wordStart, false);
-       Point rxy = cur.bv().getPos(bvcur, bvcur.boundary());
+       //FIXME: Is it necessary to explicitly set this to false?
+       wordStart.boundary(false);
+       Point lxy = cur.bv().getPos(wordStart);
+       Point rxy = cur.bv().getPos(bvcur);
 
        // calculate dimensions of the word
        dim = rowHeight(bvcur.pit(), wordStart.pos(), bvcur.pos(), false);