// Top and bottom margin of the document (only at top-level)
if (text_->isMainText()) {
// original value was 20px, which is 0.2in at 100dpi
- int const margin = Length(0.2, Length::IN).inPixels(0);
+ int const margin = bv_->zoomedPixels(20);
if (pit == 0) {
pm.rows().front().dimension().asc += margin;
/* coverity thinks that we should update pm.dim().asc
// or the end of the par, then build a representation of the row.
pos_type i = pos;
FontIterator fi = FontIterator(*this, par, row.pit(), pos);
- while (i < end && row.width() <= width) {
+ while (i < end && (i == pos || row.width() <= width)) {
char_type c = par.getChar(i);
// The most special cases are handled first.
if (par.isInset(i)) {
if (prev != pit_type(pars.size())) {
asc += int(pars[prev].layout().parsep * dh);
} else if (pit != 0) {
- Paragraph const & prevpar = pars[pit - 1];
- if (prevpar.getDepth() != 0 || prevpar.layout() == layout)
+ Paragraph const & prevpar2 = pars[pit - 1];
+ if (prevpar2.getDepth() != 0 || prevpar2.layout() == layout)
asc += int(layout.parsep * dh);
}
maxasc = max(maxasc, cit->dim.ascent());
maxdes = max(maxdes, cit->dim.descent());
} else {
- FontMetrics const & fm = theFontMetrics(cit->font);
- maxasc = max(maxasc, int(fm.maxAscent() * spacing_val));
- maxdes = max(maxdes, int(fm.maxDescent() * spacing_val));
+ FontMetrics const & fm2 = theFontMetrics(cit->font);
+ maxasc = max(maxasc, int(fm2.maxAscent() * spacing_val));
+ maxdes = max(maxdes, int(fm2.maxDescent() * spacing_val));
}
}
LYXERR(Debug::DEBUG, "examining: pit: " << it->first
<< " y: " << it->second.position());
- ParagraphMetrics const & pm = par_metrics_[it->first];
+ ParagraphMetrics const & pm2 = par_metrics_[it->first];
- if (it->first >= pit && int(it->second.position()) - int(pm.ascent()) <= y) {
+ if (it->first >= pit && int(it->second.position()) - int(pm2.ascent()) <= y) {
pit = it->first;
yy = it->second.position();
}
int TextMetrics::cursorY(CursorSlice const & sl, bool boundary) const
{
//lyxerr << "TextMetrics::cursorY: boundary: " << boundary << endl;
- ParagraphMetrics const & pm = par_metrics_[sl.pit()];
+ ParagraphMetrics const & pm = parMetrics(sl.pit());
if (pm.rows().empty())
return 0;
int h = 0;
- h -= par_metrics_[0].rows()[0].ascent();
+ h -= parMetrics(0).rows()[0].ascent();
for (pit_type pit = 0; pit < sl.pit(); ++pit) {
- h += par_metrics_[pit].height();
+ h += parMetrics(pit).height();
}
int pos = sl.pos();
if (pos && boundary)
// has row changed since last paint?
bool row_has_changed = row.changed()
- || bv_->hadHorizScrollOffset(text_, pit, row.pos())
- || bv_->needRepaint(text_, row);
+ || bv_->hadHorizScrollOffset(text_, pit, row.pos());
// Take this opportunity to spellcheck the row contents.
if (row_has_changed && pi.do_spellcheck && lyxrc.spellcheck_continuously) {