#define LYXTEXT_H
#include "lyxfont.h"
-#include "lyxcursor.h"
#include "layout.h"
#include "LColor.h"
#include "insets/inset.h"
class BufferParams;
class BufferView;
class InsetText;
+class LyXCursor;
class Paragraph;
class Row;
class Spacing;
/**
This class used to hold the mapping between buffer paragraphs and
screen rows. Nowadays, the Paragraphs take care of their rows
- themselves and this contains just most of the code for manipulating
- them and interaction with the Cursor.
+ themselves and this contains just most of the code for manipulating
+ them and interaction with the Cursor.
*/
// The inheritance from TextCursor should go. It's just there to ease
public:
/// update all cached row positions
void updateRowPositions();
- /// get the y coord. of the top of the screen (relative to doc start)
- int top_y() const;
- /// set the y coord. of the top of the screen (relative to doc start)
- void top_y(int newy);
- /// set the anchoring row. top_y will be computed relative to this
- void anchor_row(RowList::iterator rit);
///
InsetText * inset_owner;
///
void setFont(LyXFont const &, bool toggleall = false);
/// rebreaks all paragaphs between the given pars.
- void redoParagraphs(ParagraphList::iterator begin,
+ int redoParagraphs(ParagraphList::iterator begin,
ParagraphList::iterator end);
/// rebreaks the given par
void redoParagraph(ParagraphList::iterator pit);
/// rebreaks the cursor par
void redoParagraph();
private:
- /// rebreaks the given par
- void redoParagraphInternal(ParagraphList::iterator pit);
+ /// rebreaks the given par, return max row width
+ int redoParagraphInternal(ParagraphList::iterator pit);
public:
///
void setCurrentFont();
///
- bool isBoundary(Buffer const *, Paragraph const & par,
+ bool isBoundary(Buffer const &, Paragraph const & par,
lyx::pos_type pos) const;
///
- bool isBoundary(Buffer const *, Paragraph const & par,
+ bool isBoundary(Buffer const &, Paragraph const & par,
lyx::pos_type pos,
LyXFont const & font) const;
///
void computeBidiTables(ParagraphList::iterator pit,
- Buffer const *, RowList::iterator row) const;
+ Buffer const &, RowList::iterator row) const;
/// Maps positions in the visual string to positions in logical string.
lyx::pos_type log2vis(lyx::pos_type pos) const;
/// Maps positions in the logical string to positions in visual string.
private:
///
- void setCounter(Buffer const *, ParagraphList::iterator pit);
+ void setCounter(Buffer const &, ParagraphList::iterator pit);
///
void deleteWordForward();
///