summaryrefslogtreecommitdiffstats
path: root/scintilla/src/Indicator.h
diff options
context:
space:
mode:
Diffstat (limited to 'scintilla/src/Indicator.h')
-rw-r--r--scintilla/src/Indicator.h34
1 files changed, 29 insertions, 5 deletions
diff --git a/scintilla/src/Indicator.h b/scintilla/src/Indicator.h
index 8f2c170..d6f88ba 100644
--- a/scintilla/src/Indicator.h
+++ b/scintilla/src/Indicator.h
@@ -12,21 +12,45 @@
namespace Scintilla {
#endif
+struct StyleAndColour {
+ int style;
+ ColourDesired fore;
+ StyleAndColour() : style(INDIC_PLAIN), fore(0, 0, 0) {
+ }
+ StyleAndColour(int style_, ColourDesired fore_ = ColourDesired(0, 0, 0)) : style(style_), fore(fore_) {
+ }
+ bool operator==(const StyleAndColour &other) const {
+ return (style == other.style) && (fore == other.fore);
+ }
+};
+
/**
*/
class Indicator {
public:
- int style;
- ColourDesired fore;
+ enum DrawState { drawNormal, drawHover };
+ StyleAndColour sacNormal;
+ StyleAndColour sacHover;
bool under;
int fillAlpha;
int outlineAlpha;
- Indicator() : style(INDIC_PLAIN), fore(ColourDesired(0,0,0)), under(false), fillAlpha(30), outlineAlpha(50) {
+ int attributes;
+ Indicator() : under(false), fillAlpha(30), outlineAlpha(50), attributes(0) {
}
Indicator(int style_, ColourDesired fore_=ColourDesired(0,0,0), bool under_=false, int fillAlpha_=30, int outlineAlpha_=50) :
- style(style_), fore(fore_), under(under_), fillAlpha(fillAlpha_), outlineAlpha(outlineAlpha_) {
+ sacNormal(style_, fore_), sacHover(style_, fore_), under(under_), fillAlpha(fillAlpha_), outlineAlpha(outlineAlpha_), attributes(0) {
+ }
+ void Draw(Surface *surface, const PRectangle &rc, const PRectangle &rcLine, DrawState drawState, int value) const;
+ bool IsDynamic() const {
+ return !(sacNormal == sacHover);
+ }
+ bool OverridesTextFore() const {
+ return sacNormal.style == INDIC_TEXTFORE || sacHover.style == INDIC_TEXTFORE;
+ }
+ int Flags() const {
+ return attributes;
}
- void Draw(Surface *surface, const PRectangle &rc, const PRectangle &rcLine) const;
+ void SetFlags(int attributes_);
};
#ifdef SCI_NAMESPACE