aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2020-03-19 09:22:10 +1100
committerNeil <nyamatongwe@gmail.com>2020-03-19 09:22:10 +1100
commit63e0fd2c6b10f4736f669e90f87baf39308afc34 (patch)
tree5fed3d0d4a2d6312161b429b82a488a3ff917f4b /src
parent2fe586ccb1828df480fbc398b6f34e0a352d202a (diff)
downloadscintilla-mirror-63e0fd2c6b10f4736f669e90f87baf39308afc34.tar.gz
Minor improvements - noexcept, constexpr, cast removal.
Diffstat (limited to 'src')
-rw-r--r--src/EditView.cxx18
-rw-r--r--src/EditView.h2
2 files changed, 9 insertions, 11 deletions
diff --git a/src/EditView.cxx b/src/EditView.cxx
index 023930c0a..9cacafb3b 100644
--- a/src/EditView.cxx
+++ b/src/EditView.cxx
@@ -72,7 +72,7 @@ PrintParameters::PrintParameters() noexcept {
namespace Scintilla {
-bool ValidStyledText(const ViewStyle &vs, size_t styleOffset, const StyledText &st) {
+bool ValidStyledText(const ViewStyle &vs, size_t styleOffset, const StyledText &st) noexcept {
if (st.multipleStyles) {
for (size_t iStyle = 0; iStyle<st.length; iStyle++) {
if (!vs.ValidStyle(styleOffset + st.styles[iStyle]))
@@ -171,8 +171,6 @@ void DrawStyledText(Surface *surface, const ViewStyle &vs, int styleOffset, PRec
}
-const XYPOSITION epsilon = 0.0001f; // A small nudge to avoid floating point precision issues
-
EditView::EditView() {
tabWidthMinimumPixels = 2; // needed for calculating tab stops for fractional proportional fonts
hideSelection = false;
@@ -345,6 +343,8 @@ LineLayout *EditView::RetrieveLineLayout(Sci::Line lineNumber, const EditModel &
namespace {
+constexpr XYPOSITION epsilon = 0.0001f; // A small nudge to avoid floating point precision issues
+
/**
* Return the chDoc argument with case transformed as indicated by the caseForce argument.
* chPrevious is needed for camel casing.
@@ -835,7 +835,7 @@ static ColourDesired SelectionBackground(const ViewStyle &vsDraw, bool main, boo
}
static ColourDesired TextBackground(const EditModel &model, const ViewStyle &vsDraw, const LineLayout *ll,
- ColourOptional background, int inSelection, bool inHotspot, int styleMain, Sci::Position i) {
+ ColourOptional background, int inSelection, bool inHotspot, int styleMain, Sci::Position i) noexcept {
if (inSelection == 1) {
if (vsDraw.selColours.back.isSet && (vsDraw.selAlpha == SC_ALPHA_NOALPHA)) {
return SelectionBackground(vsDraw, true, model.primarySelection);
@@ -1441,7 +1441,7 @@ void EditView::DrawCarets(Surface *surface, const EditModel &model, const ViewSt
// Get caret point
const ScreenLine screenLine(ll, subLine, vsDraw, rcLine.right, tabWidthMinimumPixels);
- const int caretPosition = static_cast<int>(posCaret.Position() - posLineStart - ll->LineStart(subLine));
+ const int caretPosition = offset - ll->LineStart(subLine);
std::unique_ptr<IScreenLineLayout> slLayout = surface->Layout(&screenLine);
const XYPOSITION caretLeft = slLayout->XFromPosition(caretPosition);
@@ -2423,13 +2423,11 @@ Sci::Position EditView::FormatRange(bool draw, const Sci_RangeToFormat *pfr, Sur
vsPrint.Refresh(*surfaceMeasure, model.pdoc->tabInChars); // Recalculate fixedColumnWidth
}
- const Sci::Line linePrintStart =
- model.pdoc->SciLineFromPosition(static_cast<Sci::Position>(pfr->chrg.cpMin));
+ const Sci::Line linePrintStart = model.pdoc->SciLineFromPosition(pfr->chrg.cpMin);
Sci::Line linePrintLast = linePrintStart + (pfr->rc.bottom - pfr->rc.top) / vsPrint.lineHeight - 1;
if (linePrintLast < linePrintStart)
linePrintLast = linePrintStart;
- const Sci::Line linePrintMax =
- model.pdoc->SciLineFromPosition(static_cast<Sci::Position>(pfr->chrg.cpMax));
+ const Sci::Line linePrintMax = model.pdoc->SciLineFromPosition(pfr->chrg.cpMax);
if (linePrintLast > linePrintMax)
linePrintLast = linePrintMax;
//Platform::DebugPrintf("Formatting lines=[%0d,%0d,%0d] top=%0d bottom=%0d line=%0d %0d\n",
@@ -2447,7 +2445,7 @@ Sci::Position EditView::FormatRange(bool draw, const Sci_RangeToFormat *pfr, Sur
Sci::Line lineDoc = linePrintStart;
- Sci::Position nPrintPos = static_cast<Sci::Position>(pfr->chrg.cpMin);
+ Sci::Position nPrintPos = pfr->chrg.cpMin;
int visibleLine = 0;
int widthPrint = pfr->rc.right - pfr->rc.left - vsPrint.fixedColumnWidth;
if (printParameters.wrapState == eWrapNone)
diff --git a/src/EditView.h b/src/EditView.h
index 90771c2ba..bf62f011d 100644
--- a/src/EditView.h
+++ b/src/EditView.h
@@ -33,7 +33,7 @@ enum DrawPhase {
drawAll = 0x1FF
};
-bool ValidStyledText(const ViewStyle &vs, size_t styleOffset, const StyledText &st);
+bool ValidStyledText(const ViewStyle &vs, size_t styleOffset, const StyledText &st) noexcept;
int WidestLineWidth(Surface *surface, const ViewStyle &vs, int styleOffset, const StyledText &st);
void DrawTextNoClipPhase(Surface *surface, PRectangle rc, const Style &style, XYPOSITION ybase,
std::string_view text, DrawPhase phase);