diff options
-rw-r--r-- | include/Scintilla.h | 2 | ||||
-rw-r--r-- | include/Scintilla.iface | 2 | ||||
-rw-r--r-- | src/LineMarker.cxx | 16 |
3 files changed, 20 insertions, 0 deletions
diff --git a/include/Scintilla.h b/include/Scintilla.h index 0e0fad265..30fcf50fc 100644 --- a/include/Scintilla.h +++ b/include/Scintilla.h @@ -109,6 +109,8 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam, #define SC_MARK_CIRCLEMINUS 20 #define SC_MARK_CIRCLEMINUSCONNECTED 21 #define SC_MARK_BACKGROUND 22 +#define SC_MARK_DOTDOTDOT 23 +#define SC_MARK_ARROWS 24 #define SC_MARK_CHARACTER 10000 #define SC_MARKNUM_FOLDEREND 25 #define SC_MARKNUM_FOLDEROPENMID 26 diff --git a/include/Scintilla.iface b/include/Scintilla.iface index f31cd7806..776fe8f2b 100644 --- a/include/Scintilla.iface +++ b/include/Scintilla.iface @@ -258,6 +258,8 @@ val SC_MARK_CIRCLEMINUSCONNECTED=21 # Invisible mark that only sets the line background color. val SC_MARK_BACKGROUND=22 +val SC_MARK_DOTDOTDOT=23 +val SC_MARK_ARROWS=24 val SC_MARK_CHARACTER=10000 diff --git a/src/LineMarker.cxx b/src/LineMarker.cxx index 1b8975d9c..009ea4ea5 100644 --- a/src/LineMarker.cxx +++ b/src/LineMarker.cxx @@ -239,6 +239,22 @@ void LineMarker::Draw(Surface *surface, PRectangle &rcWhole, Font &fontForCharac surface->DrawTextClipped(rc, fontForCharacter, rc.bottom - 2, character, 1, fore.allocated, back.allocated); + } else if (markType == SC_MARK_DOTDOTDOT) { + int right = centreX - 6; + for (int b=0; b<3; b++) { + PRectangle rcBlob(right, rc.bottom - 4, right + 2, rc.bottom-2); + surface->FillRectangle(rcBlob, fore.allocated); + right += 5; + } + } else if (markType == SC_MARK_ARROWS) { + surface->PenColour(fore.allocated); + int right = centreX - 2; + for (int b=0; b<3; b++) { + surface->MoveTo(right - 4, centreY - 4); + surface->LineTo(right, centreY); + surface->LineTo(right - 5, centreY + 5); + right += 4; + } } else { // SC_MARK_SHORTARROW Point pts[] = { Point(centreX, centreY + dimOn2), |