lyx_mirror/src/mathed/math_textinset.h
André Pönitz 990069f546 a step towards world domination^H^H^H
aehm... move things from the parbox inset to an abstract base class
'MathTextInset' and have a shot on implementing an ERT inset on top of
that.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4819 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-31 17:26:14 +00:00

33 lines
909 B
C++

#ifndef MATH_TEXTINSET_H
#define MATH_TEXTINSET_H
#include "math_gridinset.h"
// not yet a substitute for the real text inset...
class MathTextInset : public MathNestInset {
public:
///
MathTextInset();
///
MathInset * clone() const;
/// get cursor position
void getPos(idx_type idx, pos_type pos, int & x, int & y) const;
/// this stores metrics information in cache_
void metrics(MathMetricsInfo & mi) const;
/// draw according to cached metrics
void draw(MathPainterInfo &, int x, int y) const;
/// draw selection background
void drawSelection(MathPainterInfo & pi,
idx_type idx1, pos_type pos1, idx_type idx2, pos_type pos2) const;
/// moves cursor up or down
bool idxUpDown(idx_type &, pos_type & pos, bool up, int targetx) const;
protected:
/// row corresponding to given position
idx_type pos2row(pos_type pos) const;
/// cached metrics
mutable MathGridInset cache_;
};
#endif