From 43ba96d61994db084e61b31df278d2d87c1f313c Mon Sep 17 00:00:00 2001 From: Neil Date: Thu, 2 Mar 2023 22:02:19 +1100 Subject: Add multithreaded wrap to significantly improve performance of wrapping large files. --- src/PositionCache.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/PositionCache.h') diff --git a/src/PositionCache.h b/src/PositionCache.h index 0add8319a..e610ac879 100644 --- a/src/PositionCache.h +++ b/src/PositionCache.h @@ -83,6 +83,7 @@ public: void operator=(LineLayout &&) = delete; virtual ~LineLayout(); void Resize(int maxLineLength_); + void ReSet(Sci::Line lineNumber_, Sci::Position maxLineLength_); void EnsureBidiData(); void Free() noexcept; void ClearPositions(); @@ -140,6 +141,14 @@ struct ScreenLine : public IScreenLine { XYPOSITION TabPositionAfter(XYPOSITION xPosition) const override; }; +struct SignificantLines { + Sci::Line lineCaret; + Sci::Line lineTop; + Sci::Line linesOnScreen; + Scintilla::LineCache level; + bool LineMayCache(Sci::Line line) const noexcept; +}; + /** */ class LineLayoutCache { -- cgit v1.2.3