X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathScript.h;h=0d43f95d6e9d6fb760176704e64a6659ffee64c4;hb=b9765984c0e2d38b251b765cabfc9d23bf957a7a;hp=e3272aa0eb735e5faa7be041febb3a3d4c0c9646;hpb=e89625ef28143545a511cdabc67dee8b7be1b216;p=lyx.git diff --git a/src/mathed/InsetMathScript.h b/src/mathed/InsetMathScript.h index e3272aa0eb..0d43f95d6e 100644 --- a/src/mathed/InsetMathScript.h +++ b/src/mathed/InsetMathScript.h @@ -15,6 +15,9 @@ #include "InsetMathNest.h" +namespace lyx { + + // An inset for super- and subscripts or both. The 'nucleus' is always // cell 0. If there is just one script, it's cell 1 and cell_1_is_up_ // is set accordingly. If both are used, cell 1 is up and cell 2 is down. @@ -30,7 +33,7 @@ public: /// mode_type currentMode() const { return MATH_MODE; } /// - void metrics(MetricsInfo & mi, Dimension & dim) const; + bool metrics(MetricsInfo & mi, Dimension & dim) const; /// void draw(PainterInfo & pi, int x, int y) const; /// @@ -39,15 +42,15 @@ public: void drawT(TextPainter & pi, int x, int y) const; /// move cursor left - bool idxLeft(LCursor & cur) const; + bool idxLeft(Cursor & cur) const; /// move cursor right - bool idxRight(LCursor & cur) const; + bool idxRight(Cursor & cur) const; /// move cursor up or down - bool idxUpDown(LCursor & cur, bool up) const; + bool idxUpDown(Cursor & cur, bool up) const; /// Target pos when we enter the inset from the left by pressing "Right" - bool idxFirst(LCursor & cur) const; + bool idxFirst(Cursor & cur) const; /// Target pos when we enter the inset from the right by pressing "Left" - bool idxLast(LCursor & cur) const; + bool idxLast(Cursor & cur) const; /// write LaTeX and Lyx code void write(WriteStream & os) const; @@ -58,7 +61,7 @@ public: /// write content as something readable by Mathematica void mathematica(MathematicaStream &) const; /// write content as something resembling MathML - void mathmlize(MathMLStream &) const; + void mathmlize(MathStream &) const; /// write content as something readable by Octave void octave(OctaveStream &) const; @@ -72,17 +75,17 @@ public: /// get limits int limits() const { return limits_; } /// returns subscript. Always run 'hasDown' or 'has(false)' before! - MathArray const & down() const; + MathData const & down() const; /// returns subscript. Always run 'hasDown' or 'has(false)' before! - MathArray & down(); + MathData & down(); /// returns superscript. Always run 'hasUp' or 'has(true)' before! - MathArray const & up() const; + MathData const & up() const; /// returns superscript. Always run 'hasUp' or 'has(true)' before! - MathArray & up(); + MathData & up(); /// returns nucleus - MathArray const & nuc() const; + MathData const & nuc() const; /// returns nucleus - MathArray & nuc(); + MathData & nuc(); /// do we have a superscript? bool hasUp() const; /// do we have a subscript? @@ -96,17 +99,19 @@ public: /// make sure a script is accessible void ensure(bool up); /// say that we have scripts - void infoize(std::ostream & os) const; + void infoize(odocstream & os) const; /// say whether we have displayed limits - void infoize2(std::ostream & os) const; + void infoize2(odocstream & os) const; protected: - virtual void doDispatch(LCursor & cur, FuncRequest & cmd); + virtual void doDispatch(Cursor & cur, FuncRequest & cmd); private: - virtual std::auto_ptr doClone() const; + virtual std::auto_ptr doClone() const; /// returns x offset for main part int dxx() const; /// returns width of nucleus if any int nwid() const; + /// returns y offset for either superscript or subscript + int dy01(int asc, int des, int what) const; /// returns y offset for superscript int dy0() const; /// returns y offset for subscript @@ -119,10 +124,12 @@ private: int nasc() const; /// returns descent of nucleus if any int ndes() const; + /// returns superscript kerning of nucleus if any + int nker() const; /// where do we have to draw the scripts? bool hasLimits() const; /// clean up empty cells and return true if a cell has been deleted. - bool notifyCursorLeaves(LCursor & cur); + bool notifyCursorLeaves(Cursor & cur); /// possible subscript (index 0) and superscript (index 1) bool cell_1_is_up_; @@ -130,4 +137,7 @@ private: int limits_; }; + + +} // namespace lyx #endif