diff options
author | Zufu Liu <unknown> | 2021-09-14 14:06:00 +1000 |
---|---|---|
committer | Zufu Liu <unknown> | 2021-09-14 14:06:00 +1000 |
commit | 7da3a338b9fdb8d905c653dbf5d7a8b9ed3b1a07 (patch) | |
tree | fc9591d3dd254f4237862532ebb4e43140ef26cb | |
parent | b2ef8334eaadb20998b45a85efecef73776e61e0 (diff) | |
download | scintilla-mirror-7da3a338b9fdb8d905c653dbf5d7a8b9ed3b1a07.tar.gz |
Convert to range for and extract colourMode.
-rw-r--r-- | src/EditView.cxx | 28 |
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; |