mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-07 12:32:26 +00:00
InsetMathFrac.cpp: some code optimization
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29133 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
48236d215c
commit
23f9e34a08
@ -157,38 +157,24 @@ void InsetMathFrac::metrics(MetricsInfo & mi, Dimension & dim) const
|
||||
dim.wid = dim0.width() + dim1.wid + 5;
|
||||
dim.asc = dim0.height() + 5;
|
||||
dim.des = dim1.height() - 5;
|
||||
} else if (kind_ == CFRAC || kind_ == CFRACLEFT
|
||||
|| kind_ == CFRACRIGHT) {
|
||||
// cfrac is always in display size
|
||||
StyleChanger dummy2(mi.base, LM_ST_DISPLAY);
|
||||
cell(0).metrics(mi, dim0);
|
||||
cell(1).metrics(mi, dim1);
|
||||
dim.wid = max(dim0.wid, dim1.wid) + 2;
|
||||
dim.asc = dim0.height() + 2 + 5;
|
||||
dim.des = dim1.height() + 2 - 5;
|
||||
} else if (kind_ == UNITFRAC) {
|
||||
ShapeChanger dummy2(mi.base.font, UP_SHAPE);
|
||||
dim.wid = dim0.width() + dim1.wid + 5;
|
||||
dim.asc = dim0.height() + 5;
|
||||
dim.des = dim1.height() - 5;
|
||||
} else if (kind_ == DFRAC) {
|
||||
// dfrac is in always in display size
|
||||
} else {
|
||||
if (kind_ == CFRAC || kind_ == CFRACLEFT
|
||||
|| kind_ == CFRACRIGHT || kind_ == DFRAC) {
|
||||
// \cfrac and \dfrac are in always in display size
|
||||
StyleChanger dummy2(mi.base, LM_ST_DISPLAY);
|
||||
cell(0).metrics(mi, dim0);
|
||||
cell(1).metrics(mi, dim1);
|
||||
dim.wid = max(dim0.wid, dim1.wid) + 2;
|
||||
dim.asc = dim0.height() + 2 + 5;
|
||||
dim.des = dim1.height() + 2 - 5;
|
||||
} else if (kind_ == TFRAC) {
|
||||
// tfrac is in always in text size
|
||||
StyleChanger dummy2(mi.base, LM_ST_SCRIPT);
|
||||
cell(0).metrics(mi, dim0);
|
||||
cell(1).metrics(mi, dim1);
|
||||
dim.wid = max(dim0.wid, dim1.wid) + 2;
|
||||
dim.asc = dim0.height() + 2 + 5;
|
||||
dim.des = dim1.height() + 2 - 5;
|
||||
} else {
|
||||
// FRAC
|
||||
}
|
||||
dim.wid = max(dim0.wid, dim1.wid) + 2;
|
||||
dim.asc = dim0.height() + 2 + 5;
|
||||
dim.des = dim1.height() + 2 - 5;
|
||||
@ -227,6 +213,7 @@ void InsetMathFrac::draw(PainterInfo & pi, int x, int y) const
|
||||
} else {
|
||||
FracChanger dummy(pi.base);
|
||||
Dimension const dim1 = cell(1).dimension(*pi.base.bv);
|
||||
int m = x + dim.wid / 2;
|
||||
if (kind_ == NICEFRAC) {
|
||||
cell(0).draw(pi, x + 2,
|
||||
y - dim0.des - 5);
|
||||
@ -234,18 +221,20 @@ void InsetMathFrac::draw(PainterInfo & pi, int x, int y) const
|
||||
y + dim1.asc / 2);
|
||||
} else if (kind_ == UNITFRAC) {
|
||||
ShapeChanger dummy2(pi.base.font, UP_SHAPE);
|
||||
cell(0).draw(pi, x + 2,
|
||||
y - dim0.des - 5);
|
||||
cell(1).draw(pi, x + dim0.width() + 5,
|
||||
y + dim1.asc / 2);
|
||||
} else if (kind_ == CFRAC || kind_ == CFRACLEFT
|
||||
|| kind_ == CFRACRIGHT) {
|
||||
// cfrac is always in display size
|
||||
cell(0).draw(pi, x + 2, y - dim0.des - 5);
|
||||
cell(1).draw(pi, x + dim0.width() + 5, y + dim1.asc / 2);
|
||||
} else if (kind_ == FRAC) {
|
||||
cell(0).draw(pi, m - dim0.wid / 2, y - dim0.des - 2 - 5);
|
||||
cell(1).draw(pi, m - dim1.wid / 2, y + dim1.asc + 2 - 5);
|
||||
} else if (kind_ == TFRAC) {
|
||||
// tfrac is in always in text size
|
||||
StyleChanger dummy2(pi.base, LM_ST_SCRIPT);
|
||||
cell(0).draw(pi, m - dim0.wid / 2, y - dim0.des - 2 - 5);
|
||||
cell(1).draw(pi, m - dim1.wid / 2, y + dim1.asc + 2 - 5);
|
||||
} else {
|
||||
// \cfrac and \dfrac are always in display size
|
||||
StyleChanger dummy2(pi.base, LM_ST_DISPLAY);
|
||||
Dimension const dim0 = cell(0).dimension(*pi.base.bv);
|
||||
Dimension const dim1 = cell(1).dimension(*pi.base.bv);
|
||||
int m = x + dim.wid / 2;
|
||||
if (kind_ == CFRAC)
|
||||
if (kind_ == CFRAC || kind_ == DFRAC)
|
||||
cell(0).draw(pi, m - dim0.wid / 2, y - dim0.des - 2 - 5);
|
||||
else if (kind_ == CFRACLEFT)
|
||||
cell(0).draw(pi, x + 2, y - dim0.des - 2 - 5);
|
||||
@ -253,27 +242,6 @@ void InsetMathFrac::draw(PainterInfo & pi, int x, int y) const
|
||||
cell(0).draw(pi, x + dim.wid - dim0.wid - 2,
|
||||
y - dim0.des - 2 - 5);
|
||||
cell(1).draw(pi, m - dim1.wid / 2, y + dim1.asc + 2 - 5);
|
||||
} else if (kind_ == DFRAC) {
|
||||
// dfrac is in always in display size
|
||||
StyleChanger dummy2(pi.base, LM_ST_DISPLAY);
|
||||
//Dimension const dim = dimension(*pi.base.bv);
|
||||
Dimension const dim0 = cell(0).dimension(*pi.base.bv);
|
||||
Dimension const dim1 = cell(1).dimension(*pi.base.bv);
|
||||
int m = x + dim.wid / 2;
|
||||
cell(0).draw(pi, m - dim0.wid / 2, y - dim0.des - 2 - 5);
|
||||
cell(1).draw(pi, m - dim1.wid / 2, y + dim1.asc + 2 - 5);
|
||||
} else if (kind_ == TFRAC) {
|
||||
// tfrac is in always in text size
|
||||
StyleChanger dummy2(pi.base, LM_ST_SCRIPT);
|
||||
Dimension const dim0 = cell(0).dimension(*pi.base.bv);
|
||||
Dimension const dim1 = cell(1).dimension(*pi.base.bv);
|
||||
int m = x + dim.wid / 2;
|
||||
cell(0).draw(pi, m - dim0.wid / 2, y - dim0.des - 2 - 5);
|
||||
cell(1).draw(pi, m - dim1.wid / 2, y + dim1.asc + 2 - 5);
|
||||
} else {
|
||||
// FRAC
|
||||
cell(0).draw(pi, m - dim0.wid / 2, y - dim0.des - 2 - 5);
|
||||
cell(1).draw(pi, m - dim1.wid / 2, y + dim1.asc + 2 - 5);
|
||||
}
|
||||
}
|
||||
if (kind_ == NICEFRAC || kind_ == UNITFRAC) {
|
||||
|
Loading…
Reference in New Issue
Block a user