diff options
| -rw-r--r-- | doc/ScintillaDoc.html | 12 | ||||
| -rw-r--r-- | doc/ScintillaHistory.html | 4 | ||||
| -rw-r--r-- | include/Scintilla.h | 3 | ||||
| -rw-r--r-- | include/Scintilla.iface | 7 | ||||
| -rw-r--r-- | src/Editor.cxx | 13 | ||||
| -rw-r--r-- | src/MarginView.cxx | 3 | ||||
| -rw-r--r-- | src/ViewStyle.h | 1 | 
7 files changed, 41 insertions, 2 deletions
| diff --git a/doc/ScintillaDoc.html b/doc/ScintillaDoc.html index b348a68b7..3ebf00919 100644 --- a/doc/ScintillaDoc.html +++ b/doc/ScintillaDoc.html @@ -3172,6 +3172,8 @@ struct Sci_TextToFind {      cursor)</a><br />       <a class="message" href="#SCI_GETMARGINCURSORN">SCI_GETMARGINCURSORN(int      margin)</a><br /> +     <a class="message" href="#SCI_SETMARGINBACKN">SCI_SETMARGINBACKN(int margin, int colour)</a><br /> +     <a class="message" href="#SCI_GETMARGINBACKN">SCI_GETMARGINBACKN(int margin)</a><br />       <a class="message" href="#SCI_SETMARGINLEFT">SCI_SETMARGINLEFT(<unused>, int      pixels)</a><br />       <a class="message" href="#SCI_GETMARGINLEFT">SCI_GETMARGINLEFT</a><br /> @@ -3201,9 +3203,10 @@ struct Sci_TextToFind {      A margin with application defined text may use <code>SC_MARGIN_TEXT</code> (4) or      <code>SC_MARGIN_RTEXT</code> (5) to right justify the text.      By convention, margin 0 is used for line numbers and the next two are used for symbols. You can -    also use the constants <code>SC_MARGIN_BACK</code> (2) and <code>SC_MARGIN_FORE</code> (3) for +    also use the constants <code>SC_MARGIN_BACK</code> (2), <code>SC_MARGIN_FORE</code> (3), +    and <code>SC_MARGIN_COLOUR</code> (6) for      symbol margins that set their background colour to match the STYLE_DEFAULT background and -    foreground colours.</p> +    foreground colours or a specified colour.</p>      <p><b id="SCI_SETMARGINWIDTHN">SCI_SETMARGINWIDTHN(int margin, int pixelWidth)</b><br />       <b id="SCI_GETMARGINWIDTHN">SCI_GETMARGINWIDTHN(int margin)</b><br /> @@ -3259,6 +3262,11 @@ struct Sci_TextToFind {       reversed arrow with       <code>SCI_SETMARGINCURSORN(margin, SC_CURSORREVERSEARROW)</code>.</p> +    <p><b id="SCI_SETMARGINBACKN">SCI_SETMARGINBACKN(int margin, int <a class="jump" href="#colour">colour</a>)</b><br /> +     <b id="SCI_GETMARGINBACKN">SCI_GETMARGINBACKN(int margin)</b><br /> +     A margin of type <code>SC_MARGIN_COLOUR</code> +     may have its colour set with <code>SCI_SETMARGINBACKN</code>.</p> +      <p><b id="SCI_SETMARGINLEFT">SCI_SETMARGINLEFT(<unused>, int pixels)</b><br />       <b id="SCI_GETMARGINLEFT">SCI_GETMARGINLEFT</b><br />       <b id="SCI_SETMARGINRIGHT">SCI_SETMARGINRIGHT(<unused>, int pixels)</b><br /> diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 16cad92ee..96de2872e 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -531,6 +531,10 @@  	vertical edges simultaneously.  	<li>  	<li> +	Margin type SC_MARGIN_COLOUR added so that the application may +	choose any colour for a margin with SCI_SETMARGINBACKN. +	<li> +	<li>  	On Win32, mouse wheel scrolling can be restricted to only occur when the mouse is  	within the window.  	<li> diff --git a/include/Scintilla.h b/include/Scintilla.h index 2d6b06b22..77f4d5c7a 100644 --- a/include/Scintilla.h +++ b/include/Scintilla.h @@ -167,6 +167,7 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam,  #define SC_MARGIN_FORE 3  #define SC_MARGIN_TEXT 4  #define SC_MARGIN_RTEXT 5 +#define SC_MARGIN_COLOUR 6  #define SCI_SETMARGINTYPEN 2240  #define SCI_GETMARGINTYPEN 2241  #define SCI_SETMARGINWIDTHN 2242 @@ -177,6 +178,8 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam,  #define SCI_GETMARGINSENSITIVEN 2247  #define SCI_SETMARGINCURSORN 2248  #define SCI_GETMARGINCURSORN 2249 +#define SCI_SETMARGINBACKN 2250 +#define SCI_GETMARGINBACKN 2251  #define STYLE_DEFAULT 32  #define STYLE_LINENUMBER 33  #define STYLE_BRACELIGHT 34 diff --git a/include/Scintilla.iface b/include/Scintilla.iface index bee9aeef8..fdc90807e 100644 --- a/include/Scintilla.iface +++ b/include/Scintilla.iface @@ -360,6 +360,7 @@ val SC_MARGIN_BACK=2  val SC_MARGIN_FORE=3  val SC_MARGIN_TEXT=4  val SC_MARGIN_RTEXT=5 +val SC_MARGIN_COLOUR=6  # Set a margin to be either numeric or symbolic.  set void SetMarginTypeN=2240(int margin, int marginType) @@ -391,6 +392,12 @@ set void SetMarginCursorN=2248(int margin, int cursor)  # Retrieve the cursor shown in a margin.  get int GetMarginCursorN=2249(int margin,) +# Set the background colour of a margin. Only visible for SC_MARGIN_COLOUR. +set void SetMarginBackN=2250(int margin, colour back) + +# Retrieve the background colour of a margin +get colour GetMarginBackN=2251(int margin,) +  # Styles in range 32..38 are predefined for parts of the UI and are not used as normal styles.  # Style 39 is for future use.  enu StylesCommon=STYLE_ diff --git a/src/Editor.cxx b/src/Editor.cxx index ee4d3947f..0e686e101 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -6884,6 +6884,19 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {  		else  			return 0; +	case SCI_SETMARGINBACKN: +		if (ValidMargin(wParam)) { +			vs.ms[wParam].back = ColourDesired(static_cast<long>(lParam)); +			InvalidateStyleRedraw(); +		} +		break; + +	case SCI_GETMARGINBACKN: +		if (ValidMargin(wParam)) +			return vs.ms[wParam].back.AsLong(); +		else +			return 0; +  	case SCI_STYLECLEARALL:  		vs.ClearStyles();  		InvalidateStyleRedraw(); diff --git a/src/MarginView.cxx b/src/MarginView.cxx index 52a2cb2dd..ab8cbf4f8 100644 --- a/src/MarginView.cxx +++ b/src/MarginView.cxx @@ -216,6 +216,9 @@ void MarginView::PaintMargin(Surface *surface, int topLine, PRectangle rc, PRect  					case SC_MARGIN_FORE:  						colour = vs.styles[STYLE_DEFAULT].fore;  						break; +					case SC_MARGIN_COLOUR: +						colour = vs.ms[margin].back; +						break;  					default:  						colour = vs.styles[STYLE_LINENUMBER].back;  						break; diff --git a/src/ViewStyle.h b/src/ViewStyle.h index be84598f1..7a2c26f63 100644 --- a/src/ViewStyle.h +++ b/src/ViewStyle.h @@ -17,6 +17,7 @@ namespace Scintilla {  class MarginStyle {  public:  	int style; +	ColourDesired back;  	int width;  	int mask;  	bool sensitive; | 
