From 91a0a5c9be59308be001bbc89c0aead0f3602494 Mon Sep 17 00:00:00 2001 From: Neil Date: Fri, 14 May 2021 13:33:11 +1000 Subject: Add SCI_MARKERSETLAYER to define layer on which to draw content area markers. This replaces the use of SC_ALPHA_NOALPHA for markers. --- src/Editor.cxx | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src/Editor.cxx') diff --git a/src/Editor.cxx b/src/Editor.cxx index 694ac2f5f..8b6147a5b 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -6997,10 +6997,26 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { RedrawSelMargin(); break; case SCI_MARKERSETALPHA: - if (wParam <= MARKER_MAX) - vs.markers[wParam].alpha = static_cast(lParam); - InvalidateStyleRedraw(); + if (wParam <= MARKER_MAX) { + if (lParam == SC_ALPHA_NOALPHA) { + SetAppearance(vs.markers[wParam].alpha, 0xff); + SetAppearance(vs.markers[wParam].layer, Layer::base); + } else { + SetAppearance(vs.markers[wParam].alpha, static_cast(lParam)); + SetAppearance(vs.markers[wParam].layer, Layer::over); + } + } break; + case SCI_MARKERSETLAYER: + if (wParam <= MARKER_MAX) { + SetAppearance(vs.markers[wParam].layer, static_cast(lParam)); + } + break; + case SCI_MARKERGETLAYER: + if (wParam <= MARKER_MAX) { + return static_cast(vs.markers[wParam].layer); + } + return 0; case SCI_MARKERADD: { const int markerID = pdoc->AddMark(static_cast(wParam), static_cast(lParam)); return markerID; -- cgit v1.2.3