Simplify InsetMathGrid structs

This commit is contained in:
Yuriy Skalko 2020-12-02 14:45:14 +02:00
parent 1dd676bed1
commit efaffb897d
2 changed files with 14 additions and 49 deletions

View File

@ -78,41 +78,15 @@ static void resetGrid(InsetMathGrid & grid)
} }
////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////
InsetMathGrid::CellInfo::CellInfo()
: multi(CELL_NORMAL)
{}
//////////////////////////////////////////////////////////////
InsetMathGrid::RowInfo::RowInfo()
: descent(0), ascent(0), lines(0), skip(0),
allow_newpage(true)
{}
int InsetMathGrid::RowInfo::skipPixels(MetricsInfo const & mi) const int InsetMathGrid::RowInfo::skipPixels(MetricsInfo const & mi) const
{ {
return mi.base.inPixels(crskip); return mi.base.inPixels(crskip);
} }
//////////////////////////////////////////////////////////////
InsetMathGrid::ColInfo::ColInfo()
: align('c'), width(0), offset(0), lines(0), skip(0)
{}
////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////

View File

@ -39,54 +39,45 @@ public:
}; };
/// additional per-cell information /// additional per-cell information
class CellInfo { struct CellInfo {
public:
///
CellInfo();
/// multicolumn flag /// multicolumn flag
Multicolumn multi; Multicolumn multi = CELL_NORMAL;
/// special multi columns alignment /// special multi columns alignment
docstring align; docstring align;
}; };
/// additional per-row information /// additional per-row information
class RowInfo { struct RowInfo {
public:
///
RowInfo();
/// ///
int skipPixels(MetricsInfo const & mi) const; int skipPixels(MetricsInfo const & mi) const;
/// cached descent /// cached descent
mutable int descent; mutable int descent = 0;
/// cached ascent /// cached ascent
mutable int ascent; mutable int ascent = 0;
/// cached offset for each bufferview /// cached offset for each bufferview
mutable std::map<BufferView const *, int> offset; mutable std::map<BufferView const *, int> offset;
/// how many hlines above this row? /// how many hlines above this row?
unsigned int lines; unsigned int lines = 0;
/// parameter to the line break /// parameter to the line break
Length crskip; Length crskip;
/// extra distance between lines /// extra distance between lines
int skip; int skip = 0;
/// Is a page break allowed after this row? /// Is a page break allowed after this row?
bool allow_newpage; bool allow_newpage = true;
}; };
// additional per-row information // additional per-row information
class ColInfo { struct ColInfo {
public:
///
ColInfo();
/// currently possible: 'l', 'c', 'r' /// currently possible: 'l', 'c', 'r'
char align; char align = 'c';
/// cached width /// cached width
mutable int width; mutable int width = 0;
/// cached offset /// cached offset
mutable int offset; mutable int offset = 0;
/// how many lines to the left of this column? /// how many lines to the left of this column?
unsigned int lines; unsigned int lines = 0;
/// additional amount to the right to be skipped when drawing /// additional amount to the right to be skipped when drawing
int skip; int skip = 0;
/// Special alignment. /// Special alignment.
/// This does also contain align_ and lines_ if it is nonempty. /// This does also contain align_ and lines_ if it is nonempty.
/// It needs to be in sync with align_ and lines_ because some /// It needs to be in sync with align_ and lines_ because some