3 * \file InsetMathSqrt.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Alejandro Aguilar Sierra
10 * Full author contact details are available in file CREDITS.
13 #ifndef MATH_SQRTINSET_H
14 #define MATH_SQRTINSET_H
16 #include "InsetMathNest.h"
22 /// \c InsetMathSqrt The square root inset.
23 class InsetMathSqrt : public InsetMathNest {
26 explicit InsetMathSqrt(Buffer * buf);
28 void draw(PainterInfo &, int x, int y) const override;
30 void metrics(MetricsInfo & mi, Dimension & dim) const override;
32 void drawT(TextPainter &, int x, int y) const override;
34 void metricsT(TextMetricsInfo const & mi, Dimension & dim) const override;
37 void write(TeXMathStream & os) const override;
39 void normalize(NormalStream &) const override;
41 void maple(MapleStream &) const override;
43 void mathematica(MathematicaStream &) const override;
45 void octave(OctaveStream &) const override;
47 void mathmlize(MathMLStream &) const override;
49 void htmlize(HtmlStream &) const override;
51 InsetCode lyxCode() const override { return MATH_SQRT_CODE; }
53 void validate(LaTeXFeatures &) const override;
56 Inset * clone() const override;