+ ///
+ enum Kind {
+ BINOM,
+ DBINOM,
+ TBINOM,
+ CHOOSE,
+ BRACE,
+ BRACK
+ };
+ ///
+ explicit InsetMathBinom(Buffer * buf, Kind kind = BINOM);
+ ///
+ void write(TeXMathStream & os) const override;
+ ///
+ void normalize(NormalStream &) const override;
+ /// Generalized fractions are of inner class (see The TeXbook, p.292)
+ MathClass mathClass() const override { return MC_INNER; }
+ ///
+ void metrics(MetricsInfo & mi, Dimension & dim) const override;
+ ///
+ void draw(PainterInfo &, int x, int y) const override;
+ ///
+ bool extraBraces() const override;
+ ///
+ void mathmlize(MathMLStream &) const override;
+ ///
+ void htmlize(HtmlStream &) const override;
+ ///
+ void validate(LaTeXFeatures & features) const override;
+ ///
+ InsetCode lyxCode() const override { return MATH_FRAC_CODE; }
+private:
+ Inset * clone() const override;
+ ///
+ int dw(int height) const;