constify vars

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1889 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Lars Gullik Bjønnes 2001-04-04 21:23:36 +00:00
parent 7fbce0f530
commit 104424a34c
4 changed files with 119 additions and 90 deletions

View File

@ -937,17 +937,16 @@ Inset * BufferView::Pimpl::checkInsetHit(LyXText * text, int & x, int & y,
Inset * tmpinset = cursor.par()->GetInset(cursor.pos()); Inset * tmpinset = cursor.par()->GetInset(cursor.pos());
LyXFont font = text->GetFont(bv_->buffer(), LyXFont font = text->GetFont(bv_->buffer(),
cursor.par(), cursor.pos()); cursor.par(), cursor.pos());
int width = tmpinset->width(bv_, font); int const width = tmpinset->width(bv_, font);
int inset_x = font.isVisibleRightToLeft() int const inset_x = font.isVisibleRightToLeft()
? cursor.x() - width : cursor.x(); ? cursor.x() - width : cursor.x();
int start_x = inset_x + tmpinset->scroll(); int const start_x = inset_x + tmpinset->scroll();
int end_x = inset_x + width; int const end_x = inset_x + width;
if (x > start_x && x < end_x if (x > start_x && x < end_x
&& y_tmp > cursor.y() - tmpinset->ascent(bv_, font) && y_tmp > cursor.y() - tmpinset->ascent(bv_, font)
&& y_tmp < cursor.y() + tmpinset->descent(bv_, font)) && y_tmp < cursor.y() + tmpinset->descent(bv_, font)) {
{ text->SetCursor(bv_, cursor.par(),cursor.pos(), true);
text->SetCursor(bv_, cursor.par(),cursor.pos(),true);
x = x - start_x; x = x - start_x;
// The origin of an inset is on the baseline // The origin of an inset is on the baseline
y = y_tmp - (text->cursor.y()); y = y_tmp - (text->cursor.y());
@ -962,11 +961,11 @@ Inset * BufferView::Pimpl::checkInsetHit(LyXText * text, int & x, int & y,
Inset * tmpinset = cursor.par()->GetInset(cursor.pos()-1); Inset * tmpinset = cursor.par()->GetInset(cursor.pos()-1);
LyXFont font = text->GetFont(bv_->buffer(), cursor.par(), LyXFont font = text->GetFont(bv_->buffer(), cursor.par(),
cursor.pos()-1); cursor.pos()-1);
int width = tmpinset->width(bv_, font); int const width = tmpinset->width(bv_, font);
int inset_x = font.isVisibleRightToLeft() int const inset_x = font.isVisibleRightToLeft()
? cursor.x() : cursor.x() - width; ? cursor.x() : cursor.x() - width;
int start_x = inset_x + tmpinset->scroll(); int const start_x = inset_x + tmpinset->scroll();
int end_x = inset_x + width; int const end_x = inset_x + width;
if (x > start_x && x < end_x if (x > start_x && x < end_x
&& y_tmp > cursor.y() - tmpinset->ascent(bv_, font) && y_tmp > cursor.y() - tmpinset->ascent(bv_, font)
@ -990,8 +989,8 @@ void BufferView::Pimpl::workAreaExpose()
static int work_area_width = 0; static int work_area_width = 0;
static unsigned int work_area_height = 0; static unsigned int work_area_height = 0;
bool widthChange = workarea_.workWidth() != work_area_width; bool const widthChange = workarea_.workWidth() != work_area_width;
bool heightChange = workarea_.height() != work_area_height; bool const heightChange = workarea_.height() != work_area_height;
// update from work area // update from work area
work_area_width = workarea_.workWidth(); work_area_width = workarea_.workWidth();

View File

@ -1,5 +1,15 @@
2001-04-04 Lars Gullik Bjønnes <larsbj@birdstep.com> 2001-04-04 Lars Gullik Bjønnes <larsbj@birdstep.com>
* text.C (SingleWidth): constify font
(IsBoundary): constify rtl2
(GetVisibleRow): constify ww
* LaTeX.C (deplog): constify logfile
* BufferView_pimpl.C (checkInsetHit): constify width, inset_x,
start_x, end_x
(workAreaExpose): constify widthChange, heightChange
* lyxrow.C (par): moved * lyxrow.C (par): moved
(height): moved (height): moved
(next): moved (next): moved

View File

@ -605,7 +605,7 @@ void LaTeX::deplog(DepTable & head)
// files used by the LaTeX run. The files are then entered into the // files used by the LaTeX run. The files are then entered into the
// dependency file. // dependency file.
string logfile = OnlyFilename(ChangeExtension(file, ".log")); string const logfile = OnlyFilename(ChangeExtension(file, ".log"));
LRegex reg1(")* *\\(([^ \\)]+).*"); LRegex reg1(")* *\\(([^ \\)]+).*");
LRegex reg2("File: ([^ ]+).*"); LRegex reg2("File: ([^ ]+).*");

View File

@ -137,7 +137,7 @@ int LyXText::SingleWidth(BufferView * bview, LyXParagraph * par,
int LyXText::SingleWidth(BufferView * bview, LyXParagraph * par, int LyXText::SingleWidth(BufferView * bview, LyXParagraph * par,
LyXParagraph::size_type pos, char c) const LyXParagraph::size_type pos, char c) const
{ {
LyXFont font = GetFont(bview->buffer(), par, pos); LyXFont const font = GetFont(bview->buffer(), par, pos);
// The most common case is handled first (Asger) // The most common case is handled first (Asger)
if (IsPrintable(c)) { if (IsPrintable(c)) {
@ -380,7 +380,7 @@ bool LyXText::IsBoundary(Buffer const * buf, LyXParagraph * par,
} }
bool const rtl = bidi_level(pos - 1) % 2; bool const rtl = bidi_level(pos - 1) % 2;
bool rtl2 = bidi_InRange(pos) bool const rtl2 = bidi_InRange(pos)
? bidi_level(pos) % 2 ? bidi_level(pos) % 2
: par->isRightToLeftPar(buf->params); : par->isRightToLeftPar(buf->params);
return rtl != rtl2; return rtl != rtl2;
@ -395,7 +395,7 @@ bool LyXText::IsBoundary(Buffer const * buf, LyXParagraph * par,
return false; // This is just for speedup return false; // This is just for speedup
bool const rtl = font.isVisibleRightToLeft(); bool const rtl = font.isVisibleRightToLeft();
bool rtl2 = bidi_InRange(pos) bool const rtl2 = bidi_InRange(pos)
? bidi_level(pos) % 2 ? bidi_level(pos) % 2
: par->isRightToLeftPar(buf->params); : par->isRightToLeftPar(buf->params);
return rtl != rtl2; return rtl != rtl2;
@ -419,7 +419,8 @@ void LyXText::draw(BufferView * bview, Row const * row,
int const wid = lyxfont::width('n', font); int const wid = lyxfont::width('n', font);
int const asc = lyxfont::maxAscent(font); int const asc = lyxfont::maxAscent(font);
int const y = offset + row->baseline(); int const y = offset + row->baseline();
int xp[3], yp[3]; int xp[3];
int yp[3];
if (bidi_level(pos) % 2 == 0) { if (bidi_level(pos) % 2 == 0) {
xp[0] = int(x + wid * 0.375); xp[0] = int(x + wid * 0.375);
@ -1447,10 +1448,10 @@ void LyXText::SetHeightOfRow(BufferView * bview, Row * row_ptr) const
row_ptr->ascent_of_text(maxasc); row_ptr->ascent_of_text(maxasc);
/* is it a top line? */ // is it a top line?
if (!row_ptr->pos() && (row_ptr->par() == firstpar)) { if (!row_ptr->pos() && (row_ptr->par() == firstpar)) {
/* some parksips VERY EASY IMPLEMENTATION */ // some parksips VERY EASY IMPLEMENTATION
if (bview->buffer()->params.paragraph_separation == if (bview->buffer()->params.paragraph_separation ==
BufferParams::PARSEP_SKIP) { BufferParams::PARSEP_SKIP) {
if (layout.isParagraph() if (layout.isParagraph()
@ -1465,7 +1466,7 @@ void LyXText::SetHeightOfRow(BufferView * bview, Row * row_ptr) const
maxasc += bview->buffer()->params.getDefSkip().inPixels(bview); maxasc += bview->buffer()->params.getDefSkip().inPixels(bview);
} }
/* the paper margins */ // the paper margins
#ifndef NEW_INSETS #ifndef NEW_INSETS
if (!row_ptr->par()->previous_ && bv_owner) if (!row_ptr->par()->previous_ && bv_owner)
maxasc += LYX_PAPER_MARGIN; maxasc += LYX_PAPER_MARGIN;
@ -1474,22 +1475,22 @@ void LyXText::SetHeightOfRow(BufferView * bview, Row * row_ptr) const
maxasc += LYX_PAPER_MARGIN; maxasc += LYX_PAPER_MARGIN;
#endif #endif
/* add the vertical spaces, that the user added */ // add the vertical spaces, that the user added
if (firstpar->params.spaceTop().kind() != VSpace::NONE) if (firstpar->params.spaceTop().kind() != VSpace::NONE)
maxasc += int(firstpar->params.spaceTop().inPixels(bview)); maxasc += int(firstpar->params.spaceTop().inPixels(bview));
/* do not forget the DTP-lines! // do not forget the DTP-lines!
* there height depends on the font of the nearest character */ // there height depends on the font of the nearest character
if (firstpar->params.lineTop()) if (firstpar->params.lineTop())
maxasc += 2 * lyxfont::ascent('x', GetFont(bview->buffer(), maxasc += 2 * lyxfont::ascent('x', GetFont(bview->buffer(),
firstpar, 0)); firstpar, 0));
/* and now the pagebreaks */ // and now the pagebreaks
if (firstpar->params.pagebreakTop()) if (firstpar->params.pagebreakTop())
maxasc += 3 * DefaultHeight(); maxasc += 3 * DefaultHeight();
/* this is special code for the chapter, since the label of this // This is special code for the chapter, since the label of this
* layout is printed in an extra row */ // layout is printed in an extra row
if (layout.labeltype == LABEL_COUNTER_CHAPTER if (layout.labeltype == LABEL_COUNTER_CHAPTER
&& bview->buffer()->params.secnumdepth >= 0) { && bview->buffer()->params.secnumdepth >= 0) {
float spacing_val = 1.0; float spacing_val = 1.0;
@ -1507,7 +1508,7 @@ void LyXText::SetHeightOfRow(BufferView * bview, Row * row_ptr) const
spacing_val); spacing_val);
} }
/* special code for the top label */ // special code for the top label
if ((layout.labeltype == LABEL_TOP_ENVIRONMENT if ((layout.labeltype == LABEL_TOP_ENVIRONMENT
|| layout.labeltype == LABEL_BIBLIO || layout.labeltype == LABEL_BIBLIO
|| layout.labeltype == LABEL_CENTERED_TOP_ENVIRONMENT) || layout.labeltype == LABEL_CENTERED_TOP_ENVIRONMENT)
@ -1531,8 +1532,8 @@ void LyXText::SetHeightOfRow(BufferView * bview, Row * row_ptr) const
+ layout.labelbottomsep * DefaultHeight()); + layout.labelbottomsep * DefaultHeight());
} }
/* and now the layout spaces, for example before and after a section, // and now the layout spaces, for example before and after a section,
* or between the items of a itemize or enumerate environment */ // or between the items of a itemize or enumerate environment
if (!firstpar->params.pagebreakTop()) { if (!firstpar->params.pagebreakTop()) {
LyXParagraph * prev = row_ptr->par()->previous(); LyXParagraph * prev = row_ptr->par()->previous();
@ -1571,7 +1572,7 @@ void LyXText::SetHeightOfRow(BufferView * bview, Row * row_ptr) const
if (firstpar->previous() if (firstpar->previous()
&& firstpar->previous()->GetDepth() == 0 && firstpar->previous()->GetDepth() == 0
&& firstpar->previous()->GetLayout() != firstpar->GetLayout()) { && firstpar->previous()->GetLayout() != firstpar->GetLayout()) {
/* avoid parsep */ // avoid parsep
} }
else if (firstpar->previous()){ else if (firstpar->previous()){
maxasc += int(layout.parsep * DefaultHeight()); maxasc += int(layout.parsep * DefaultHeight());
@ -1580,7 +1581,7 @@ void LyXText::SetHeightOfRow(BufferView * bview, Row * row_ptr) const
} }
} }
/* is it a bottom line? */ // is it a bottom line?
if ( if (
#ifndef NEW_INSETS #ifndef NEW_INSETS
row_ptr->par()->ParFromPos(RowLast(row_ptr) + 1) == par row_ptr->par()->ParFromPos(RowLast(row_ptr) + 1) == par
@ -1589,7 +1590,7 @@ void LyXText::SetHeightOfRow(BufferView * bview, Row * row_ptr) const
#endif #endif
&& (!row_ptr->next() || row_ptr->next()->par() != row_ptr->par())) { && (!row_ptr->next() || row_ptr->next()->par() != row_ptr->par())) {
/* the paper margins */ // the paper margins
#ifndef NEW_INSETS #ifndef NEW_INSETS
if (!par->next_ && bv_owner) if (!par->next_ && bv_owner)
maxdesc += LYX_PAPER_MARGIN; maxdesc += LYX_PAPER_MARGIN;
@ -1598,12 +1599,12 @@ void LyXText::SetHeightOfRow(BufferView * bview, Row * row_ptr) const
maxdesc += LYX_PAPER_MARGIN; maxdesc += LYX_PAPER_MARGIN;
#endif #endif
/* add the vertical spaces, that the user added */ // add the vertical spaces, that the user added
if (firstpar->params.spaceBottom().kind() != VSpace::NONE) if (firstpar->params.spaceBottom().kind() != VSpace::NONE)
maxdesc += int(firstpar->params.spaceBottom().inPixels(bview)); maxdesc += int(firstpar->params.spaceBottom().inPixels(bview));
/* do not forget the DTP-lines! // do not forget the DTP-lines!
* there height depends on the font of the nearest character */ // there height depends on the font of the nearest character
#ifndef NEW_INSETS #ifndef NEW_INSETS
if (firstpar->params.lineBottom()) if (firstpar->params.lineBottom())
maxdesc += 2 * lyxfont::ascent('x', GetFont(bview->buffer(), maxdesc += 2 * lyxfont::ascent('x', GetFont(bview->buffer(),
@ -1615,12 +1616,13 @@ void LyXText::SetHeightOfRow(BufferView * bview, Row * row_ptr) const
par, par->size() - 1)); par, par->size() - 1));
#endif #endif
/* and now the pagebreaks */ // and now the pagebreaks
if (firstpar->params.pagebreakBottom()) if (firstpar->params.pagebreakBottom())
maxdesc += 3 * DefaultHeight(); maxdesc += 3 * DefaultHeight();
/* and now the layout spaces, for example before and after a section, // and now the layout spaces, for example before and after
* or between the items of a itemize or enumerate environment */ // a section, or between the items of a itemize or enumerate
// environment
if (!firstpar->params.pagebreakBottom() && row_ptr->par()->next()) { if (!firstpar->params.pagebreakBottom() && row_ptr->par()->next()) {
LyXParagraph * nextpar = row_ptr->par()->next(); LyXParagraph * nextpar = row_ptr->par()->next();
LyXParagraph * comparepar = row_ptr->par(); LyXParagraph * comparepar = row_ptr->par();
@ -1650,11 +1652,11 @@ void LyXText::SetHeightOfRow(BufferView * bview, Row * row_ptr) const
} }
} }
/* incalculate the layout spaces */ // incalculate the layout spaces
maxasc += int(layoutasc * 2 / (2 + firstpar->GetDepth())); maxasc += int(layoutasc * 2 / (2 + firstpar->GetDepth()));
maxdesc += int(layoutdesc * 2 / (2 + firstpar->GetDepth())); maxdesc += int(layoutdesc * 2 / (2 + firstpar->GetDepth()));
/* calculate the new height of the text */ // calculate the new height of the text
height -= row_ptr->height(); height -= row_ptr->height();
row_ptr->height(maxasc + maxdesc + labeladdon); row_ptr->height(maxasc + maxdesc + labeladdon);
@ -1718,7 +1720,7 @@ void LyXText::BreakAgain(BufferView * bview, Row * row) const
bool not_ready = true; bool not_ready = true;
do { do {
/* get the next breakpoint */ // get the next breakpoint
LyXParagraph::size_type z = NextBreakPoint(bview, row, workWidth(bview)); LyXParagraph::size_type z = NextBreakPoint(bview, row, workWidth(bview));
Row * tmprow = row; Row * tmprow = row;
@ -1858,10 +1860,18 @@ void LyXText::BreakParagraph(BufferView * bview, char keep_layout)
if (layout.labeltype == LABEL_SENSITIVE) { if (layout.labeltype == LABEL_SENSITIVE) {
if (!cursor.pos()) if (!cursor.pos())
// set to standard-layout // set to standard-layout
#ifndef NEW_INSETS
cursor.par()->SetLayout(bview->buffer()->params, 0); cursor.par()->SetLayout(bview->buffer()->params, 0);
#else
cursor.par()->SetLayout(0);
#endif
else else
// set to standard-layout // set to standard-layout
#ifndef NEW_INSETS
cursor.par()->next()->SetLayout(bview->buffer()->params, 0); cursor.par()->next()->SetLayout(bview->buffer()->params, 0);
#else
cursor.par()->next()->SetLayout(0);
#endif
} }
/* if the cursor is at the beginning of a row without prior newline, /* if the cursor is at the beginning of a row without prior newline,
@ -3274,7 +3284,7 @@ void LyXText::Backspace(BufferView * bview)
void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset, void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
Row * row_ptr, int y, bool cleared) Row * row_ptr, int y, bool cleared)
{ {
/* returns a printed row */ // returns a printed row
Painter & pain = bview->painter(); Painter & pain = bview->painter();
bool const is_rtl = bool const is_rtl =
@ -3282,11 +3292,10 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
LyXParagraph::size_type const last = RowLastPrintable(row_ptr); LyXParagraph::size_type const last = RowLastPrintable(row_ptr);
LyXParagraph::size_type vpos, pos; LyXParagraph::size_type vpos;
float x; LyXParagraph::size_type pos;
float tmpx; float tmpx;
int y_top;
int y_bottom;
LyXFont font(LyXFont::ALL_SANE); LyXFont font(LyXFont::ALL_SANE);
int maxdesc; int maxdesc;
@ -3296,6 +3305,7 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
return; return;
} }
float x;
float fill_separator; float fill_separator;
float fill_hfill; float fill_hfill;
float fill_label_hfill; float fill_label_hfill;
@ -3307,7 +3317,7 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
x += x_offset; x += x_offset;
// clear the area where we want to paint/print // clear the area where we want to paint/print
int ww = bview->workWidth(); int const ww = bview->workWidth();
bool clear_area = true; bool clear_area = true;
Inset * inset = 0; Inset * inset = 0;
@ -3356,7 +3366,7 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
if (selection) { if (selection) {
int const w = (inset_owner ? int const w = (inset_owner ?
inset_owner->width(bview, font) : ww); inset_owner->width(bview, font) : ww);
/* selection code */ // selection code
if (bidi_same_direction) { if (bidi_same_direction) {
if (sel_start_cursor.row() == row_ptr && if (sel_start_cursor.row() == row_ptr &&
sel_end_cursor.row() == row_ptr) { sel_end_cursor.row() == row_ptr) {
@ -3451,7 +3461,7 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
sel_start_cursor.pos() <= pos) && sel_start_cursor.pos() <= pos) &&
(sel_end_cursor.row() != row_ptr || (sel_end_cursor.row() != row_ptr ||
pos < sel_end_cursor.pos()) ) pos < sel_end_cursor.pos()) )
/// Here we do not use x_offset as x_offset was // Here we do not use x_offset as x_offset was
// added to x. // added to x.
pain.fillRectangle(int(old_tmpx), pain.fillRectangle(int(old_tmpx),
y_offset, y_offset,
@ -3670,28 +3680,30 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
textclasslist.Style(bview->buffer()->params.textclass, textclasslist.Style(bview->buffer()->params.textclass,
row_ptr->par()->GetLayout()); row_ptr->par()->GetLayout());
y_top = 0; int y_top = 0;
y_bottom = row_ptr->height(); int y_bottom = row_ptr->height();
/* is it a first row? */ // is it a first row?
if (!row_ptr->pos() && (row_ptr->par() == firstpar)) { if (!row_ptr->pos() && (row_ptr->par() == firstpar)) {
/* start of appendix? */ // start of appendix?
if (row_ptr->par()->params.startOfAppendix()) { if (row_ptr->par()->params.startOfAppendix()) {
pain.line(1, y_offset, pain.line(1, y_offset,
ww - 2, y_offset, ww - 2, y_offset,
LColor::appendixline); LColor::appendixline);
} }
/* think about the margins */ // think about the margins
if (!row_ptr->previous() && bv_owner) if (!row_ptr->previous() && bv_owner)
y_top += LYX_PAPER_MARGIN; y_top += LYX_PAPER_MARGIN;
/* draw a top pagebreak */ // draw a top pagebreak
if (row_ptr->par()->params.pagebreakTop()) { if (row_ptr->par()->params.pagebreakTop()) {
LyXFont pb_font; LyXFont pb_font;
pb_font.setColor(LColor::pagebreak).decSize(); pb_font.setColor(LColor::pagebreak).decSize();
int w = 0, a = 0, d = 0; int w = 0;
int a = 0;
int d = 0;
pain.line(0, y_offset + y_top + 2*DefaultHeight(), pain.line(0, y_offset + y_top + 2*DefaultHeight(),
ww, ww,
y_offset + y_top + 2 * DefaultHeight(), y_offset + y_top + 2 * DefaultHeight(),
@ -3713,7 +3725,7 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
} }
if (row_ptr->par()->params.spaceTop().kind() == VSpace::VFILL) { if (row_ptr->par()->params.spaceTop().kind() == VSpace::VFILL) {
/* draw a vfill top */ // draw a vfill top
pain.line(0, y_offset + 2 + y_top, pain.line(0, y_offset + 2 + y_top,
LYX_PAPER_MARGIN, y_offset + 2 + y_top, LYX_PAPER_MARGIN, y_offset + 2 + y_top,
LColor::vfillline); LColor::vfillline);
@ -3731,11 +3743,11 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
y_top += 3 * DefaultHeight(); y_top += 3 * DefaultHeight();
} }
/* think about user added space */ // think about user added space
y_top += int(row_ptr->par()->params.spaceTop().inPixels(bview)); y_top += int(row_ptr->par()->params.spaceTop().inPixels(bview));
/* think about the parskip */ // think about the parskip
/* some parskips VERY EASY IMPLEMENTATION */ // some parskips VERY EASY IMPLEMENTATION
if (bview->buffer()->params.paragraph_separation == BufferParams::PARSEP_SKIP) { if (bview->buffer()->params.paragraph_separation == BufferParams::PARSEP_SKIP) {
if (layout.latextype == LATEX_PARAGRAPH if (layout.latextype == LATEX_PARAGRAPH
&& firstpar->GetDepth() == 0 && firstpar->GetDepth() == 0
@ -3749,7 +3761,8 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
y_top += bview->buffer()->params.getDefSkip().inPixels(bview); y_top += bview->buffer()->params.getDefSkip().inPixels(bview);
} }
if (row_ptr->par()->params.lineTop()) { /* draw a top line */ if (row_ptr->par()->params.lineTop()) {
// draw a top line
y_top += lyxfont::ascent('x', y_top += lyxfont::ascent('x',
GetFont(bview->buffer(), GetFont(bview->buffer(),
row_ptr->par(), 0)); row_ptr->par(), 0));
@ -3766,7 +3779,7 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
row_ptr->par(), 0)); row_ptr->par(), 0));
} }
/* should we print a label? */ // should we print a label?
if (layout.labeltype >= LABEL_STATIC if (layout.labeltype >= LABEL_STATIC
&& (layout.labeltype != LABEL_STATIC && (layout.labeltype != LABEL_STATIC
|| layout.latextype != LATEX_ENVIRONMENT || layout.latextype != LATEX_ENVIRONMENT
@ -3779,8 +3792,11 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
if (layout.labeltype == LABEL_COUNTER_CHAPTER) { if (layout.labeltype == LABEL_COUNTER_CHAPTER) {
if (bview->buffer()->params.secnumdepth >= 0) { if (bview->buffer()->params.secnumdepth >= 0) {
/* this is special code for the chapter layout. This is printed in // this is special code for
* an extra row and has a pagebreak at the top. */ // the chapter layout. This is
// printed in an extra row
// and has a pagebreak at
// the top.
float spacing_val = 1.0; float spacing_val = 1.0;
if (!row_ptr->par()->params.spacing().isDefault()) { if (!row_ptr->par()->params.spacing().isDefault()) {
spacing_val = row_ptr->par()->params.spacing().getValue(); spacing_val = row_ptr->par()->params.spacing().getValue();
@ -3812,13 +3828,14 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
tmpx = x - lyxfont::width(layout.labelsep, font) tmpx = x - lyxfont::width(layout.labelsep, font)
- lyxfont::width(tmpstring, font); - lyxfont::width(tmpstring, font);
/* draw it! */ // draw it!
pain.text(int(tmpx), pain.text(int(tmpx),
y_offset + row_ptr->baseline(), y_offset + row_ptr->baseline(),
tmpstring, font); tmpstring, font);
} }
} }
/* the labels at the top of an environment. More or less for bibliography */ // the labels at the top of an environment.
// More or less for bibliography
} else if (layout.labeltype == LABEL_TOP_ENVIRONMENT || } else if (layout.labeltype == LABEL_TOP_ENVIRONMENT ||
layout.labeltype == LABEL_BIBLIO || layout.labeltype == LABEL_BIBLIO ||
layout.labeltype == LABEL_CENTERED_TOP_ENVIRONMENT) { layout.labeltype == LABEL_CENTERED_TOP_ENVIRONMENT) {
@ -3868,7 +3885,7 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
} }
} }
/* is it a last row? */ // is it a last row?
#ifndef NEW_INSETS #ifndef NEW_INSETS
LyXParagraph * par = row_ptr->par()->LastPhysicalPar(); LyXParagraph * par = row_ptr->par()->LastPhysicalPar();
#else #else
@ -3882,29 +3899,30 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
#endif #endif
&& (!row_ptr->next() || row_ptr->next()->par() != row_ptr->par())) && (!row_ptr->next() || row_ptr->next()->par() != row_ptr->par()))
{ {
/* think about the margins */ // think about the margins
if (!row_ptr->next() && bv_owner) if (!row_ptr->next() && bv_owner)
y_bottom -= LYX_PAPER_MARGIN; y_bottom -= LYX_PAPER_MARGIN;
/* draw a bottom pagebreak */ // draw a bottom pagebreak
if (firstpar->params.pagebreakBottom()) { if (firstpar->params.pagebreakBottom()) {
LyXFont pb_font; LyXFont pb_font;
pb_font.setColor(LColor::pagebreak).decSize(); pb_font.setColor(LColor::pagebreak).decSize();
int w = 0, a = 0, d = 0; int const y_place = y_offset + y_bottom
pain.line(0, - 2 * DefaultHeight();
y_offset + y_bottom - 2 * DefaultHeight(),
ww, int w = 0;
y_offset + y_bottom - 2 * DefaultHeight(), int a = 0;
LColor::pagebreak, int d = 0;
Painter::line_onoffdash) pain
.rectText(0, .line(0, y_place, ww, y_place,
0, LColor::pagebreak,
Painter::line_onoffdash)
.rectText(0, 0,
_("Page Break (bottom)"), _("Page Break (bottom)"),
pb_font, pb_font,
LColor::background, LColor::background,
LColor::background, false, w, a, d); LColor::background, false, w, a, d);
pain.rectText((ww - w) / 2, pain.rectText((ww - w) / 2, y_place + d,
y_offset + y_top + 2 * DefaultHeight() + d,
_("Page Break (bottom)"), _("Page Break (bottom)"),
pb_font, pb_font,
LColor::background, LColor::background,
@ -3913,28 +3931,30 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
} }
if (firstpar->params.spaceBottom().kind() == VSpace::VFILL) { if (firstpar->params.spaceBottom().kind() == VSpace::VFILL) {
/* draw a vfill bottom */ // draw a vfill bottom
pain.line(0, y_offset + y_bottom - 3 * DefaultHeight(), int const y_place = y_offset + y_bottom
LYX_PAPER_MARGIN, - 3 * DefaultHeight();
y_offset + y_bottom - 3 * DefaultHeight(),
pain.line(0, y_place,
LYX_PAPER_MARGIN, y_place,
LColor::vfillline); LColor::vfillline);
pain.line(0, y_offset + y_bottom - 2, pain.line(0, y_offset + y_bottom - 2,
LYX_PAPER_MARGIN, LYX_PAPER_MARGIN,
y_offset + y_bottom - 2, y_offset + y_bottom - 2,
LColor::vfillline); LColor::vfillline);
pain.line(LYX_PAPER_MARGIN / 2, pain.line(LYX_PAPER_MARGIN / 2,
y_offset + y_bottom - 3 * DefaultHeight(), y_place,
LYX_PAPER_MARGIN / 2, LYX_PAPER_MARGIN / 2,
y_offset + y_bottom - 2, y_offset + y_bottom - 2,
LColor::vfillline); LColor::vfillline);
y_bottom -= 3 * DefaultHeight(); y_bottom -= 3 * DefaultHeight();
} }
/* think about user added space */ // think about user added space
y_bottom -= int(firstpar->params.spaceBottom().inPixels(bview)); y_bottom -= int(firstpar->params.spaceBottom().inPixels(bview));
if (firstpar->params.lineBottom()) { if (firstpar->params.lineBottom()) {
/* draw a bottom line */ // draw a bottom line
#ifndef NEW_INSETS #ifndef NEW_INSETS
y_bottom -= lyxfont::ascent('x', y_bottom -= lyxfont::ascent('x',
GetFont(bview->buffer(), GetFont(bview->buffer(),
@ -4022,7 +4042,7 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
} }
} }
/* draw the text in the pixmap */ // draw the text in the pixmap
vpos = row_ptr->pos(); vpos = row_ptr->pos();
@ -4353,7 +4373,7 @@ Row * LyXText::GetRow(LyXParagraph * par,
{ {
if (!firstrow) if (!firstrow)
return 0; return 0;
Row * tmprow = firstrow; Row * tmprow = firstrow;
y = 0; y = 0;