]> 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 04478bd0edb83e487534c7e20461a5bf33e607a5..70e8de37b84461572fb2635c48aec8adb9236952 100644 (file)
@@ -3,15 +3,12 @@
 #endif
 
 #include "math_dotsinset.h"
-#include "mathed/support.h"
-#include "mathed/math_parser.h"
-#include "support/LOstream.h"
+#include "math_mathmlstream.h"
+#include "math_support.h"
 
-using std::ostream;
 
-
-MathDotsInset::MathDotsInset(latexkeys const * key)
-       : key_(key)
+MathDotsInset::MathDotsInset(string const & name)
+       : name_(name)
 {}
 
 
@@ -23,35 +20,35 @@ MathInset * MathDotsInset::clone() const
 
 void MathDotsInset::draw(Painter & pain, int x, int y) const
 {
-       mathed_draw_deco(pain, x + 2, y - dh_, width_ - 2, ascent_, key_);
-       if (key_->id == LM_vdots || key_->id == 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 (key_->id != LM_vdots)
+       if (c != 'v')
                --y;
-       mathed_draw_deco(pain, x + 2, y - dh_, width_ - 2, ascent_, key_);
+       mathed_draw_deco(pain, x + 2, y - dh_, width_ - 2, ascent_, name_);
 }
 
 
-void MathDotsInset::metrics(MathStyles st) const
+void MathDotsInset::metrics(MathMetricsInfo const & mi) const
 {
-       size(st);
-       mathed_char_dim(LM_TC_VAR, size(), 'M', ascent_, descent_, width_);
-       switch (key_->id) {
-               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 << '\\' << key_->name << ' ';
+       os << '\\' << name_.c_str() << ' ';
 }
 
 
-void MathDotsInset::writeNormal(ostream & os) const
+void MathDotsInset::normalize(NormalStream & os) const
 {
-       os << "[" << key_->name << "] ";
+       os << "[" << name_.c_str() << "] ";
 }