diff options
author | Neil <nyamatongwe@gmail.com> | 2018-05-14 13:57:03 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2018-05-14 13:57:03 +1000 |
commit | 3fc8c97d80a6797e60e6b203c9b4aa9d553df8a7 (patch) | |
tree | 9875855a197986e4ba8bf8ab1e8a491d1d1b321f /src | |
parent | 9948c490832acd4d211070adfef982d1c0e8b4c4 (diff) | |
download | scintilla-mirror-3fc8c97d80a6797e60e6b203c9b4aa9d553df8a7.tar.gz |
Modernize Platform.h (2) - noexcept, const, constexpr.
ColourDesired is an int instead of long for consistency over different platforms.
Changes made to Point, PRectangle, and ColourDesired.
RoundXYPosition removed.
Diffstat (limited to 'src')
-rw-r--r-- | src/Editor.cxx | 56 | ||||
-rw-r--r-- | src/ScintillaBase.cxx | 6 | ||||
-rw-r--r-- | src/ViewStyle.h | 4 | ||||
-rw-r--r-- | src/XPM.cxx | 29 |
4 files changed, 59 insertions, 36 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx index c89f3b6b8..80cdbc97a 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -5593,10 +5593,10 @@ void Editor::StyleSetMessage(unsigned int iMessage, uptr_t wParam, sptr_t lParam vs.EnsureStyle(wParam); switch (iMessage) { case SCI_STYLESETFORE: - vs.styles[wParam].fore = ColourDesired(static_cast<long>(lParam)); + vs.styles[wParam].fore = ColourDesired(static_cast<int>(lParam)); break; case SCI_STYLESETBACK: - vs.styles[wParam].back = ColourDesired(static_cast<long>(lParam)); + vs.styles[wParam].back = ColourDesired(static_cast<int>(lParam)); break; case SCI_STYLESETBOLD: vs.styles[wParam].weight = lParam != 0 ? SC_WEIGHT_BOLD : SC_WEIGHT_NORMAL; @@ -5648,9 +5648,9 @@ sptr_t Editor::StyleGetMessage(unsigned int iMessage, uptr_t wParam, sptr_t lPar vs.EnsureStyle(wParam); switch (iMessage) { case SCI_STYLEGETFORE: - return vs.styles[wParam].fore.AsLong(); + return vs.styles[wParam].fore.AsInteger(); case SCI_STYLEGETBACK: - return vs.styles[wParam].back.AsLong(); + return vs.styles[wParam].back.AsInteger(); case SCI_STYLEGETBOLD: return vs.styles[wParam].weight > SC_WEIGHT_NORMAL; case SCI_STYLEGETWEIGHT: @@ -6790,13 +6790,13 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { case SCI_MARKERSETFORE: if (wParam <= MARKER_MAX) - vs.markers[wParam].fore = ColourDesired(static_cast<long>(lParam)); + vs.markers[wParam].fore = ColourDesired(static_cast<int>(lParam)); InvalidateStyleData(); RedrawSelMargin(); break; case SCI_MARKERSETBACKSELECTED: if (wParam <= MARKER_MAX) - vs.markers[wParam].backSelected = ColourDesired(static_cast<long>(lParam)); + vs.markers[wParam].backSelected = ColourDesired(static_cast<int>(lParam)); InvalidateStyleData(); RedrawSelMargin(); break; @@ -6806,7 +6806,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { break; case SCI_MARKERSETBACK: if (wParam <= MARKER_MAX) - vs.markers[wParam].back = ColourDesired(static_cast<long>(lParam)); + vs.markers[wParam].back = ColourDesired(static_cast<int>(lParam)); InvalidateStyleData(); RedrawSelMargin(); break; @@ -6945,14 +6945,14 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { case SCI_SETMARGINBACKN: if (ValidMargin(wParam)) { - vs.ms[wParam].back = ColourDesired(static_cast<long>(lParam)); + vs.ms[wParam].back = ColourDesired(static_cast<int>(lParam)); InvalidateStyleRedraw(); } break; case SCI_GETMARGINBACKN: if (ValidMargin(wParam)) - return vs.ms[wParam].back.AsLong(); + return vs.ms[wParam].back.AsInteger(); else return 0; @@ -7047,9 +7047,9 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { InvalidateStyleRedraw(); break; case SCI_GETCARETLINEBACK: - return vs.caretLineBackground.AsLong(); + return vs.caretLineBackground.AsInteger(); case SCI_SETCARETLINEBACK: - vs.caretLineBackground = ColourDesired(static_cast<long>(wParam)); + vs.caretLineBackground = ColourDesired(static_cast<int>(wParam)); InvalidateStyleRedraw(); break; case SCI_GETCARETLINEBACKALPHA: @@ -7197,13 +7197,13 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { case SCI_SETSELFORE: vs.selColours.fore = ColourOptional(wParam, lParam); - vs.selAdditionalForeground = ColourDesired(static_cast<long>(lParam)); + vs.selAdditionalForeground = ColourDesired(static_cast<int>(lParam)); InvalidateStyleRedraw(); break; case SCI_SETSELBACK: vs.selColours.back = ColourOptional(wParam, lParam); - vs.selAdditionalBackground = ColourDesired(static_cast<long>(lParam)); + vs.selAdditionalBackground = ColourDesired(static_cast<int>(lParam)); InvalidateStyleRedraw(); break; @@ -7235,12 +7235,12 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { break; case SCI_SETCARETFORE: - vs.caretcolour = ColourDesired(static_cast<long>(wParam)); + vs.caretcolour = ColourDesired(static_cast<int>(wParam)); InvalidateStyleRedraw(); break; case SCI_GETCARETFORE: - return vs.caretcolour.AsLong(); + return vs.caretcolour.AsInteger(); case SCI_SETCARETSTYLE: if (wParam <= CARETSTYLE_BLOCK) @@ -7289,14 +7289,14 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { case SCI_INDICSETFORE: if (wParam <= INDIC_MAX) { - vs.indicators[wParam].sacNormal.fore = ColourDesired(static_cast<long>(lParam)); - vs.indicators[wParam].sacHover.fore = ColourDesired(static_cast<long>(lParam)); + vs.indicators[wParam].sacNormal.fore = ColourDesired(static_cast<int>(lParam)); + vs.indicators[wParam].sacHover.fore = ColourDesired(static_cast<int>(lParam)); InvalidateStyleRedraw(); } break; case SCI_INDICGETFORE: - return (wParam <= INDIC_MAX) ? vs.indicators[wParam].sacNormal.fore.AsLong() : 0; + return (wParam <= INDIC_MAX) ? vs.indicators[wParam].sacNormal.fore.AsInteger() : 0; case SCI_INDICSETHOVERSTYLE: if (wParam <= INDIC_MAX) { @@ -7310,13 +7310,13 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { case SCI_INDICSETHOVERFORE: if (wParam <= INDIC_MAX) { - vs.indicators[wParam].sacHover.fore = ColourDesired(static_cast<long>(lParam)); + vs.indicators[wParam].sacHover.fore = ColourDesired(static_cast<int>(lParam)); InvalidateStyleRedraw(); } break; case SCI_INDICGETHOVERFORE: - return (wParam <= INDIC_MAX) ? vs.indicators[wParam].sacHover.fore.AsLong() : 0; + return (wParam <= INDIC_MAX) ? vs.indicators[wParam].sacHover.fore.AsInteger() : 0; case SCI_INDICSETFLAGS: if (wParam <= INDIC_MAX) { @@ -7547,10 +7547,10 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { break; case SCI_GETEDGECOLOUR: - return vs.theEdge.colour.AsLong(); + return vs.theEdge.colour.AsInteger(); case SCI_SETEDGECOLOUR: - vs.theEdge.colour = ColourDesired(static_cast<long>(wParam)); + vs.theEdge.colour = ColourDesired(static_cast<int>(wParam)); InvalidateStyleRedraw(); break; @@ -7782,7 +7782,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { break; case SCI_GETHOTSPOTACTIVEFORE: - return vs.hotspotColours.fore.AsLong(); + return vs.hotspotColours.fore.AsInteger(); case SCI_SETHOTSPOTACTIVEBACK: vs.hotspotColours.back = ColourOptional(wParam, lParam); @@ -7790,7 +7790,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { break; case SCI_GETHOTSPOTACTIVEBACK: - return vs.hotspotColours.back.AsLong(); + return vs.hotspotColours.back.AsInteger(); case SCI_SETHOTSPOTACTIVEUNDERLINE: vs.hotspotUnderline = wParam != 0; @@ -8114,12 +8114,12 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { return virtualSpaceOptions; case SCI_SETADDITIONALSELFORE: - vs.selAdditionalForeground = ColourDesired(static_cast<long>(wParam)); + vs.selAdditionalForeground = ColourDesired(static_cast<int>(wParam)); InvalidateStyleRedraw(); break; case SCI_SETADDITIONALSELBACK: - vs.selAdditionalBackground = ColourDesired(static_cast<long>(wParam)); + vs.selAdditionalBackground = ColourDesired(static_cast<int>(wParam)); InvalidateStyleRedraw(); break; @@ -8132,12 +8132,12 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { return vs.selAdditionalAlpha; case SCI_SETADDITIONALCARETFORE: - vs.additionalCaretColour = ColourDesired(static_cast<long>(wParam)); + vs.additionalCaretColour = ColourDesired(static_cast<int>(wParam)); InvalidateStyleRedraw(); break; case SCI_GETADDITIONALCARETFORE: - return vs.additionalCaretColour.AsLong(); + return vs.additionalCaretColour.AsInteger(); case SCI_ROTATESELECTION: sel.RotateMain(); diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx index 71f42d856..824bcdfeb 100644 --- a/src/ScintillaBase.cxx +++ b/src/ScintillaBase.cxx @@ -1013,19 +1013,19 @@ sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPara break; case SCI_CALLTIPSETBACK: - ct.colourBG = ColourDesired(static_cast<long>(wParam)); + ct.colourBG = ColourDesired(static_cast<int>(wParam)); vs.styles[STYLE_CALLTIP].back = ct.colourBG; InvalidateStyleRedraw(); break; case SCI_CALLTIPSETFORE: - ct.colourUnSel = ColourDesired(static_cast<long>(wParam)); + ct.colourUnSel = ColourDesired(static_cast<int>(wParam)); vs.styles[STYLE_CALLTIP].fore = ct.colourUnSel; InvalidateStyleRedraw(); break; case SCI_CALLTIPSETFOREHLT: - ct.colourSel = ColourDesired(static_cast<long>(wParam)); + ct.colourSel = ColourDesired(static_cast<int>(wParam)); InvalidateStyleRedraw(); break; diff --git a/src/ViewStyle.h b/src/ViewStyle.h index 2a4e7329a..800d8cb67 100644 --- a/src/ViewStyle.h +++ b/src/ViewStyle.h @@ -68,7 +68,7 @@ public: bool isSet; ColourOptional(ColourDesired colour_=ColourDesired(0,0,0), bool isSet_=false) : ColourDesired(colour_), isSet(isSet_) { } - ColourOptional(uptr_t wParam, sptr_t lParam) : ColourDesired(static_cast<long>(lParam)), isSet(wParam != 0) { + ColourOptional(uptr_t wParam, sptr_t lParam) : ColourDesired(static_cast<int>(lParam)), isSet(wParam != 0) { } }; @@ -84,7 +84,7 @@ struct EdgeProperties { column(column_), colour(colour_) { } EdgeProperties(uptr_t wParam, sptr_t lParam) : - column(static_cast<int>(wParam)), colour(static_cast<long>(lParam)) { + column(static_cast<int>(wParam)), colour(static_cast<int>(lParam)) { } }; diff --git a/src/XPM.cxx b/src/XPM.cxx index 65099a8b3..0d4a2a068 100644 --- a/src/XPM.cxx +++ b/src/XPM.cxx @@ -22,7 +22,9 @@ using namespace Scintilla; -static const char *NextField(const char *s) { +namespace { + +const char *NextField(const char *s) { // In case there are leading spaces in the string while (*s == ' ') { s++; @@ -37,13 +39,34 @@ static const char *NextField(const char *s) { } // Data lines in XPM can be terminated either with NUL or " -static size_t MeasureLength(const char *s) { +size_t MeasureLength(const char *s) { size_t i = 0; while (s[i] && (s[i] != '\"')) i++; return i; } +unsigned int ValueOfHex(const char ch) noexcept { + if (ch >= '0' && ch <= '9') + return ch - '0'; + else if (ch >= 'A' && ch <= 'F') + return ch - 'A' + 10; + else if (ch >= 'a' && ch <= 'f') + return ch - 'a' + 10; + else + return 0; +} + +ColourDesired ColourFromHex(const char *val) noexcept { + unsigned int r = ValueOfHex(val[0]) * 16 + ValueOfHex(val[1]); + unsigned int g = ValueOfHex(val[2]) * 16 + ValueOfHex(val[3]); + unsigned int b = ValueOfHex(val[4]) * 16 + ValueOfHex(val[5]); + return ColourDesired(r, g, b); +} + +} + + ColourDesired XPM::ColourFromCode(int ch) const { return colourCodeTable[ch]; } @@ -110,7 +133,7 @@ void XPM::Init(const char *const *linesForm) { colourDef += 4; ColourDesired colour(0xff, 0xff, 0xff); if (*colourDef == '#') { - colour.Set(colourDef); + colour = ColourFromHex(colourDef+1); } else { codeTransparent = code; } |