aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ScintillaBase.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2013-09-03 18:25:32 +1000
committerNeil <nyamatongwe@gmail.com>2013-09-03 18:25:32 +1000
commit77e3727bdd5c981c338fd1c0bc073393aa2f5068 (patch)
tree14ab874e81b5216e3f4154d94a9b14da76f48bd2 /src/ScintillaBase.cxx
parente27fc2d13734da7861ca1c640143b172927f25a6 (diff)
downloadscintilla-mirror-77e3727bdd5c981c338fd1c0bc073393aa2f5068.tar.gz
Added GetStyleFromSubStyle.
Tests for this and other sub styles methods.
Diffstat (limited to 'src/ScintillaBase.cxx')
-rw-r--r--src/ScintillaBase.cxx11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx
index 814eac726..e65b3ecf7 100644
--- a/src/ScintillaBase.cxx
+++ b/src/ScintillaBase.cxx
@@ -503,6 +503,7 @@ public:
int AllocateSubStyles(int styleBase, int numberStyles);
int SubStylesStart(int styleBase);
int SubStylesLength(int styleBase);
+ int StyleFromSubStyle(int subStyle);
void FreeSubStyles();
void SetIdentifiers(int style, const char *identifiers);
int DistanceToSecondaryStyles();
@@ -678,6 +679,13 @@ int LexState::SubStylesLength(int styleBase) {
return 0;
}
+int LexState::StyleFromSubStyle(int subStyle) {
+ if (instance && (interfaceVersion >= lvSubStyles)) {
+ return static_cast<ILexerWithSubStyles *>(instance)->StyleFromSubStyle(subStyle);
+ }
+ return 0;
+}
+
void LexState::FreeSubStyles() {
if (instance && (interfaceVersion >= lvSubStyles)) {
static_cast<ILexerWithSubStyles *>(instance)->FreeSubStyles();
@@ -983,6 +991,9 @@ sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPara
case SCI_GETSUBSTYLESLENGTH:
return DocumentLexState()->SubStylesLength(wParam);
+ case SCI_GETSTYLEFROMSUBSTYLE:
+ return DocumentLexState()->StyleFromSubStyle(wParam);
+
case SCI_FREESUBSTYLES:
DocumentLexState()->FreeSubStyles();
break;