diff options
author | Neil <nyamatongwe@gmail.com> | 2015-03-11 13:37:11 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2015-03-11 13:37:11 +1100 |
commit | 2cf0d3e80236e089e06a5033575f58ccc090a262 (patch) | |
tree | eac7cd5978332ecb50c33b41e4833fbcad14e671 | |
parent | c48c5c1af385364d1319e544df97c765d06222f4 (diff) | |
download | scintilla-mirror-2cf0d3e80236e089e06a5033575f58ccc090a262.tar.gz |
Allow minimum tab width to be tweaked to allow character cell implementation
to work better.
-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; |