diff options
author | Neil <nyamatongwe@gmail.com> | 2023-03-02 22:02:19 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2023-03-02 22:02:19 +1100 |
commit | 43ba96d61994db084e61b31df278d2d87c1f313c (patch) | |
tree | 9ec2084b3a8594434889fb622f2fe7c5446dc0a9 /src/PositionCache.h | |
parent | c61df8742a4865ac9c67f8ed017248b82fe5574e (diff) | |
download | scintilla-mirror-43ba96d61994db084e61b31df278d2d87c1f313c.tar.gz |
Add multithreaded wrap to significantly improve performance of wrapping large
files.
Diffstat (limited to 'src/PositionCache.h')
-rw-r--r-- | src/PositionCache.h | 9 |
1 files changed, 9 insertions, 0 deletions
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 { |