]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_dotsinset.C
some support for matrix operations with maple ('M-x math-extern maple evalm')
[lyx.git] / src / mathed / math_dotsinset.C
index 7054cde4bf2bf0e2a41a090294673a52cbbfd9cf..70e8de37b84461572fb2635c48aec8adb9236952 100644 (file)
@@ -3,14 +3,12 @@
 #endif
 
 #include "math_dotsinset.h"
-#include "mathed/support.h"
-#include "support/LOstream.h"
+#include "math_mathmlstream.h"
+#include "math_support.h"
 
-using std::ostream;
 
-
-MathDotsInset::MathDotsInset(string const & name, int id)
-       : MathInset(0, name), code_(id)
+MathDotsInset::MathDotsInset(string const & name)
+       : name_(name)
 {}
 
 
@@ -20,37 +18,37 @@ MathInset * MathDotsInset::clone() const
 }     
 
 
-void MathDotsInset::draw(Painter & pain, int x, int y)
+void MathDotsInset::draw(Painter & pain, int x, int y) const
 {
-       mathed_draw_deco(pain, x + 2, y - dh_, width_ - 2, ascent_, code_);
-       if (code_ == LM_vdots || code_ == LM_ddots)
+       mathed_draw_deco(pain, x + 2, y - dh_, width_ - 2, ascent_, name_);
+       char const c = name_[0];
+       if (c == 'v' || c == 'd')
                ++x;
-       if (code_ != LM_vdots)
+       if (c != 'v')
                --y;
-       mathed_draw_deco(pain, x + 2, y - dh_, width_ - 2, ascent_, code_);
+       mathed_draw_deco(pain, x + 2, y - dh_, width_ - 2, ascent_, name_);
 }
 
 
-void MathDotsInset::Metrics(MathStyles st, int, int)
+void MathDotsInset::metrics(MathMetricsInfo const & mi) const
 {
-       size(st);
-       mathed_char_dim(LM_TC_VAR, size(), 'M', ascent_, descent_, width_);
-       switch (code_) {
-               case LM_ldots: dh_ = 0; break;
-               case LM_cdots: dh_ = ascent_/2; break;
-               case LM_vdots: width_ /= 2;
-               case LM_ddots: dh_ = ascent_; break;
+       mathed_char_dim(LM_TC_VAR, mi, 'M', ascent_, descent_, width_);
+       switch (name_[0]) {
+               case 'l': dh_ = 0; break;
+               case 'c': dh_ = ascent_ / 2; break;
+               case 'v': width_ /= 2;
+               case 'd': dh_ = ascent_; break;
        }
 } 
 
 
-void MathDotsInset::Write(ostream & os, bool /* fragile */) const
+void MathDotsInset::write(WriteStream & os) const
 {
-       os << '\\' << name() << ' ';
+       os << '\\' << name_.c_str() << ' ';
 }
 
 
-void MathDotsInset::WriteNormal(ostream & os) const
+void MathDotsInset::normalize(NormalStream & os) const
 {
-       os << "[" << name() << "] ";
+       os << "[" << name_.c_str() << "] ";
 }