3 * \file math_unknowninset.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_UNKNOWNINSET_H
13 #define MATH_UNKNOWNINSET_H
15 #include "math_diminset.h"
17 /// Unknowntions or LaTeX names for objects that we really don't know
18 class MathUnknownInset : public MathDimInset {
21 explicit MathUnknownInset(string const & name,
22 bool final = true, bool black = false);
24 virtual std::auto_ptr<InsetBase> clone() const;
26 void metrics(MetricsInfo & mi, Dimension & dim) const;
28 void draw(PainterInfo & pi, int x, int y) const;
30 void setName(string const & name);
33 /// identifies UnknownInsets
34 MathUnknownInset const * asUnknownInset() const { return this; }
35 /// identifies UnknownInsets
36 MathUnknownInset * asUnknownInset() { return this; }
38 bool match(MathAtom const & at) const;
41 void normalize(NormalStream &) const;
43 void maple(MapleStream &) const;
45 void mathematica(MathematicaStream &) const;
47 void mathmlize(MathMLStream &) const;
49 void octave(OctaveStream &) const;
57 /// are we finished creating the name?