and MathSpaceInset...

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8638 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
André Pönitz 2004-04-08 15:55:50 +00:00
parent 00b1adcbbe
commit fe92f675ae
2 changed files with 45 additions and 21 deletions

View File

@ -51,41 +51,59 @@ auto_ptr<InsetBase> MathSpaceInset::clone() const
}
void MathSpaceInset::metrics(MetricsInfo &, Dimension & dim) const
int MathSpaceInset::width() const
{
switch (space_) {
case 0: dim.wid = 6; break;
case 1: dim.wid = 8; break;
case 2: dim.wid = 10; break;
case 3: dim.wid = 6; break;
case 4: dim.wid = 8; break;
case 5: dim.wid = 10; break;
case 6: dim.wid = 20; break;
case 7: dim.wid = 40; break;
case 8: dim.wid = -2; break;
case 9: dim.wid = 2; break;
default: dim.wid = 6;
case 0: return 6;
case 1: return 8;
case 2: return 10;
case 3: return 6;
case 4: return 8;
case 5: return 10;
case 6: return 20;
case 7: return 40;
case 8: return -2;
case 9: return 2;
default: return 6;
}
dim.asc = 4;
dim.des = 0;
}
int MathSpaceInset::ascent() const
{
return 4;
}
int MathSpaceInset::descent() const
{
return 0;
}
void MathSpaceInset::metrics(MetricsInfo &, Dimension & dim) const
{
dim.wid = width();
dim.asc = ascent();
dim.des = descent();
}
void MathSpaceInset::draw(PainterInfo & pi, int x, int y) const
{
// Sadly, HP-UX CC can't handle that kind of initialization.
// XPoint p[4] = {{++x, y-3}, {x, y}, {x+width-2, y}, {x+width-2, y-3}};
// Sadly, HP-UX CC can't handle that kind of initialization.
// XPoint p[4] = {{++x, y-3}, {x, y}, {x+width-2, y}, {x+width-2, y-3}};
if (space_ >= nSpace - 2)
return;
int xp[4];
int yp[4];
int w = width();
xp[0] = ++x; yp[0] = y - 3;
xp[1] = x; yp[1] = y;
xp[2] = x + pi.width - 2; yp[2] = y;
xp[3] = x + pi.width - 2; yp[3] = y - 3;
xp[0] = ++x; yp[0] = y - 3;
xp[1] = x; yp[1] = y;
xp[2] = x + w - 2; yp[2] = y;
xp[3] = x + w - 2; yp[3] = y - 3;
pi.pain.lines(xp, yp, 4, (space_ < 3) ? LColor::latex : LColor::math);
}

View File

@ -31,6 +31,12 @@ public:
///
void incSpace();
///
int ascent() const;
///
int descent() const;
///
int width() const;
///
void metrics(MetricsInfo & mi, Dimension & dim) const;
///
void draw(PainterInfo & pi, int x, int y) const;