From 6bddf57deb97b522c7b8e0293fcd15c95a2d9823 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Sat, 19 Jan 2013 10:43:41 +1100 Subject: Add methods for Unicode line ends and substyles to IDocument and ILexer producing IDocumentWithLineEnd and ILexerWithSubStyles. --- include/ILexer.h | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/ILexer.h b/include/ILexer.h index e08b8701c..1260c1373 100644 --- a/include/ILexer.h +++ b/include/ILexer.h @@ -18,7 +18,7 @@ namespace Scintilla { #define SCI_METHOD #endif -enum { dvOriginal=0 }; +enum { dvOriginal=0, dvLineEnd=1 }; class IDocument { public: @@ -45,7 +45,12 @@ public: virtual int SCI_METHOD GetLineIndentation(int line) = 0; }; -enum { lvOriginal=0 }; +class IDocumentWithLineEnd : public IDocument { +public: + virtual int SCI_METHOD LineEnd(int line) const = 0; +}; + +enum { lvOriginal=0, lvSubStyles=1 }; class ILexer { public: @@ -62,6 +67,18 @@ public: virtual void * SCI_METHOD PrivateCall(int operation, void *pointer) = 0; }; +class ILexerWithSubStyles : public ILexer { +public: + virtual int SCI_METHOD LineEndTypesSupported() = 0; + virtual int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) = 0; + virtual int SCI_METHOD SubStylesStart(int styleBase) = 0; + virtual int SCI_METHOD SubStylesLength(int styleBase) = 0; + virtual void SCI_METHOD FreeSubStyles() = 0; + virtual void SCI_METHOD SetIdentifiers(int style, const char *identifiers) = 0; + virtual int SCI_METHOD DistanceToSecondaryStyles() = 0; + virtual const char * SCI_METHOD GetSubStyleBases() = 0; +}; + class ILoader { public: virtual int SCI_METHOD Release() = 0; -- cgit v1.2.3