3 * \file math_stringinset.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
12 #ifndef MATH_STRINGINSET_H
13 #define MATH_STRINGINSET_H
15 #include "math_inset.h"
18 /** Some collection of chars with similar properties
19 * mainly for math-extern
22 class MathStringInset : public MathInset {
25 explicit MathStringInset(std::string const & s);
27 void metrics(MetricsInfo & mi, Dimension & dim) const;
29 void draw(PainterInfo & pi, int x, int y) const;
31 std::string str() const { return str_; }
33 MathStringInset * asStringInset() { return this; }
36 void normalize(NormalStream &) const;
38 void octave(OctaveStream &) const;
40 void maple(MapleStream &) const;
42 void mathematica(MathematicaStream &) const;
44 void mathmlize(MathMLStream &) const;
46 void write(WriteStream & os) const;
49 virtual std::auto_ptr<InsetBase> doClone() const;