#include "bufferview_funcs.h"
#include "Bidi.h"
#include "dispatchresult.h"
+#include "dimension.h"
#include "lyxfont.h"
#include "layout.h"
#include "lyxlayout_ptr_fwd.h"
class CursorSlice;
class Dimension;
class InsetBase;
-class InsetOld_code;
+class InsetBase_code;
class FuncRequest;
class FuncStatus;
class LColor_color;
///
void init(BufferView *);
- /// update y coordinate cache of all paragraphs
- void updateParPositions();
///
LyXFont getFont(Paragraph const & par, pos_type pos) const;
///
/// Set font over selection paragraphs and rebreak.
void setFont(LCursor & cur, LyXFont const &, bool toggleall = false);
- /// rebreaks all paragaphs between the given pars.
- void redoParagraphs(pit_type begin, pit_type end);
/// rebreaks the given par
void redoParagraph(pit_type pit);
- /// rebreaks the cursor par
- void redoParagraph(LCursor & cur);
/// returns pos in given par at given x coord
pos_type x2pos(pit_type pit, int row, int x) const;
/// insert an inset at cursor position
void insertInset(LCursor & cur, InsetBase * inset);
- /// a full rebreak of the whole text
- void fullRebreak();
/// compute text metrics
void metrics(MetricsInfo & mi, Dimension & dim);
/// draw text (only used for insets)
void draw(PainterInfo & pi, int x, int y) const;
/// draw textselection
void drawSelection(PainterInfo & pi, int x, int y) const;
- /// returns distance of this cell to the point given by x and y
- // assumes valid position and size cache
- int dist(int x, int y) const;
/// try to handle that request
void dispatch(LCursor & cur, FuncRequest & cmd);
// Returns the current font and depth as a message.
std::string LyXText::currentState(LCursor & cur);
- /** returns an iterator pointing to the row near the specified
- * y-coordinate (relative to the whole text). y is set to the
- * real beginning of this row
+ /** returns row near the specified
+ * y-coordinate in given paragraph (relative to the screen).
*/
- Row const & getRowNearY(int y, pit_type & pit) const;
+ Row const & getRowNearY(int y, pit_type pit) const;
+ pit_type getPitNearY(int y) const;
/** returns the column near the specified x-coordinate of the row
x is set to the real beginning of this column
/// Find next inset of some specified type.
bool gotoNextInset(LCursor & cur,
- std::vector<InsetOld_code> const & codes,
+ std::vector<InsetBase_code> const & codes,
std::string const & contents = std::string());
///
void gotoInset(LCursor & cur,
- std::vector<InsetOld_code> const & codes, bool same_content);
+ std::vector<InsetBase_code> const & codes, bool same_content);
///
- void gotoInset(LCursor & cur, InsetOld_code code, bool same_content);
+ void gotoInset(LCursor & cur, InsetBase_code code, bool same_content);
/// current text width
int width() const;
public:
///
- unsigned int width_;
+ Dimension dim_;
///
int maxwidth_;
- ///
- int height_;
/// the current font settings
LyXFont current_font;
/// the current font
///
ParagraphList pars_;
- /// absolute document pixel coordinates of this LyXText
- mutable int xo_;
- mutable int yo_;
-
/// our 'outermost' Font
LyXFont font_;
/// change on pit
pit_type undoSpan(pit_type pit);
- /// rebreaks the given par
- void redoParagraphInternal(pit_type pit);
/// used in setlayout
void makeFontEntriesLayoutSpecific(BufferParams const &, Paragraph & par);