3 * \file InsetMathUnknown.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 "InsetMath.h"
20 /// LaTeX names for objects that we really don't know
21 class InsetMathUnknown : public InsetMath {
24 explicit InsetMathUnknown(docstring const & name,
25 docstring const & selection = empty_docstring(),
26 bool final = true, bool black = false);
28 void metrics(MetricsInfo & mi, Dimension & dim) const override;
30 void draw(PainterInfo & pi, int x, int y) const override;
32 void setName(docstring const & name);
34 docstring name() const override;
37 docstring const & selection() const { return selection_; }
39 /// identifies UnknownInsets
40 InsetMathUnknown const * asUnknownInset() const override { return this; }
41 /// identifies UnknownInsets
42 InsetMathUnknown * asUnknownInset() override { return this; }
45 void normalize(NormalStream &) const override;
47 void maple(MapleStream &) const override;
49 void mathematica(MathematicaStream &) const override;
51 void mathmlize(MathMLStream &) const override;
53 void htmlize(HtmlStream &) const override;
55 void octave(OctaveStream &) const override;
61 int kerning(BufferView const *) const override { return kerning_; }
63 InsetCode lyxCode() const override { return MATH_UNKNOWN_CODE; }
67 Inset * clone() const override { return new InsetMathUnknown(*this); }
71 /// are we finished creating the name?
77 /// the selection which was replaced by this