diff options
author | Neil <nyamatongwe@gmail.com> | 2022-02-02 14:25:51 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2022-02-02 14:25:51 +1100 |
commit | fd2623102a9bad31258a0ef31ce6a2972ae6ddad (patch) | |
tree | 621fa123bdab1e9f4ef94613c0fbf509f2ce36e3 /src/EditView.h | |
parent | 53ca05457a1d7306defd98ee4a21eb18e6a9be8d (diff) | |
download | scintilla-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.h | 6 |
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; |