* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author André Pönitz
+ * \author André Pönitz
*
* Full author contact details are available in file CREDITS.
*/
#include <config.h>
#include "InsetMathExFunc.h"
+
#include "MathData.h"
#include "MathStream.h"
-#include "MathStream.h"
#include "MathSupport.h"
+#include "MetricsInfo.h"
+#include "support/docstream.h"
-namespace lyx {
+using namespace std;
-using std::string;
+namespace lyx {
-InsetMathExFunc::InsetMathExFunc(docstring const & name)
- : InsetMathNest(1), name_(name)
+InsetMathExFunc::InsetMathExFunc(Buffer * buf, docstring const & name)
+ : InsetMathNest(buf, 1), name_(name)
{}
-InsetMathExFunc::InsetMathExFunc(docstring const & name, MathData const & ar)
- : InsetMathNest(1), name_(name)
+InsetMathExFunc::InsetMathExFunc(Buffer * buf, docstring const & name, MathData const & ar)
+ : InsetMathNest(buf, 1), name_(name)
{
cell(0) = ar;
}
}
-bool InsetMathExFunc::metrics(MetricsInfo & mi, Dimension & dim) const
+void InsetMathExFunc::metrics(MetricsInfo & mi, Dimension & dim) const
{
- mathed_string_dim(mi.base.font, name_, dim);
- if (dim_ == dim)
- return false;
- dim_ = dim;
- return true;
+ metricsStrRedBlack(mi, dim, name_);
}
}
-void InsetMathExFunc::mathmlize(MathStream & os) const
+void InsetMathExFunc::mathmlize(MathMLStream & ms) const
+{
+ ms << MTagInline("mi")
+ << name_
+ << ETagInline("mi")
+ << MTagInline("mo")
+ << "⁡"
+ << ETagInline("mo")
+ << cell(0);
+}
+
+
+void InsetMathExFunc::htmlize(HtmlStream & os) const
{
- os << MTag(name_.c_str()) << cell(0) << ETag(name_.c_str());
+ os << name_ << cell(0);
}