diff options
-rw-r--r-- | src/EditView.cxx | 5 | ||||
-rw-r--r-- | src/EditView.h | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/EditView.cxx b/src/EditView.cxx index 9d940f701..5372e3abd 100644 --- a/src/EditView.cxx +++ b/src/EditView.cxx @@ -173,6 +173,7 @@ const XYPOSITION epsilon = 0.0001f; // A small nudge to avoid floating point pre EditView::EditView() { ldTabstops = NULL; + tabWidthMinimumPixels = 2; // needed for calculating tab stops for fractional proportional fonts hideSelection = false; drawOverstrikeCaret = true; bufferedDraw = true; @@ -220,10 +221,10 @@ void EditView::ClearAllTabstops() { } XYPOSITION EditView::NextTabstopPos(int line, XYPOSITION x, XYPOSITION tabWidth) const { - int next = GetNextTabstop(line, static_cast<int>(x + 2)); + int next = GetNextTabstop(line, static_cast<int>(x + tabWidthMinimumPixels)); if (next > 0) return static_cast<XYPOSITION>(next); - return (static_cast<int>((x + 2) / tabWidth) + 1) * tabWidth; + return (static_cast<int>((x + tabWidthMinimumPixels) / tabWidth) + 1) * tabWidth; } bool EditView::ClearTabstops(int line) { diff --git a/src/EditView.h b/src/EditView.h index 70af6b2bf..79a88657a 100644 --- a/src/EditView.h +++ b/src/EditView.h @@ -51,6 +51,7 @@ class EditView { public: PrintParameters printParameters; PerLine *ldTabstops; + int tabWidthMinimumPixels; bool hideSelection; bool drawOverstrikeCaret; |