aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/PositionCache.h
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2023-03-02 22:02:19 +1100
committerNeil <nyamatongwe@gmail.com>2023-03-02 22:02:19 +1100
commit43ba96d61994db084e61b31df278d2d87c1f313c (patch)
tree9ec2084b3a8594434889fb622f2fe7c5446dc0a9 /src/PositionCache.h
parentc61df8742a4865ac9c67f8ed017248b82fe5574e (diff)
downloadscintilla-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.h9
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 {