aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNicholai Benalal <unknown>2018-04-19 07:31:34 +1000
committerNicholai Benalal <unknown>2018-04-19 07:31:34 +1000
commit1eb0f569bf6e9d3fde4f482fb2c06e980b6f72af (patch)
treeed0ed7afb0f2df1328cc0ff0201a6cd5907d1314
parentcf140021a52c563e8f6835364499c0ecf54e8ded (diff)
downloadscintilla-mirror-1eb0f569bf6e9d3fde4f482fb2c06e980b6f72af.tar.gz
Backport: SC_PRINT_SCREENCOLOURS doesn't force the background colour of line numbers white.
Backport of changeset 6700:daa126b86c17.
-rw-r--r--doc/ScintillaDoc.html17
-rw-r--r--doc/ScintillaHistory.html5
-rw-r--r--include/Scintilla.h1
-rw-r--r--include/Scintilla.iface3
-rw-r--r--src/EditView.cxx5
5 files changed, 26 insertions, 5 deletions
diff --git a/doc/ScintillaDoc.html b/doc/ScintillaDoc.html
index b55c305b4..d019a5688 100644
--- a/doc/ScintillaDoc.html
+++ b/doc/ScintillaDoc.html
@@ -5534,7 +5534,8 @@ struct Sci_RangeToFormat {
<td align="center">0</td>
- <td>Print using the current screen colours. This is the default.</td>
+ <td>Print using the current screen colours with the exception of line number margins which print on a white background.
+ This is the default.</td>
</tr>
<tr>
@@ -5567,9 +5568,19 @@ struct Sci_RangeToFormat {
<td align="center">4</td>
- <td>Everything prints in its own colour on a white background except that line numbers
- use their own background colour.</td>
+ <td>Everything prints in its own foreground colour but all styles up to and including STYLE_LINENUMBER will print
+ on a white background.</td>
</tr>
+
+ <tr>
+ <td align="left"><code>SC_PRINT_SCREENCOLOURS</code></td>
+
+ <td align="center">5</td>
+
+ <td>Print using the current screen colours for both foreground and background.
+ This is the only mode that does not set the background colour of the line number margin to white.</td>
+ </tr>
+
</tbody>
</table>
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index 61d3e3bf3..620b44aad 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -520,6 +520,7 @@
<td>Georger Araújo</td>
<td>Dimitar Radev</td>
<td>Gunter Königsmann</td>
+ <td>Nicholai Benalal</td>
</tr>
</table>
<p>
@@ -543,6 +544,10 @@
2 GigaBytes.
</li>
<li>
+ Additional print option SC_PRINT_SCREENCOLOURS prints with the same colours used on screen
+ including line numbers.
+ </li>
+ <li>
Set the last X chosen when SCI_REPLACESEL called to ensure macros work
when text insertion followed by caret up or down.
</li>
diff --git a/include/Scintilla.h b/include/Scintilla.h
index d17a53718..833ac9aab 100644
--- a/include/Scintilla.h
+++ b/include/Scintilla.h
@@ -390,6 +390,7 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam,
#define SC_PRINT_BLACKONWHITE 2
#define SC_PRINT_COLOURONWHITE 3
#define SC_PRINT_COLOURONWHITEDEFAULTBG 4
+#define SC_PRINT_SCREENCOLOURS 5
#define SCI_SETPRINTCOLOURMODE 2148
#define SCI_GETPRINTCOLOURMODE 2149
#define SCFIND_WHOLEWORD 0x2
diff --git a/include/Scintilla.iface b/include/Scintilla.iface
index e7c6d4725..b51d0db96 100644
--- a/include/Scintilla.iface
+++ b/include/Scintilla.iface
@@ -922,6 +922,7 @@ get int GetPrintMagnification=2147(,)
enu PrintOption=SC_PRINT_
# PrintColourMode - use same colours as screen.
+# with the exception of line number margins, which use a white background
val SC_PRINT_NORMAL=0
# PrintColourMode - invert the light value of each style for printing.
val SC_PRINT_INVERTLIGHT=1
@@ -931,6 +932,8 @@ val SC_PRINT_BLACKONWHITE=2
val SC_PRINT_COLOURONWHITE=3
# PrintColourMode - only the default-background is forced to be white for printing.
val SC_PRINT_COLOURONWHITEDEFAULTBG=4
+# PrintColourMode - use same colours as screen, including line number margins.
+val SC_PRINT_SCREENCOLOURS=5
# Modify colours when printing for clearer printed text.
set void SetPrintColourMode=2148(int mode,)
diff --git a/src/EditView.cxx b/src/EditView.cxx
index 5ff43558d..65b2e1038 100644
--- a/src/EditView.cxx
+++ b/src/EditView.cxx
@@ -2242,8 +2242,9 @@ Sci::Position EditView::FormatRange(bool draw, Sci_RangeToFormat *pfr, Surface *
}
}
}
- // White background for the line numbers
- vsPrint.styles[STYLE_LINENUMBER].back = ColourDesired(0xff, 0xff, 0xff);
+ // White background for the line numbers if SC_PRINT_SCREENCOLOURS isn't used
+ if (printParameters.colourMode != SC_PRINT_SCREENCOLOURS)
+ vsPrint.styles[STYLE_LINENUMBER].back = ColourDesired(0xff, 0xff, 0xff);
// Printing uses different margins, so reset screen margins
vsPrint.leftMarginWidth = 0;