aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.h
diff options
context:
space:
mode:
authornyamatongwe <unknown>2009-04-22 13:20:43 +0000
committernyamatongwe <unknown>2009-04-22 13:20:43 +0000
commit865a213a8879baab1c67069ab1d2eae63deeea4b (patch)
tree98a6077613b017d50a85e1330092143920b4fa22 /src/Document.h
parentec2c38b2d808c46207aebb0c8642ecc42f641bc5 (diff)
downloadscintilla-mirror-865a213a8879baab1c67069ab1d2eae63deeea4b.tar.gz
Removed Document methods that returned parts of annotations in favour of
methods that return StyledText objects. Provided LineLength call on StyledText rather than iterator objects. Simplified code and made more things const.
Diffstat (limited to 'src/Document.h')
-rw-r--r--src/Document.h31
1 files changed, 17 insertions, 14 deletions
diff --git a/src/Document.h b/src/Document.h
index 2804a9a4f..6ff6c2d71 100644
--- a/src/Document.h
+++ b/src/Document.h
@@ -97,11 +97,22 @@ struct StyledText {
size_t length;
const char *text;
bool multipleStyles;
- int style;
- const char *styles;
- StyledText( size_t length_, const char *text_, bool multipleStyles_, int style_, const char *styles_) :
+ size_t style;
+ const unsigned char *styles;
+ StyledText( size_t length_, const char *text_, bool multipleStyles_, int style_, const unsigned char *styles_) :
length(length_), text(text_), multipleStyles(multipleStyles_), style(style_), styles(styles_) {
}
+ // Return number of bytes from start to before '\n' or end of text.
+ // Return 1 when start is outside text
+ size_t LineLength(size_t start) const {
+ size_t cur = start;
+ while ((cur < length) && (text[cur] != '\n'))
+ cur++;
+ return cur-start;
+ }
+ size_t StyleAt(size_t i) const {
+ return multipleStyles ? styles[i] : style;
+ }
};
/**
@@ -254,7 +265,7 @@ public:
void SetStylingBits(int bits);
void StartStyling(int position, char mask);
bool SetStyleFor(int length, char style);
- bool SetStyles(int length, char *styles);
+ bool SetStyles(int length, const char *styles);
int GetEndStyled() { return endStyled; }
void EnsureStyledTo(int pos);
int GetStyleClock() { return styleClock; }
@@ -265,26 +276,18 @@ public:
int GetLineState(int line);
int GetMaxLineState();
- bool MarginMultipleStyles(int line);
- const char *MarginText(int line);
- int MarginStyle(int line);
- const char *MarginStyles(int line);
StyledText MarginStyledText(int line);
void MarginSetStyle(int line, int style);
- void MarginSetStyles(int line, const char *styles);
+ void MarginSetStyles(int line, const unsigned char *styles);
void MarginSetText(int line, const char *text);
int MarginLength(int line) const;
void MarginClearAll();
bool AnnotationAny() const;
- bool AnnotationMultipleStyles(int line);
- const char *AnnotationText(int line);
- const char *AnnotationStyles(int line);
- int AnnotationStyle(int line);
StyledText AnnotationStyledText(int line);
void AnnotationSetText(int line, const char *text);
void AnnotationSetStyle(int line, int style);
- void AnnotationSetStyles(int line, const char *styles);
+ void AnnotationSetStyles(int line, const unsigned char *styles);
int AnnotationLength(int line) const;
int AnnotationLines(int line) const;
void AnnotationClearAll();