[LyX/master] Revert "Improve handling of top and bottom margin"
Jean-Marc Lasgouttes
lasgouttes at lyx.org
Tue Feb 16 11:26:09 UTC 2021
commit a40ca1430ebe844790c69d0a4f8a1509c255a878
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Tue Feb 16 10:34:40 2021 +0100
Revert "Improve handling of top and bottom margin"
This reverts commit 907f020724b4d73a75644642f3e097f74c75c3b5.
---
src/BufferView.cpp | 14 --------------
src/BufferView.h | 5 +----
src/TextMetrics.cpp | 36 +++++++++++++++++++++++-------------
3 files changed, 24 insertions(+), 31 deletions(-)
diff --git a/src/BufferView.cpp b/src/BufferView.cpp
index 9bafc8c..6063168 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -349,20 +349,6 @@ int BufferView::leftMargin() const
}
-int BufferView::topMargin() const
-{
- // original value was 20px, which is 0.2in at 100dpi
- return zoomedPixels(20);
-}
-
-
-int BufferView::bottomMargin() const
-{
- // original value was 20px, which is 0.2in at 100dpi
- return zoomedPixels(20);
-}
-
-
int BufferView::inPixels(Length const & len) const
{
Font const font = buffer().params().getFont();
diff --git a/src/BufferView.h b/src/BufferView.h
index 830c2d7..462bf0e 100644
--- a/src/BufferView.h
+++ b/src/BufferView.h
@@ -102,12 +102,9 @@ public:
/// right margin
int rightMargin() const;
+
/// left margin
int leftMargin() const;
- /// top margin
- int topMargin() const;
- /// bottom margin
- int bottomMargin() const;
docstring const & searchRequestCache() const;
void setSearchRequestCache(docstring const & text);
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index 0f1814c..d3242f9 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -581,6 +581,28 @@ bool TextMetrics::redoParagraph(pit_type const pit, bool const align_rows)
}
}
+ // FIXME: It might be better to move this in another method
+ // specially tailored for the main text.
+ // 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 = bv_->zoomedPixels(20);
+ if (pit == 0) {
+ pm.rows().front().dim().asc += margin;
+ /* coverity thinks that we should update pm.dim().asc
+ * below, but all the rows heights are actually counted as
+ * part of the paragraph metric descent see loop above).
+ */
+ // coverity[copy_paste_error]
+ pm.dim().des += margin;
+ }
+ ParagraphList const & pars = text_->paragraphs();
+ if (pit + 1 == pit_type(pars.size())) {
+ pm.rows().back().dim().des += margin;
+ pm.dim().des += margin;
+ }
+ }
+
// The space above and below the paragraph.
int const top = parTopSpacing(pit);
pm.rows().front().dim().asc += top;
@@ -591,18 +613,6 @@ bool TextMetrics::redoParagraph(pit_type const pit, bool const align_rows)
pm.dim().asc += pm.rows()[0].ascent();
pm.dim().des -= pm.rows()[0].ascent();
- // Top and bottom margin of the document (only at top-level)
- // FIXME: It might be better to move this in another method
- // specially tailored for the main text.
- if (text_->isMainText()) {
- if (pit == 0)
- pm.dim().asc += bv_->topMargin();
- ParagraphList const & pars = text_->paragraphs();
- if (pit + 1 == pit_type(pars.size())) {
- pm.dim().des += bv_->bottomMargin();
- }
- }
-
changed |= old_dim.height() != pm.dim().height();
return changed;
@@ -1349,7 +1359,7 @@ Row const & TextMetrics::getPitAndRowNearY(int & y, pit_type & pit,
{
ParagraphMetrics const & pm = par_metrics_[pit];
- int yy = pm.position() - pm.rows().front().ascent();
+ int yy = pm.position() - pm.ascent();
LBUFERR(!pm.rows().empty());
RowList::const_iterator rit = pm.rows().begin();
RowList::const_iterator rlast = pm.rows().end();
More information about the lyx-cvs
mailing list