1 // Scintilla source code edit control
3 ** Defines the appearance of the editor margin.
5 // Copyright 1998-2014 by Neil Hodgson <neilh@scintilla.org>
6 // The License.txt file describes the conditions under which this software may be distributed.
11 namespace Scintilla::Internal
{
13 void DrawWrapMarker(Surface
*surface
, PRectangle rcPlace
, bool isEndMarker
, ColourRGBA wrapColour
);
15 typedef void (*DrawWrapMarkerFn
)(Surface
*surface
, PRectangle rcPlace
, bool isEndMarker
, ColourRGBA wrapColour
);
18 * MarginView draws the margins.
22 std::unique_ptr
<Surface
> pixmapSelMargin
;
23 std::unique_ptr
<Surface
> pixmapSelPattern
;
24 std::unique_ptr
<Surface
> pixmapSelPatternOffset1
;
25 // Highlight current folding block
26 HighlightDelimiter highlightDelimiter
;
28 int wrapMarkerPaddingRight
; // right-most pixel padding of wrap markers
29 /** Some platforms, notably PLAT_CURSES, do not support Scintilla's native
30 * DrawWrapMarker function for drawing wrap markers. Allow those platforms to
31 * override it instead of creating a new method in the Surface class that
32 * existing platforms must implement as empty. */
33 DrawWrapMarkerFn customDrawWrapMarker
;
35 MarginView() noexcept
;
37 void DropGraphics() noexcept
;
38 void RefreshPixMaps(Surface
*surfaceWindow
, const ViewStyle
&vsDraw
);
39 void PaintOneMargin(Surface
*surface
, PRectangle rc
, PRectangle rcOneMargin
, const MarginStyle
&marginStyle
,
40 const EditModel
&model
, const ViewStyle
&vs
) const;
41 void PaintMargin(Surface
*surface
, Sci::Line topLine
, PRectangle rc
, PRectangle rcMargin
,
42 const EditModel
&model
, const ViewStyle
&vs
);