diff options
| -rw-r--r-- | doc/ScintillaDoc.html | 45 | ||||
| -rw-r--r-- | include/Scintilla.h | 1 | ||||
| -rw-r--r-- | include/Scintilla.iface | 1 | ||||
| -rw-r--r-- | src/LineMarker.cxx | 13 | 
4 files changed, 45 insertions, 15 deletions
| diff --git a/doc/ScintillaDoc.html b/doc/ScintillaDoc.html index 1aaab5307..a40a7334f 100644 --- a/doc/ScintillaDoc.html +++ b/doc/ScintillaDoc.html @@ -3568,12 +3568,22 @@ struct Sci_TextToFind {      <p><b id="SCI_MARKERDEFINE">SCI_MARKERDEFINE(int markerNumber, int markerSymbols)</b><br />       This message associates a marker number in the range 0 to 31 with one of the marker symbols or      an ASCII character. The general-purpose marker symbols currently available are:<br /> -     <code>SC_MARK_CIRCLE</code>, <code>SC_MARK_ROUNDRECT</code>, <code>SC_MARK_ARROW</code>, -    <code>SC_MARK_SMALLRECT</code>, <code>SC_MARK_SHORTARROW</code>, <code>SC_MARK_EMPTY</code>, -    <code>SC_MARK_ARROWDOWN</code>, <code>SC_MARK_MINUS</code>, <code>SC_MARK_PLUS</code>, -    <code>SC_MARK_ARROWS</code>, <code>SC_MARK_DOTDOTDOT</code>, -    <code>SC_MARK_BACKGROUND</code>, <code>SC_MARK_LEFTRECT</code>, -    <code>SC_MARK_FULLRECT</code>, and <code>SC_MARK_UNDERLINE</code>.</p> +    <code>SC_MARK_CIRCLE</code>, +    <code>SC_MARK_ROUNDRECT</code>, +    <code>SC_MARK_ARROW</code>, +    <code>SC_MARK_SMALLRECT</code>, +    <code>SC_MARK_SHORTARROW</code>, +    <code>SC_MARK_EMPTY</code>, +    <code>SC_MARK_ARROWDOWN</code>, +    <code>SC_MARK_MINUS</code>, +    <code>SC_MARK_PLUS</code>, +    <code>SC_MARK_ARROWS</code>, +    <code>SC_MARK_DOTDOTDOT</code>, +    <code>SC_MARK_BACKGROUND</code>, +    <code>SC_MARK_LEFTRECT</code>, +    <code>SC_MARK_FULLRECT</code>, +    <code>SC_MARK_BOOKMARK</code>, and  +    <code>SC_MARK_UNDERLINE</code>.</p>      <p>The <code>SC_MARK_BACKGROUND</code> marker changes the background colour of the line only.            The <code>SC_MARK_FULLRECT</code> symbol mirrors this, changing only the margin background colour. @@ -3588,16 +3598,23 @@ struct Sci_TextToFind {      <p>There are also marker symbols designed for use in the folding margin in a flattened tree      style.<br /> -     <code>SC_MARK_BOXMINUS</code>, <code>SC_MARK_BOXMINUSCONNECTED</code>, -    <code>SC_MARK_BOXPLUS</code>, <code>SC_MARK_BOXPLUSCONNECTED</code>, -    <code>SC_MARK_CIRCLEMINUS</code>, <code>SC_MARK_CIRCLEMINUSCONNECTED</code>, -    <code>SC_MARK_CIRCLEPLUS</code>, <code>SC_MARK_CIRCLEPLUSCONNECTED</code>, -    <code>SC_MARK_LCORNER</code>, <code>SC_MARK_LCORNERCURVE</code>, <code>SC_MARK_TCORNER</code>, -    <code>SC_MARK_TCORNERCURVE</code>, and <code>SC_MARK_VLINE</code>.</p> -     Characters can be used as markers by adding the ASCII value of the character to +    <code>SC_MARK_BOXMINUS</code>, +    <code>SC_MARK_BOXMINUSCONNECTED</code>, +    <code>SC_MARK_BOXPLUS</code>, +    <code>SC_MARK_BOXPLUSCONNECTED</code>, +    <code>SC_MARK_CIRCLEMINUS</code>, +    <code>SC_MARK_CIRCLEMINUSCONNECTED</code>, +    <code>SC_MARK_CIRCLEPLUS</code>, +    <code>SC_MARK_CIRCLEPLUSCONNECTED</code>, +    <code>SC_MARK_LCORNER</code>, +    <code>SC_MARK_LCORNERCURVE</code>, +    <code>SC_MARK_TCORNER</code>, +    <code>SC_MARK_TCORNERCURVE</code>, and +    <code>SC_MARK_VLINE</code>.</p> +    Characters can be used as markers by adding the ASCII value of the character to      <code>SC_MARK_CHARACTER</code> (10000). For example, to use 'A' (ASCII code 65) as marker      number 1 use:<br /> -     <code>SCI_MARKERDEFINE(1, SC_MARK_CHARACTER+65)</code>. <br /> +    <code>SCI_MARKERDEFINE(1, SC_MARK_CHARACTER+65)</code>. <br />      <p>The marker numbers <code>SC_MARKNUM_FOLDER</code> and <code>SC_MARKNUM_FOLDEROPEN</code> are      used for showing that a fold is present and open or closed. Any symbols may be assigned for diff --git a/include/Scintilla.h b/include/Scintilla.h index dda068d75..ae1abc8e0 100644 --- a/include/Scintilla.h +++ b/include/Scintilla.h @@ -125,6 +125,7 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam,  #define SC_MARK_AVAILABLE 28  #define SC_MARK_UNDERLINE 29  #define SC_MARK_RGBAIMAGE 30 +#define SC_MARK_BOOKMARK 31  #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 32a797251..0728eadc0 100644 --- a/include/Scintilla.iface +++ b/include/Scintilla.iface @@ -268,6 +268,7 @@ val SC_MARK_LEFTRECT=27  val SC_MARK_AVAILABLE=28  val SC_MARK_UNDERLINE=29  val SC_MARK_RGBAIMAGE=30 +val SC_MARK_BOOKMARK=31  val SC_MARK_CHARACTER=10000 diff --git a/src/LineMarker.cxx b/src/LineMarker.cxx index baa916254..cf44928b4 100644 --- a/src/LineMarker.cxx +++ b/src/LineMarker.cxx @@ -1,6 +1,6 @@  // Scintilla source code edit control  /** @file LineMarker.cxx - ** Defines the look of a line marker in the margin . + ** Defines the look of a line marker in the margin.   **/  // Copyright 1998-2011 by Neil Hodgson <neilh@scintilla.org>  // The License.txt file describes the conditions under which this software may be distributed. @@ -380,6 +380,17 @@ void LineMarker::Draw(Surface *surface, PRectangle &rcWhole, Font &fontForCharac  		PRectangle rcLeft = rcWhole;  		rcLeft.right = rcLeft.left + 4;  		surface->FillRectangle(rcLeft, back); +	} else if (markType == SC_MARK_BOOKMARK) { +		int halfHeight = minDim / 3; +		Point pts[] = { +			Point(rc.left, centreY-halfHeight), +			Point(rc.right-3, centreY-halfHeight), +			Point(rc.right-3-halfHeight, centreY), +			Point(rc.right-3, centreY+halfHeight), +			Point(rc.left, centreY+halfHeight), +		}; +		surface->Polygon(pts, sizeof(pts) / sizeof(pts[0]), +				fore, back);  	} else { // SC_MARK_FULLRECT  		surface->FillRectangle(rcWhole, back);  	} | 
