diff options
| -rw-r--r-- | include/Scintilla.h | 2 | ||||
| -rw-r--r-- | include/Scintilla.iface | 2 | ||||
| -rw-r--r-- | src/Indicator.cxx | 14 | 
3 files changed, 18 insertions, 0 deletions
| diff --git a/include/Scintilla.h b/include/Scintilla.h index f1c4fa99f..54fcb3f38 100644 --- a/include/Scintilla.h +++ b/include/Scintilla.h @@ -248,6 +248,8 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam,  #define INDIC_BOX 6  #define INDIC_ROUNDBOX 7  #define INDIC_STRAIGHTBOX 8 +#define INDIC_DASH 9 +#define INDIC_DOTS 10  #define INDIC_MAX 31  #define INDIC_CONTAINER 8  #define INDIC0_MASK 0x20 diff --git a/include/Scintilla.iface b/include/Scintilla.iface index 8cd3ab5d0..0fe9ca876 100644 --- a/include/Scintilla.iface +++ b/include/Scintilla.iface @@ -551,6 +551,8 @@ val INDIC_HIDDEN=5  val INDIC_BOX=6  val INDIC_ROUNDBOX=7  val INDIC_STRAIGHTBOX=8 +val INDIC_DASH=9 +val INDIC_DOTS=10  val INDIC_MAX=31  val INDIC_CONTAINER=8  val INDIC0_MASK=0x20 diff --git a/src/Indicator.cxx b/src/Indicator.cxx index 5c352bf1c..c1d07b2e6 100644 --- a/src/Indicator.cxx +++ b/src/Indicator.cxx @@ -73,6 +73,20 @@ void Indicator::Draw(Surface *surface, const PRectangle &rc, const PRectangle &r  		rcBox.left = rc.left;  		rcBox.right = rc.right;  		surface->AlphaRectangle(rcBox, (style == INDIC_ROUNDBOX) ? 1 : 0, fore.allocated, fillAlpha, fore.allocated, outlineAlpha, 0); +	} else if (style == INDIC_DASH) { +		int x = rc.left; +		while (x < rc.right) { +			surface->MoveTo(x, ymid); +			surface->LineTo(Platform::Minimum(x + 4, rc.right), ymid); +			x += 7; +		} +	} else if (style == INDIC_DOTS) { +		int x = rc.left; +		while (x < rc.right) { +			PRectangle rcDot(x, ymid, x+1, ymid+1); +			surface->FillRectangle(rcDot, fore.allocated); +			x += 2; +		}  	} else {	// Either INDIC_PLAIN or unknown  		surface->MoveTo(rc.left, ymid);  		surface->LineTo(rc.right, ymid); | 
