#define BUFFER_VIEW_H
#include "DocumentClassPtr.h"
+#include "TexRow.h"
#include "update_flags.h"
#include "support/strfwd.h"
class FuncStatus;
class Intl;
class Inset;
+class Length;
class PainterInfo;
class ParIterator;
class ParagraphMetrics;
/// left margin
int leftMargin() const;
+ /// return the on-screen size of this length
+ /*
+ * This is a wrapper around Length::inPixels that uses the
+ * bufferview width as width and the EM value of the default
+ * document font.
+ */
+ int inPixels(Length const & len) const;
+
/// \return true if the BufferView is at the top of the document.
bool isTopScreen() const;
void gotoLabel(docstring const & label);
/// set the cursor based on the given TeX source row.
- void setCursorFromRow(int row);
- ///
- void setCursorFromRow(int row, TexRow const & texrow);
+ bool setCursorFromRow(int row);
+ /// set the cursor based on the given start and end TextEntries.
+ bool setCursorFromEntries(TexRow::TextEntry start, TexRow::TextEntry end);
/// set cursor to the given inset. Return true if found.
bool setCursorFromInset(Inset const *);