From fd2623102a9bad31258a0ef31ce6a2972ae6ddad Mon Sep 17 00:00:00 2001 From: Neil Date: Wed, 2 Feb 2022 14:25:51 +1100 Subject: Feature [feature-requests:#1427] Add multithreaded layout which improves performance significantly for very wide lines. --- src/EditView.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/EditView.h') 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 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; -- cgit v1.2.3