]> git.lyx.org Git - lyx.git/blobdiff - src/BufferView.h
Fix bug #3038: wish for lfuns for zoom-in and zoom-out
[lyx.git] / src / BufferView.h
index 0f6b55b80ad95e74c42410e336fad9c5c88f0f50..b5de004c3d69a43184f0d57d84c712d71a3ec626 100644 (file)
@@ -146,15 +146,23 @@ public:
 
        /// set cursor to the given inset. Return true if found.
        bool setCursorFromInset(Inset const *);
-
+       /// Recenters the BufferView such that the passed cursor
+       /// is in the center.
+       void recenter();
        /// Ensure that the BufferView cursor is visible.
        /// This method will automatically scroll and update the BufferView
        /// if needed.
-       void showCursor();
+       void showCursor(); 
        /// Ensure the passed cursor \p dit is visible.
        /// This method will automatically scroll and update the BufferView
        /// if needed.
-       void showCursor(DocIterator const & dit);
+       /// \param recenter Whether the cursor should be centered on screen
+       void showCursor(DocIterator const & dit, bool recenter = false);
+       /// Scroll to the cursor.
+       void scrollToCursor();
+       /// Scroll to the cursor.
+       /// \param recenter Whether the cursor should be centered on screen
+       bool scrollToCursor(DocIterator const & dit, bool recenter);
        /// LFUN_SCROLL Helper.
        void lfunScroll(FuncRequest const & cmd);
        /// scroll down document by the given number of pixels.
@@ -253,6 +261,10 @@ public:
        Point getPos(DocIterator const & dit, bool boundary) const;
        /// is the paragraph of the cursor visible ?
        bool paragraphVisible(DocIterator const & dit) const;
+       /// is the cursor currently visible in the view
+       bool cursorInView(Point const & p, int h) const;
+       /// get the position and height of the cursor
+       void cursorPosAndHeight(Point & p, int & h) const;
 
 
        ///
@@ -303,6 +315,10 @@ private:
        /// \return true if no further update is needed.
        bool singleParUpdate();
 
+       /// The minimal size of the document that is visible. Used
+       /// when it is allowed to scroll below the document.
+       int minVisiblePart();
+
        /// Search recursively for the the innermost inset that covers (x, y) position.
        /// \retval 0 if no inset is found.
        Inset const * getCoveringInset(