mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 10:00:33 +00:00
Herbert's space.diff patch for neg*space support.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4984 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
51e4d793ed
commit
1181da4a5d
@ -89,12 +89,14 @@ vref ref none
|
||||
# spaces
|
||||
lyxnegspace space none
|
||||
lyxposspace space none
|
||||
qquad space none
|
||||
quad space none
|
||||
! space none
|
||||
negmedspace space none
|
||||
negthickspace space none
|
||||
, space none
|
||||
: space none
|
||||
; space none
|
||||
! space none
|
||||
quad space none
|
||||
qquad space none
|
||||
|
||||
# styles
|
||||
displaystyle style 0
|
||||
|
@ -7,14 +7,16 @@
|
||||
#include "LColor.h"
|
||||
#include "frontends/Painter.h"
|
||||
#include "math_mathmlstream.h"
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
|
||||
char const * latex_mathspace[] = {
|
||||
"!", ",", ":", ";", "quad", "qquad", "lyxnegspace", "lyxposspace"
|
||||
"!", "negmedspace", "negthickspace", // negative space
|
||||
",", ":", ";", "quad", "qquad", // positive space
|
||||
"lyxnegspace", "lyxposspace" // LyX special ("unvisible space")
|
||||
};
|
||||
|
||||
|
||||
int const nSpace = sizeof(latex_mathspace)/sizeof(char *);
|
||||
|
||||
|
||||
MathSpaceInset::MathSpaceInset(int sp)
|
||||
@ -25,7 +27,7 @@ MathSpaceInset::MathSpaceInset(int sp)
|
||||
MathSpaceInset::MathSpaceInset(string const & name)
|
||||
: space_(1)
|
||||
{
|
||||
for (int i = 0; i < 8; ++i)
|
||||
for (int i = 0; i < nSpace; ++i)
|
||||
if (latex_mathspace[i] == name)
|
||||
space_ = i;
|
||||
}
|
||||
@ -42,43 +44,45 @@ void MathSpaceInset::metrics(MathMetricsInfo &) const
|
||||
{
|
||||
switch (space_) {
|
||||
case 0: dim_.w = 6; break;
|
||||
case 1: dim_.w = 6; break;
|
||||
case 2: dim_.w = 8; break;
|
||||
case 3: dim_.w = 10; break;
|
||||
case 4: dim_.w = 20; break;
|
||||
case 5: dim_.w = 40; break;
|
||||
case 6: dim_.w = -2; break;
|
||||
case 7: dim_.w = 2; break;
|
||||
default: dim_.w = 6; break;
|
||||
case 1: dim_.w = 8; break;
|
||||
case 2: dim_.w = 10; break;
|
||||
case 3: dim_.w = 6; break;
|
||||
case 4: dim_.w = 8; break;
|
||||
case 5: dim_.w = 10; break;
|
||||
case 6: dim_.w = 20; break;
|
||||
case 7: dim_.w = 40; break;
|
||||
case 8: dim_.w = -2; break;
|
||||
case 9: dim_.w = 2; break;
|
||||
default: dim_.w = 6;
|
||||
}
|
||||
dim_.a = 4;
|
||||
dim_.a = 4;
|
||||
dim_.d = 0;
|
||||
}
|
||||
|
||||
|
||||
void MathSpaceInset::draw(MathPainterInfo & pain, int x, int y) const
|
||||
void MathSpaceInset::draw(MathPainterInfo & 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_ >= 6)
|
||||
if (space_ >= nSpace - 2)
|
||||
return;
|
||||
|
||||
int xp[4];
|
||||
int yp[4];
|
||||
|
||||
xp[0] = ++x; yp[0] = y - 3;
|
||||
xp[1] = x; yp[1] = y;
|
||||
xp[1] = x; yp[1] = y;
|
||||
xp[2] = x + width() - 2; yp[2] = y;
|
||||
xp[3] = x + width() - 2; yp[3] = y - 3;
|
||||
|
||||
pain.pain.lines(xp, yp, 4, space_ ? LColor::latex : LColor::math);
|
||||
pi.pain.lines(xp, yp, 4, (space_ < 3) ? LColor::latex : LColor::math);
|
||||
}
|
||||
|
||||
|
||||
void MathSpaceInset::incSpace()
|
||||
{
|
||||
space_ = (space_ + 1) % 6;
|
||||
space_ = (space_ + 1) % (nSpace - 2);
|
||||
}
|
||||
|
||||
|
||||
@ -107,6 +111,6 @@ void MathSpaceInset::normalize(NormalStream & os) const
|
||||
|
||||
void MathSpaceInset::write(WriteStream & os) const
|
||||
{
|
||||
if (space_ >= 0 && space_ < 8)
|
||||
if (space_ >= 0 && space_ < nSpace)
|
||||
os << '\\' << latex_mathspace[space_] << ' ';
|
||||
}
|
||||
|
@ -24,9 +24,9 @@ public:
|
||||
///
|
||||
void incSpace();
|
||||
///
|
||||
void metrics(MathMetricsInfo & st) const;
|
||||
void metrics(MathMetricsInfo & mi) const;
|
||||
///
|
||||
void draw(MathPainterInfo &, int x, int y) const;
|
||||
void draw(MathPainterInfo & pi, int x, int y) const;
|
||||
|
||||
///
|
||||
void normalize(NormalStream &) const;
|
||||
|
Loading…
Reference in New Issue
Block a user