scintilla: Update scintilla with changeset 3662:1d1c06df8a2f using gtk+3
[anjuta-extras.git] / plugins / scintilla / scintilla / LineMarker.h
blob39c38fa41ac1008857b10412397040eb5bb6f74d
1 // Scintilla source code edit control
2 /** @file LineMarker.h
3 ** Defines the look of a line marker in the margin .
4 **/
5 // Copyright 1998-2011 by Neil Hodgson <neilh@scintilla.org>
6 // The License.txt file describes the conditions under which this software may be distributed.
8 #ifndef LINEMARKER_H
9 #define LINEMARKER_H
11 #ifdef SCI_NAMESPACE
12 namespace Scintilla {
13 #endif
16 /**
18 class LineMarker {
19 public:
20 enum typeOfFold { undefined, head, body, tail };
22 int markType;
23 ColourPair fore;
24 ColourPair back;
25 ColourPair backSelected;
26 int alpha;
27 XPM *pxpm;
28 LineMarker() {
29 markType = SC_MARK_CIRCLE;
30 fore = ColourDesired(0,0,0);
31 back = ColourDesired(0xff,0xff,0xff);
32 backSelected = ColourDesired(0xff,0x00,0x00);
33 alpha = SC_ALPHA_NOALPHA;
34 pxpm = NULL;
36 LineMarker(const LineMarker &) {
37 // Defined to avoid pxpm being blindly copied, not as real copy constructor
38 markType = SC_MARK_CIRCLE;
39 fore = ColourDesired(0,0,0);
40 back = ColourDesired(0xff,0xff,0xff);
41 backSelected = ColourDesired(0xff,0x00,0x00);
42 alpha = SC_ALPHA_NOALPHA;
43 pxpm = NULL;
45 ~LineMarker() {
46 delete pxpm;
48 LineMarker &operator=(const LineMarker &) {
49 // Defined to avoid pxpm being blindly copied, not as real assignment operator
50 markType = SC_MARK_CIRCLE;
51 fore = ColourDesired(0,0,0);
52 back = ColourDesired(0xff,0xff,0xff);
53 backSelected = ColourDesired(0xff,0x00,0x00);
54 alpha = SC_ALPHA_NOALPHA;
55 delete pxpm;
56 pxpm = NULL;
57 return *this;
59 void RefreshColourPalette(Palette &pal, bool want);
60 void SetXPM(const char *textForm);
61 void SetXPM(const char *const *linesForm);
62 void Draw(Surface *surface, PRectangle &rc, Font &fontForCharacter, typeOfFold tFold);
65 #ifdef SCI_NAMESPACE
67 #endif
69 #endif