Update Scintilla to version 3.5.3
[TortoiseGit.git] / ext / scintilla / src / MarginView.h
blob0435bfd3a6d16b3504b1a706bf5b92cffd8cc2d1
1 // Scintilla source code edit control
2 /** @file MarginView.h
3 ** Defines the appearance of the editor margin.
4 **/
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.
8 #ifndef MARGINVIEW_H
9 #define MARGINVIEW_H
11 #ifdef SCI_NAMESPACE
12 namespace Scintilla {
13 #endif
15 void DrawWrapMarker(Surface *surface, PRectangle rcPlace, bool isEndMarker, ColourDesired wrapColour);
17 typedef void (*DrawWrapMarkerFn)(Surface *surface, PRectangle rcPlace, bool isEndMarker, ColourDesired wrapColour);
19 /**
20 * MarginView draws the margins.
22 class MarginView {
23 public:
24 Surface *pixmapSelMargin;
25 Surface *pixmapSelPattern;
26 Surface *pixmapSelPatternOffset1;
27 // Highlight current folding block
28 HighlightDelimiter highlightDelimiter;
30 int wrapMarkerPaddingRight; // right-most pixel padding of wrap markers
31 /** Some platforms, notably PLAT_CURSES, do not support Scintilla's native
32 * DrawWrapMarker function for drawing wrap markers. Allow those platforms to
33 * override it instead of creating a new method in the Surface class that
34 * existing platforms must implement as empty. */
35 DrawWrapMarkerFn customDrawWrapMarker;
37 MarginView();
39 void DropGraphics(bool freeObjects);
40 void AllocateGraphics(const ViewStyle &vsDraw);
41 void RefreshPixMaps(Surface *surfaceWindow, WindowID wid, const ViewStyle &vsDraw);
42 void PaintMargin(Surface *surface, int topLine, PRectangle rc, PRectangle rcMargin,
43 const EditModel &model, const ViewStyle &vs);
46 #ifdef SCI_NAMESPACE
48 #endif
50 #endif