aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Accessor.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Accessor.cxx')
-rw-r--r--src/Accessor.cxx28
1 files changed, 12 insertions, 16 deletions
diff --git a/src/Accessor.cxx b/src/Accessor.cxx
index 57b7e4dc4..60c5968c5 100644
--- a/src/Accessor.cxx
+++ b/src/Accessor.cxx
@@ -63,35 +63,31 @@ void StylingContext::StartAt(unsigned int start, char chMask) {
Platform::SendScintilla(id, SCI_STARTSTYLING, start, chMask);
}
-void StylingContext::ColourSegment(unsigned int start, unsigned int end, int chAttr) {
+void StylingContext::StartSegment(unsigned int pos) {
+ startSeg = pos;
+}
+
+void StylingContext::ColourTo(unsigned int pos, int chAttr) {
// Only perform styling if non empty range
- if (end != start - 1) {
- if (end < start) {
- Platform::DebugPrintf("Bad colour positions %d - %d\n", start, end);
+ if (pos != startSeg - 1) {
+ if (pos < startSeg) {
+ Platform::DebugPrintf("Bad colour positions %d - %d\n", startSeg, pos);
}
- if (validLen + (end - start + 1) >= bufferSize)
+ if (validLen + (pos - startSeg + 1) >= bufferSize)
Flush();
- if (validLen + (end - start + 1) >= bufferSize) {
+ if (validLen + (pos - startSeg + 1) >= bufferSize) {
// Too big for buffer so send directly
- Platform::SendScintilla(id, SCI_SETSTYLING, end - start + 1, chAttr);
+ Platform::SendScintilla(id, SCI_SETSTYLING, pos - startSeg + 1, chAttr);
} else {
if (chAttr != chWhile)
chFlags = 0;
chAttr |= chFlags;
- for (unsigned int i = start; i <= end; i++) {
+ for (unsigned int i = startSeg; i <= pos; i++) {
styleBuf[validLen++] = chAttr;
}
}
}
-}
-
-void StylingContext::StartSegment(unsigned int pos) {
- startSeg = pos;
-}
-
-void StylingContext::ColourTo(unsigned int pos, int chAttr) {
- ColourSegment(startSeg, pos, chAttr);
startSeg = pos+1;
}