From b5e8caaacbd47583c79bf862e5e6a021bcfc3964 Mon Sep 17 00:00:00 2001 From: Neil Date: Wed, 9 Jun 2021 12:15:05 +1000 Subject: Reduce casts by defining methods for common conversions. --- src/Editor.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/Editor.h') diff --git a/src/Editor.h b/src/Editor.h index 9af2add43..417700ed5 100644 --- a/src/Editor.h +++ b/src/Editor.h @@ -624,6 +624,19 @@ protected: // ScintillaBase subclass needs access to much of Editor return static_cast(PtrFromUPtr(wParam)); } + static constexpr Scintilla::sptr_t SPtrFromUPtr(Scintilla::uptr_t wParam) noexcept { + return static_cast(wParam); + } + static constexpr Sci::Position PositionFromUPtr(Scintilla::uptr_t wParam) noexcept { + return SPtrFromUPtr(wParam); + } + static constexpr Sci::Line LineFromUPtr(Scintilla::uptr_t wParam) noexcept { + return SPtrFromUPtr(wParam); + } + Point PointFromParameters(Scintilla::uptr_t wParam, Scintilla::sptr_t lParam) const noexcept { + return Point(static_cast(wParam) - vs.ExternalMarginWidth(), static_cast(lParam)); + } + constexpr std::optional OptionalFoldLevel(Scintilla::sptr_t lParam) { if (lParam >= 0) { return static_cast(lParam); -- cgit v1.2.3