aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/EditView.h
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2022-02-02 14:25:51 +1100
committerNeil <nyamatongwe@gmail.com>2022-02-02 14:25:51 +1100
commitfd2623102a9bad31258a0ef31ce6a2972ae6ddad (patch)
tree621fa123bdab1e9f4ef94613c0fbf509f2ce36e3 /src/EditView.h
parent53ca05457a1d7306defd98ee4a21eb18e6a9be8d (diff)
downloadscintilla-mirror-fd2623102a9bad31258a0ef31ce6a2972ae6ddad.tar.gz
Feature [feature-requests:#1427] Add multithreaded layout which improves
performance significantly for very wide lines.
Diffstat (limited to 'src/EditView.h')
-rw-r--r--src/EditView.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/EditView.h b/src/EditView.h
index c9364ad30..199a174b9 100644
--- a/src/EditView.h
+++ b/src/EditView.h
@@ -83,6 +83,9 @@ public:
LineLayoutCache llc;
std::unique_ptr<IPositionCache> posCache;
+ unsigned int maxLayoutThreads;
+ static constexpr int bytesPerLayoutThread = 1000;
+
int tabArrowHeight; // draw arrow heads this many pixels above/below line midpoint
/** Some platforms, notably PLAT_CURSES, do not support Scintilla's native
* DrawTabArrow function for drawing tab characters. Allow those platforms to
@@ -103,6 +106,9 @@ public:
bool SetPhasesDraw(int phases) noexcept;
bool LinesOverlap() const noexcept;
+ void SetLayoutThreads(unsigned int threads) noexcept;
+ unsigned int GetLayoutThreads() const noexcept;
+
void ClearAllTabstops() noexcept;
XYPOSITION NextTabstopPos(Sci::Line line, XYPOSITION x, XYPOSITION tabWidth) const noexcept;
bool ClearTabstops(Sci::Line line) noexcept;