X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_unknowninset.C;h=b7256c3d58e551822416ff2b12d8361aec1f0d1c;hb=c649284611c4198c9d70be8a16d153cdf1ec0700;hp=20e83eb96f55981c178cac46cb5187085fceee91;hpb=9921635d78cc2c1c304584dc8d18a7e83488ed1b;p=lyx.git diff --git a/src/mathed/math_unknowninset.C b/src/mathed/math_unknowninset.C index 20e83eb96f..b7256c3d58 100644 --- a/src/mathed/math_unknowninset.C +++ b/src/mathed/math_unknowninset.C @@ -1,20 +1,17 @@ +#include + #ifdef __GNUG__ #pragma implementation #endif #include "math_unknowninset.h" -#include "font.h" -#include "Painter.h" #include "math_support.h" #include "math_mathmlstream.h" +#include "math_streamstr.h" - -extern LyXFont WhichFont(short type, int size); - - -MathUnknownInset::MathUnknownInset(string const & nm) - : name_(nm) +MathUnknownInset::MathUnknownInset(string const & nm, bool final, bool black) + : name_(nm), final_(final), black_(black) {} @@ -30,50 +27,71 @@ string const & MathUnknownInset::name() const } -void MathUnknownInset::setName(string const & n) +string & MathUnknownInset::name() +{ + return name_; +} + + +bool MathUnknownInset::match(MathInset * p) const { - name_ = n; + MathUnknownInset const * q = p->asUnknownInset(); + return q && name_ == q->name_; } void MathUnknownInset::write(WriteStream & os) const { - os << "\\" << name_.c_str() << ' '; + os << "\\" << name_ << ' '; } void MathUnknownInset::normalize(NormalStream & os) const { - os << "[func " << name_.c_str() << ']'; + os << "[unknown " << name_ << ']'; } -void MathUnknownInset::metrics(MathMetricsInfo const & mi) const +void MathUnknownInset::metrics(MathMetricsInfo & mi) const { - mi_ = mi; - mathed_string_dim(LM_TC_TEX, mi_, name_, ascent_, descent_, width_); + mathed_string_dim(mi.base.font, name_, ascent_, descent_, width_); } -void MathUnknownInset::draw(Painter & pain, int x, int y) const -{ - drawStr(pain, LM_TC_TEX, mi_, x, y, name_); +void MathUnknownInset::draw(MathPainterInfo & pi, int x, int y) const +{ + if (black_) + drawStrBlack(pi, x, y, name_); + else + drawStrRed(pi, x, y, name_); +} + + +void MathUnknownInset::finalize() +{ + final_ = true; +} + + +bool MathUnknownInset::final() const +{ + return final_; } void MathUnknownInset::maplize(MapleStream & os) const { - os << name_.c_str(); + os << name_; } void MathUnknownInset::mathmlize(MathMLStream & os) const { - os << MTag("mi") << name_.c_str() << ETag("mi"); + os << MTag("mi") << name_ << ETag("mi"); } void MathUnknownInset::octavize(OctaveStream & os) const { - os << name_.c_str(); + os << name_; }