aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorZufu Liu <unknown>2021-09-14 14:06:00 +1000
committerZufu Liu <unknown>2021-09-14 14:06:00 +1000
commit7da3a338b9fdb8d905c653dbf5d7a8b9ed3b1a07 (patch)
treefc9591d3dd254f4237862532ebb4e43140ef26cb
parentb2ef8334eaadb20998b45a85efecef73776e61e0 (diff)
downloadscintilla-mirror-7da3a338b9fdb8d905c653dbf5d7a8b9ed3b1a07.tar.gz
Convert to range for and extract colourMode.
-rw-r--r--src/EditView.cxx28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/EditView.cxx b/src/EditView.cxx
index 732a0f72e..fb192abef 100644
--- a/src/EditView.cxx
+++ b/src/EditView.cxx
@@ -2590,24 +2590,24 @@ Sci::Position EditView::FormatRange(bool draw, const RangeToFormat *pfr, Surface
vsPrint.braceBadLightIndicatorSet = false;
// Set colours for printing according to users settings
- for (size_t sty = 0; sty < vsPrint.styles.size(); sty++) {
- if (printParameters.colourMode == PrintOption::InvertLight) {
- vsPrint.styles[sty].fore = InvertedLight(vsPrint.styles[sty].fore);
- vsPrint.styles[sty].back = InvertedLight(vsPrint.styles[sty].back);
- } else if (printParameters.colourMode == PrintOption::BlackOnWhite) {
- vsPrint.styles[sty].fore = ColourRGBA(0, 0, 0);
- vsPrint.styles[sty].back = ColourRGBA(0xff, 0xff, 0xff);
- } else if (printParameters.colourMode == PrintOption::ColourOnWhite) {
- vsPrint.styles[sty].back = ColourRGBA(0xff, 0xff, 0xff);
- } else if (printParameters.colourMode == PrintOption::ColourOnWhiteDefaultBG) {
- if (sty <= StyleDefault) {
- vsPrint.styles[sty].back = ColourRGBA(0xff, 0xff, 0xff);
- }
+ const PrintOption colourMode = printParameters.colourMode;
+ const std::vector<Style>::iterator endStyles = (colourMode == PrintOption::ColourOnWhiteDefaultBG) ?
+ vsPrint.styles.begin() + StyleLineNumber : vsPrint.styles.end();
+ for (std::vector<Style>::iterator it = vsPrint.styles.begin(); it != endStyles; ++it) {
+ if (colourMode == PrintOption::InvertLight) {
+ it->fore = InvertedLight(it->fore);
+ it->back = InvertedLight(it->back);
+ } else if (colourMode == PrintOption::BlackOnWhite) {
+ it->fore = ColourRGBA(0, 0, 0);
+ it->back = ColourRGBA(0xff, 0xff, 0xff);
+ } else if (colourMode == PrintOption::ColourOnWhite || colourMode == PrintOption::ColourOnWhiteDefaultBG) {
+ it->back = ColourRGBA(0xff, 0xff, 0xff);
}
}
// White background for the line numbers if PrintOption::ScreenColours isn't used
- if (printParameters.colourMode != PrintOption::ScreenColours)
+ if (colourMode != PrintOption::ScreenColours) {
vsPrint.styles[StyleLineNumber].back = ColourRGBA(0xff, 0xff, 0xff);
+ }
// Printing uses different margins, so reset screen margins
vsPrint.leftMarginWidth = 0;