X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathFrac.h;h=9d5484487687932368f8bd45dc2be588cd4f47c1;hb=5fdc577badb1cb133d6a0dc7d831bb1f82576adb;hp=3254405c3516f9fec82bdccd985f881423f6e3df;hpb=a97b097768b2d4df69015070040dfe3858ff82e2;p=lyx.git diff --git a/src/mathed/InsetMathFrac.h b/src/mathed/InsetMathFrac.h index 3254405c35..9d54844876 100644 --- a/src/mathed/InsetMathFrac.h +++ b/src/mathed/InsetMathFrac.h @@ -23,13 +23,17 @@ namespace lyx { class InsetMathFracBase : public InsetMathNest { public: /// - explicit InsetMathFracBase(idx_type ncells = 2); + InsetMathFracBase(Buffer * buf, idx_type ncells = 2); /// bool idxUpDown(Cursor &, bool up) const; /// bool idxBackward(Cursor &) const { return false; } /// bool idxForward(Cursor &) const { return false; } + /// + InsetMathFracBase * asFracBaseInset() { return this; } + /// + InsetMathFracBase const * asFracBaseInset() const { return this; } }; @@ -41,6 +45,8 @@ public: enum Kind { FRAC, CFRAC, + CFRACLEFT, + CFRACRIGHT, DFRAC, TFRAC, OVER, @@ -50,12 +56,14 @@ public: UNIT }; /// - explicit InsetMathFrac(Kind kind = FRAC, idx_type ncells = 2); + explicit InsetMathFrac(Buffer * buf, Kind kind = FRAC, idx_type ncells = 2); /// bool idxForward(Cursor &) const; /// bool idxBackward(Cursor &) const; /// + MathClass mathClass() const; + /// void metrics(MetricsInfo & mi, Dimension & dim) const; /// void draw(PainterInfo &, int x, int y) const; @@ -82,8 +90,13 @@ public: /// void mathmlize(MathStream &) const; /// + void htmlize(HtmlStream &) const; + /// void validate(LaTeXFeatures & features) const; -public: +private: + /// vertical displacement + int dy(FontInfo & fi) const; + /// Inset * clone() const; /// Kind kind_; @@ -104,11 +117,13 @@ public: BRACK }; /// - explicit InsetMathBinom(Kind kind = BINOM); + explicit InsetMathBinom(Buffer * buf, Kind kind = BINOM); /// void write(WriteStream & os) const; /// void normalize(NormalStream &) const; + /// Generalized fractions are of inner class (see The TeXbook, p.292) + MathClass mathClass() const { return MC_INNER; } /// void metrics(MetricsInfo & mi, Dimension & dim) const; /// @@ -121,7 +136,11 @@ public: /// void mathmlize(MathStream &) const; /// + void htmlize(HtmlStream &) const; + /// void validate(LaTeXFeatures & features) const; + /// + InsetCode lyxCode() const { return MATH_FRAC_CODE; } private: Inset * clone() const; ///