X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_exfuncinset.C;h=0238540a821183d8212424758035a9b11a644928;hb=c649284611c4198c9d70be8a16d153cdf1ec0700;hp=162792e320cc1d84db60853bcc8e91aec41626dd;hpb=2dd919eeb86cdb58eb62208d634c0d6e3c9956f5;p=lyx.git diff --git a/src/mathed/math_exfuncinset.C b/src/mathed/math_exfuncinset.C index 162792e320..0238540a82 100644 --- a/src/mathed/math_exfuncinset.C +++ b/src/mathed/math_exfuncinset.C @@ -1,10 +1,9 @@ -#include "math_exfuncinset.h" -#include "support.h" -#include "debug.h" -#include "support/LOstream.h" - +#include -using std::ostream; +#include "math_exfuncinset.h" +#include "math_support.h" +#include "math_mathmlstream.h" +#include "math_streamstr.h" MathExFuncInset::MathExFuncInset(string const & name) @@ -12,44 +11,56 @@ MathExFuncInset::MathExFuncInset(string const & name) {} +MathExFuncInset::MathExFuncInset(string const & name, MathArray const & ar) + : MathNestInset(1), name_(name) +{ + cell(0) = ar; +} + + MathInset * MathExFuncInset::clone() const { return new MathExFuncInset(*this); } -void MathExFuncInset::write(MathWriteInfo & os) const +void MathExFuncInset::metrics(MathMetricsInfo & mi) const { - os << '\\' << name_ << '{'; - cell(0).write(os); - os << '}'; + mathed_string_dim(mi.base.font, name_, ascent_, descent_, width_); } -void MathExFuncInset::writeNormal(ostream & os) const +void MathExFuncInset::draw(MathPainterInfo & pi, int x, int y) const { - os << "[" << name_ << ' '; - cell(0).writeNormal(os); - os << "] "; + drawStrBlack(pi, x, y, name_); } -void MathExFuncInset::metrics(MathMetricsInfo const & mi) const +void MathExFuncInset::normalize(NormalStream & os) const { - mi_ = mi; - mathed_string_dim(LM_TC_TEXTRM, mi_, name_, ascent_, descent_, width_); - lyxerr << "should not happen\n"; + os << '[' << name_ << ' ' << cell(0) << ']'; } -void MathExFuncInset::draw(Painter & pain, int x, int y) const -{ - drawStr(pain, LM_TC_TEXTRM, mi_, x, y, name_); - lyxerr << "should not happen\n"; +void MathExFuncInset::maplize(MapleStream & os) const +{ + os << name_ << '(' << cell(0) << ')'; +} + + +void MathExFuncInset::mathmlize(MathMLStream & os) const +{ + os << MTag(name_.c_str()) << cell(0) << ETag(name_.c_str()); +} + + +void MathExFuncInset::octavize(OctaveStream & os) const +{ + os << name_ << '(' << cell(0) << ')'; } -string MathExFuncInset::octavize() const +void MathExFuncInset::write(WriteStream & os) const { - return name_ + '(' + cell(0).octavize() + ')'; + os << '\\' << name_ << '{' << cell(0) << '}'; }