diff options
Diffstat (limited to 'src/Document.h')
| -rw-r--r-- | src/Document.h | 31 | 
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(); | 
