]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_spaceinset.C
mathed95.diff
[lyx.git] / src / mathed / math_spaceinset.C
index c7561ccda3b6ada54b1610ea99870f2f50a8c5a8..b53d0ed491224fe009440354cd9099c1ec102cbb 100644 (file)
@@ -1,41 +1,28 @@
 #include <config.h>
 
+#ifdef __GNUG__
+#pragma implementation
+#endif
+
 #include "math_spaceinset.h"
 #include "LColor.h"
 #include "Painter.h"
 #include "mathed/support.h"
+#include "support/LOstream.h"
 
 
-void MathSpaceInset::Metrics()
-{
-       width = space ? space * 2 : 2;
-       if (space > 3) width *= 2;
-       if (space == 5) width *= 2;
-       width += 4;
-       ascent = 4; descent = 0;
-}
-
-
-void MathSpaceInset::SetSpace(int sp)
-{ 
-       space = sp;
-       Metrics();
-}
-
-
-MathSpaceInset::MathSpaceInset(int sp, short ot, short st)
-       : MathedInset("", ot, st), space(sp)
+MathSpaceInset::MathSpaceInset(int sp, MathInsetTypes ot)
+       : MathInset("", ot), space_(sp)
 {}
 
 
-MathedInset * MathSpaceInset::Clone()
+MathInset * MathSpaceInset::clone() const
 {
-       return new MathSpaceInset(space, GetType(), GetStyle());
+       return new MathSpaceInset(*this);
 }
 
 
-void
-MathSpaceInset::draw(Painter & pain, int x, int y)
+void MathSpaceInset::draw(Painter & pain, int x, int y)
 { 
        
 // XPoint p[4] = {{++x, y-3}, {x, y}, {x+width-2, y}, {x+width-2, y-3}};
@@ -45,25 +32,51 @@ MathSpaceInset::draw(Painter & pain, int x, int y)
        int xp[4];
        int yp[4];
        
-       xp[0] = ++x;            yp[0] = y - 3;
-       xp[1] = x;                 yp[1] = y;
-       xp[2] = x + width - 2;  yp[2] = y;
-       xp[3] = x + width - 2;  yp[3] = y - 3;
+       xp[0] = ++x;             yp[0] = y - 3;
+       xp[1] = x;                   yp[1] = y;
+       xp[2] = x + width_ - 2;  yp[2] = y;
+       xp[3] = x + width_ - 2;  yp[3] = y - 3;
        
-       pain.lines(xp, yp, 4, (space) ? LColor::latex : LColor::math);
+       pain.lines(xp, yp, 4, (space_) ? LColor::latex : LColor::math);
 }
 
 
-void
-MathSpaceInset::Write(ostream & os, bool /* fragile */)
+void MathSpaceInset::Write(std::ostream & os, bool /* fragile */) const
 {
-   if (space >= 0 && space < 6) {
-          os << '\\' << latex_mathspace[space] << ' ';
-   }
+       if (space_ >= 0 && space_ < 6) {
+               os << '\\' << latex_mathspace[space_] << ' ';
+       }
+}
+
+
+void MathSpaceInset::WriteNormal(std::ostream & os) const
+{
+       os << "[space " << space_ << "] ";
+}
+
+
+void MathSpaceInset::Metrics(MathStyles st)
+{
+       size_ = st;
+       width_ = space_ ? space_ * 2 : 2;
+       if (space_ > 3)
+               width_ *= 2;
+       if (space_ == 5)
+               width_ *= 2;
+       width_ += 4;
+       ascent_ = 4;
+       descent_ = 0;
+}
+
+
+void MathSpaceInset::SetSpace(int sp)
+{ 
+       space_ = sp;
+       Metrics(size_);
 }
 
 
 int MathSpaceInset::GetSpace()
 {
-       return space;
+       return space_;
 }