diff options
author | Neil <nyamatongwe@gmail.com> | 2021-05-14 13:33:11 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2021-05-14 13:33:11 +1000 |
commit | 91a0a5c9be59308be001bbc89c0aead0f3602494 (patch) | |
tree | 43c70147bfce95a4b3fc8d5397faed70cafcffee /src/Editor.cxx | |
parent | 2feaeaf738851055a79ffcfb9027a3637610faca (diff) | |
download | scintilla-mirror-91a0a5c9be59308be001bbc89c0aead0f3602494.tar.gz |
Add SCI_MARKERSETLAYER to define layer on which to draw content area markers.
This replaces the use of SC_ALPHA_NOALPHA for markers.
Diffstat (limited to 'src/Editor.cxx')
-rw-r--r-- | src/Editor.cxx | 22 |
1 files changed, 19 insertions, 3 deletions
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<int>(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<int>(lParam)); + SetAppearance(vs.markers[wParam].layer, Layer::over); + } + } break; + case SCI_MARKERSETLAYER: + if (wParam <= MARKER_MAX) { + SetAppearance(vs.markers[wParam].layer, static_cast<Layer>(lParam)); + } + break; + case SCI_MARKERGETLAYER: + if (wParam <= MARKER_MAX) { + return static_cast<sptr_t>(vs.markers[wParam].layer); + } + return 0; case SCI_MARKERADD: { const int markerID = pdoc->AddMark(static_cast<Sci::Line>(wParam), static_cast<int>(lParam)); return markerID; |