diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Editor.cxx | 2 | ||||
| -rw-r--r-- | src/LineMarker.cxx | 12 | ||||
| -rw-r--r-- | src/LineMarker.h | 2 | 
3 files changed, 13 insertions, 3 deletions
| diff --git a/src/Editor.cxx b/src/Editor.cxx index 73114f103..fecd4b08e 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -859,7 +859,7 @@ void Editor::PaintSelMargin(Surface *surfWindow, PRectangle &rc) {  				if (marks) {  					for (int markBit = 0; (markBit < 32) && marks; markBit++) {  						if (marks & 1) { -							vs.markers[markBit].Draw(surface, rcMarker); +							vs.markers[markBit].Draw(surface, rcMarker, vs.styles[STYLE_LINENUMBER].font);  						}  						marks >>= 1;  					} diff --git a/src/LineMarker.cxx b/src/LineMarker.cxx index dc1468d83..9cb5d0d79 100644 --- a/src/LineMarker.cxx +++ b/src/LineMarker.cxx @@ -40,7 +40,7 @@ static void DrawMinus(Surface *surface, int centreX, int centreY, int armSize, C  	surface->FillRectangle(rcH, fore);  } -void LineMarker::Draw(Surface *surface, PRectangle &rcWhole) { +void LineMarker::Draw(Surface *surface, PRectangle &rcWhole, Font &fontForCharacter) {  	// Restrict most shapes a bit  	PRectangle rc = rcWhole;  	rc.top++; @@ -230,6 +230,16 @@ void LineMarker::Draw(Surface *surface, PRectangle &rcWhole) {  		surface->MoveTo(centreX, rcWhole.top);  		surface->LineTo(centreX, centreY - blobSize); +	} else if (markType >= SC_MARK_CHARACTER) { +		char character[2]; +		character[0] = ' '; +		character[0] = markType - SC_MARK_CHARACTER; +		int width = surface->WidthText(fontForCharacter, character, 1); +		rc.left += (rc.Width() - width) / 2; +		rc.right = rc.left + width; +		surface->DrawTextClipped(rc, fontForCharacter, rc.bottom - 2,  +			character, 1, fore.allocated, back.allocated); +  	} else { // SC_MARK_SHORTARROW  		Point pts[] = {  			Point(centreX, centreY + dimOn2), diff --git a/src/LineMarker.h b/src/LineMarker.h index ee0f36c25..b9dd15d06 100644 --- a/src/LineMarker.h +++ b/src/LineMarker.h @@ -20,7 +20,7 @@ public:  		fore = Colour(0,0,0);  		back = Colour(0xff,0xff,0xff);  	} -	void Draw(Surface *surface, PRectangle &rc); +	void Draw(Surface *surface, PRectangle &rc, Font &fontForCharacter);  };  #endif | 
