#include "math_textinset.h"
+#include "math_metricsinfo.h"
#include "debug.h"
MathInset::idx_type MathTextInset::pos2row(pos_type pos) const
{
- for (pos_type r = 0, n = cache_.nargs(); r < n; ++r)
+ for (pos_type r = 0, n = cache_.nargs(); r < n; ++r)
if (pos >= cache_.cellinfo_[r].begin_ && pos <= cache_.cellinfo_[r].end_)
return r;
lyxerr << "illegal row for pos " << pos << "\n";
void MathTextInset::getPos(idx_type, pos_type pos, int & x, int & y) const
{
idx_type const i = pos2row(pos);
- pos_type const p = pos - cache_.cellinfo_[i].begin_;
+ pos_type const p = pos - cache_.cellinfo_[i].begin_;
cache_.getPos(i, p, x, y);
}
bool MathTextInset::idxUpDown(idx_type &, pos_type & pos, bool up,
- int targetx) const
+ int /*targetx*/) const
{
// try to move only one screen row up or down if possible
idx_type i = pos2row(pos);
return false;
}
MathGridInset::CellInfo const & cell2 = cache_.cellinfo_[i];
- pos = xcell(0).x2pos(cell2.begin_, x, cell2.glue_);
+ pos = cell(0).x2pos(cell2.begin_, x, cell2.glue_);
return true;
}
void MathTextInset::metrics(MathMetricsInfo & mi) const
{
- xcell(0).metrics(mi);
+ cell(0).metrics(mi);
// we do our own metrics fiddling
// delete old cache
// This is a regular char. Go on if we either don't care for
// the width limit or have not reached that limit.
curr += cell(0)[i]->width();
- if (!mi.base.restrictwidth || curr + safe <= mi.base.textwidth)
+ if (!mi.base.restrictwidth || curr + safe <= mi.base.textwidth)
continue;
}
// We passed the limit. Create a row entry.
//lyxerr << "passed limit\n";
cache_.appendRow();
- MathXArray & ar = cache_.xcell(cache_.nargs() - 1);
+ MathArray & ar = cache_.cell(cache_.nargs() - 1);
MathGridInset::CellInfo & row = cache_.cellinfo_.back();
if (c == '\n') {
// we are here because we hit a hard newline
row.end_ = i + 1;
begin = i + 1;
}
- ar.data() =
- MathArray(cell(0).begin() + row.begin_, cell(0).begin() + row.end_);
+ ar = MathArray(cell(0).begin() + row.begin_, cell(0).begin() + row.end_);
//lyxerr << "line: " << ar << "\n";
// in any case, start the new row with empty boxes
curr = 0;
}
// last row: put in everything else
cache_.appendRow();
- MathXArray & ar = cache_.xcell(cache_.nargs() - 1);
+ MathArray & ar = cache_.cell(cache_.nargs() - 1);
MathGridInset::CellInfo & row = cache_.cellinfo_.back();
row.begin_ = begin;
row.end_ = cell(0).size();
- ar.data() =
- MathArray(cell(0).begin() + row.begin_, cell(0).begin() + row.end_);
+ ar = MathArray(cell(0).begin() + row.begin_, cell(0).begin() + row.end_);
//lyxerr << "last line: " << ar.data() << "\n";
// what to report?
void MathTextInset::drawSelection(MathPainterInfo & pi,
idx_type idx1, pos_type pos1, idx_type idx2, pos_type pos2) const
{
- cache_.drawSelection(pi, idx1, pos1, idx2, pos2);
+ cache_.drawSelection(pi, idx1, pos1, idx2, pos2);
}