diff options
| -rwxr-xr-x | gtk/PlatGTK.cxx | 2 | ||||
| -rw-r--r-- | include/Compat.h | 6 | ||||
| -rw-r--r-- | lexers/LexCPP.cxx | 12 | ||||
| -rw-r--r-- | lexlib/CharacterCategory.cxx | 4 | ||||
| -rw-r--r-- | src/CaseConvert.cxx | 3 | ||||
| -rw-r--r-- | src/Position.h | 5 | ||||
| -rw-r--r-- | win32/PlatWin.cxx | 3 |
7 files changed, 21 insertions, 14 deletions
diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx index 207c6ceba..97009d4ff 100755 --- a/gtk/PlatGTK.cxx +++ b/gtk/PlatGTK.cxx @@ -516,7 +516,7 @@ void SurfaceImpl::RoundedRectangle(PRectangle rc, ColourDesired fore, ColourDesi Point(rc.left, rc.bottom - 2), Point(rc.left, rc.top + 2), }; - Polygon(pts, ELEMENTS(pts), fore, back); + Polygon(pts, Sci::size(pts), fore, back); } else { RectangleDraw(rc, fore, back); } diff --git a/include/Compat.h b/include/Compat.h index d69a9a2c1..b4a9437c2 100644 --- a/include/Compat.h +++ b/include/Compat.h @@ -14,6 +14,12 @@ namespace Sci { +// std::clamp +template <typename T> +inline constexpr T clamp(T val, T minVal, T maxVal) { + return (val > maxVal) ? maxVal : ((val < minVal) ? minVal : val); +} + // std::round (not present on older MacOSX SDKs) template<class T> T round(T arg) { diff --git a/lexers/LexCPP.cxx b/lexers/LexCPP.cxx index c6b52784e..81a6667bc 100644 --- a/lexers/LexCPP.cxx +++ b/lexers/LexCPP.cxx @@ -497,6 +497,8 @@ LexicalClass lexicalClasses[] = { 27, "SCE_C_ESCAPESEQUENCE", "literal string escapesequence", "Escape sequence", }; +const int sizeLexicalClasses = static_cast<int>(Sci::size(lexicalClasses)); + } class LexerCPP : public ILexerWithIdentity { @@ -620,13 +622,13 @@ public: } int SCI_METHOD NamedStyles() override { return std::max(subStyles.LastAllocated() + 1, - static_cast<int>(ELEMENTS(lexicalClasses))) + + sizeLexicalClasses) + inactiveFlag; } const char * SCI_METHOD NameOfStyle(int style) override { if (style >= NamedStyles()) return ""; - if (style < static_cast<int>(ELEMENTS(lexicalClasses))) + if (style < sizeLexicalClasses) return lexicalClasses[style].name; // TODO: inactive and substyles return ""; @@ -650,12 +652,12 @@ public: return returnBuffer.c_str(); } } - if (style < static_cast<int>(ELEMENTS(lexicalClasses))) + if (style < sizeLexicalClasses) return lexicalClasses[style].tags; if (style >= inactiveFlag) { returnBuffer = "inactive "; const int styleActive = style - inactiveFlag; - if (styleActive < static_cast<int>(ELEMENTS(lexicalClasses))) + if (styleActive < sizeLexicalClasses) returnBuffer += lexicalClasses[styleActive].tags; else returnBuffer = ""; @@ -666,7 +668,7 @@ public: const char * SCI_METHOD DescriptionOfStyle(int style) override { if (style >= NamedStyles()) return ""; - if (style < static_cast<int>(ELEMENTS(lexicalClasses))) + if (style < sizeLexicalClasses) return lexicalClasses[style].description; // TODO: inactive and substyles return ""; diff --git a/lexlib/CharacterCategory.cxx b/lexlib/CharacterCategory.cxx index c166e57c4..e8bd16feb 100644 --- a/lexlib/CharacterCategory.cxx +++ b/lexlib/CharacterCategory.cxx @@ -11,9 +11,9 @@ #include <algorithm> #include <iterator> -#include "Scintilla.h" // for ptrdiff_t in Position.h #include "CharacterCategory.h" -#include "Position.h" // for Sci::clamp + +#include "Compat.h" namespace Scintilla { diff --git a/src/CaseConvert.cxx b/src/CaseConvert.cxx index dd8a25aa1..9ecf3e2e8 100644 --- a/src/CaseConvert.cxx +++ b/src/CaseConvert.cxx @@ -581,6 +581,9 @@ class CaseConverter : public ICaseConverter { struct CharacterConversion { int character; ConversionString conversion; + CharacterConversion() noexcept : character(0) { + // Empty case: NUL -> "". + } CharacterConversion(int character_=0, const char *conversion_="") noexcept : character(character_) { StringCopy(conversion.conversion, conversion_); } diff --git a/src/Position.h b/src/Position.h index ab8223b54..e0bbcb53f 100644 --- a/src/Position.h +++ b/src/Position.h @@ -21,11 +21,6 @@ typedef ptrdiff_t Line; const Position invalidPosition = -1; -template <typename T> -inline constexpr T clamp(T val, T minVal, T maxVal) { - return (val > maxVal) ? maxVal : ((val < minVal) ? minVal : val); -} - } #endif diff --git a/win32/PlatWin.cxx b/win32/PlatWin.cxx index 296f7f0cc..3e8d716ec 100644 --- a/win32/PlatWin.cxx +++ b/win32/PlatWin.cxx @@ -42,7 +42,6 @@ #endif #include "Platform.h" -#include "Position.h" #include "XPM.h" #include "UniConversion.h" #include "DBCS.h" @@ -50,6 +49,8 @@ #include "PlatWin.h" +#include "Compat.h" + #ifndef SPI_GETFONTSMOOTHINGCONTRAST #define SPI_GETFONTSMOOTHINGCONTRAST 0x200C #endif |
