From fe92f675ae248c2fc48303fea8d97b1b7e50ef3b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andr=C3=A9=20P=C3=B6nitz?= Date: Thu, 8 Apr 2004 15:55:50 +0000 Subject: [PATCH] and MathSpaceInset... git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8638 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/mathed/math_spaceinset.C | 60 +++++++++++++++++++++++------------- src/mathed/math_spaceinset.h | 6 ++++ 2 files changed, 45 insertions(+), 21 deletions(-) diff --git a/src/mathed/math_spaceinset.C b/src/mathed/math_spaceinset.C index c7bf710fd7..0e8b7161aa 100644 --- a/src/mathed/math_spaceinset.C +++ b/src/mathed/math_spaceinset.C @@ -51,41 +51,59 @@ auto_ptr 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; } -void MathSpaceInset::draw(PainterInfo & pi, int x, int y) const +int MathSpaceInset::ascent() const +{ + return 4; +} + + +int MathSpaceInset::descent() const { + return 0; +} + -// 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}}; +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}}; 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); } diff --git a/src/mathed/math_spaceinset.h b/src/mathed/math_spaceinset.h index 00dd1a8018..d43d384a5f 100644 --- a/src/mathed/math_spaceinset.h +++ b/src/mathed/math_spaceinset.h @@ -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; -- 2.39.5