+ /// Add \p flags to current update flags and trigger an update.
+ /* If this method is invoked several times before the update
+ * actually takes place, the effect is cumulative.
+ * \c Update::FitCursor means first to do a FitCursor, and to
+ * force an update if screen position changes.
+ * \c Update::Force means to force an update in any case.
+ */
+ void processUpdateFlags(Update::flags flags);
+
+ /// return true if one shall move the screen to fit the cursor.
+ /// Only to be called with good y coordinates (after a bv::metrics)
+ bool needsFitCursor() const;
+
+ // Returns the amount of horizontal scrolling applied to the
+ // top-level row where the cursor lies
+ int horizScrollOffset() const;
+ // Returns the amount of horizontal scrolling applied to the
+ // row of text starting at (pit, pos)
+ int horizScrollOffset(Text const * text,
+ pit_type pit, pos_type pos) const;
+
+ /// reset the scrollbar parameters to reflect current view position.
+ void updateScrollbarParameters();
+ /// return the Scrollbar Parameters.
+ ScrollbarParameters const & scrollbarParameters() const;
+ /// \return Tool tip for the given position.
+ docstring toolTip(int x, int y) const;
+ /// \return the context menu for the given position.
+ std::string contextMenu(int x, int y) const;
+ /// \return the math inset with a context menu for the given position
+ Inset const * mathContextMenu(InsetMathNest const * inset,
+ CoordCache::Insets const & inset_cache, int x, int y) const;
+ /// \return the clickable math inset for the given position
+ Inset const * clickableMathInset(InsetMathNest const * inset,
+ CoordCache::Insets const & inset_cache, int x, int y) const;
+
+ /// Save the current position as bookmark.
+ /// if idx == 0, save to temp_bookmark
+ void saveBookmark(unsigned int idx);
+ /// goto a specified position, try top_id first, and then bottom_pit.
+ /// \return true if success
+ bool moveToPosition(
+ pit_type bottom_pit, ///< Paragraph pit, used when par_id is zero or invalid.
+ pos_type bottom_pos, ///< Paragraph pit, used when par_id is zero or invalid.
+ int top_id, ///< Paragraph ID, \sa Paragraph
+ pos_type top_pos ///< Position in the \c Paragraph
+ );
+ /// return the current change at the cursor.
+ Change const getCurrentChange() const;