diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/DocumentAccessor.cxx | 2 | ||||
-rw-r--r-- | src/DocumentAccessor.h | 31 | ||||
-rw-r--r-- | src/WindowAccessor.cxx | 2 |
3 files changed, 3 insertions, 32 deletions
diff --git a/src/DocumentAccessor.cxx b/src/DocumentAccessor.cxx index a69f4a445..dd156fa24 100644 --- a/src/DocumentAccessor.cxx +++ b/src/DocumentAccessor.cxx @@ -111,7 +111,7 @@ void DocumentAccessor::SetLevel(int line, int level) { } void DocumentAccessor::Flush() { - startPos = 0x7FFFFFFF; + startPos = extremePosition; lenDoc = -1; if (validLen > 0) { pdoc->SetStyles(validLen, styleBuf); diff --git a/src/DocumentAccessor.h b/src/DocumentAccessor.h index f0577b355..18eff84be 100644 --- a/src/DocumentAccessor.h +++ b/src/DocumentAccessor.h @@ -6,16 +6,9 @@ class Document; class DocumentAccessor : public Accessor { protected: - // bufferSize is a trade off between time taken to copy the characters and SendMessage overhead - // slopSize positions the buffer before the desired position in case there is some backtracking - enum {bufferSize=4000, slopSize=bufferSize/8}; - char buf[bufferSize+1]; Document *pdoc; PropSet &props; - int startPos; - int endPos; int lenDoc; - int codePage; char styleBuf[bufferSize]; int validLen; @@ -27,29 +20,7 @@ protected: void Fill(int position); public: DocumentAccessor(Document *pdoc_, PropSet &props_) : - pdoc(pdoc_), props(props_), startPos(0x7FFFFFFF), endPos(0), - lenDoc(-1), codePage(0), validLen(0), chFlags(0) { - } - void SetCodePage(int codePage_) { codePage = codePage_; } - char operator[](int position) { - if (position < startPos || position >= endPos) { - Fill(position); - } - return buf[position - startPos]; - } - char SafeGetCharAt(int position, char chDefault=' ') { - // Safe version of operator[], returning a defined value for invalid position - if (position < startPos || position >= endPos) { - Fill(position); - if (position < startPos || position >= endPos) { - // Position is outside range of document - return chDefault; - } - } - return buf[position - startPos]; - } - bool IsLeadByte(char ch) { - return codePage && InternalIsLeadByte(ch); + pdoc(pdoc_), props(props_), lenDoc(-1), validLen(0), chFlags(0) { } char StyleAt(int position); int GetLine(int position); diff --git a/src/WindowAccessor.cxx b/src/WindowAccessor.cxx index 0c33acd88..d04c0142d 100644 --- a/src/WindowAccessor.cxx +++ b/src/WindowAccessor.cxx @@ -109,7 +109,7 @@ void WindowAccessor::SetLevel(int line, int level) { } void WindowAccessor::Flush() { - startPos = 0x7FFFFFFF; + startPos = extremePosition; lenDoc = -1; if (validLen > 0) { Platform::SendScintilla(id, SCI_SETSTYLINGEX, validLen, |