updated Scintilla to 2.29
[TortoiseGit.git] / ext / scintilla / src / LineMarker.h
blob2e28090276c6fe169135a432dae1a899cd5336d6
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, headWithTail };
22 int markType;
23 ColourPair fore;
24 ColourPair back;
25 ColourPair backSelected;
26 int alpha;
27 XPM *pxpm;
28 RGBAImage *image;
29 LineMarker() {
30 markType = SC_MARK_CIRCLE;
31 fore = ColourDesired(0,0,0);
32 back = ColourDesired(0xff,0xff,0xff);
33 backSelected = ColourDesired(0xff,0x00,0x00);
34 alpha = SC_ALPHA_NOALPHA;
35 pxpm = NULL;
36 image = NULL;
38 LineMarker(const LineMarker &) {
39 // Defined to avoid pxpm being blindly copied, not as real copy constructor
40 markType = SC_MARK_CIRCLE;
41 fore = ColourDesired(0,0,0);
42 back = ColourDesired(0xff,0xff,0xff);
43 backSelected = ColourDesired(0xff,0x00,0x00);
44 alpha = SC_ALPHA_NOALPHA;
45 pxpm = NULL;
46 image = NULL;
48 ~LineMarker() {
49 delete pxpm;
50 delete image;
52 LineMarker &operator=(const LineMarker &) {
53 // Defined to avoid pxpm being blindly copied, not as real assignment operator
54 markType = SC_MARK_CIRCLE;
55 fore = ColourDesired(0,0,0);
56 back = ColourDesired(0xff,0xff,0xff);
57 backSelected = ColourDesired(0xff,0x00,0x00);
58 alpha = SC_ALPHA_NOALPHA;
59 delete pxpm;
60 pxpm = NULL;
61 delete image;
62 image = NULL;
63 return *this;
65 void RefreshColourPalette(Palette &pal, bool want);
66 void SetXPM(const char *textForm);
67 void SetXPM(const char *const *linesForm);
68 void SetRGBAImage(Point sizeRGBAImage, const unsigned char *pixelsRGBAImage);
69 void Draw(Surface *surface, PRectangle &rc, Font &fontForCharacter, typeOfFold tFold);
72 #ifdef SCI_NAMESPACE
74 #endif
76 #endif