mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-08 10:51:03 +00:00
constify vars
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1889 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
7fbce0f530
commit
104424a34c
@ -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();
|
||||||
|
@ -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
|
||||||
|
@ -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: ([^ ]+).*");
|
||||||
|
172
src/text.C
172
src/text.C
@ -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;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user