diff options
author | Zufu Liu <unknown> | 2023-02-15 12:01:42 +1100 |
---|---|---|
committer | Zufu Liu <unknown> | 2023-02-15 12:01:42 +1100 |
commit | 5e886f24d13438063a58e06e74e6c371cf8311e7 (patch) | |
tree | 120ef5cb8e1d9a0ea503914fc9b147725b95ed76 | |
parent | 00fe0093156d19a55d5eefcf67dbbe8a73640933 (diff) | |
download | scintilla-mirror-5e886f24d13438063a58e06e74e6c371cf8311e7.tar.gz |
Feature [feature-requests:#1477] More typesafe bindings of *Full APIs in
ScintillaCall.
-rw-r--r-- | call/ScintillaCall.cxx | 8 | ||||
-rw-r--r-- | doc/ScintillaHistory.html | 4 | ||||
-rw-r--r-- | include/ScintillaCall.h | 13 | ||||
-rw-r--r-- | scripts/ScintillaAPIFacer.py | 6 |
4 files changed, 20 insertions, 11 deletions
diff --git a/call/ScintillaCall.cxx b/call/ScintillaCall.cxx index 27ad8a738..dcffb8a7e 100644 --- a/call/ScintillaCall.cxx +++ b/call/ScintillaCall.cxx @@ -231,7 +231,7 @@ Position ScintillaCall::GetStyledText(void *tr) { return CallPointer(Message::GetStyledText, 0, tr); } -Position ScintillaCall::GetStyledTextFull(void *tr) { +Position ScintillaCall::GetStyledTextFull(TextRangeFull *tr) { return CallPointer(Message::GetStyledTextFull, 0, tr); } @@ -1159,7 +1159,7 @@ Position ScintillaCall::FindText(Scintilla::FindOption searchFlags, void *ft) { return CallPointer(Message::FindText, static_cast<uintptr_t>(searchFlags), ft); } -Position ScintillaCall::FindTextFull(Scintilla::FindOption searchFlags, void *ft) { +Position ScintillaCall::FindTextFull(Scintilla::FindOption searchFlags, TextToFindFull *ft) { return CallPointer(Message::FindTextFull, static_cast<uintptr_t>(searchFlags), ft); } @@ -1167,7 +1167,7 @@ Position ScintillaCall::FormatRange(bool draw, void *fr) { return CallPointer(Message::FormatRange, draw, fr); } -Position ScintillaCall::FormatRangeFull(bool draw, void *fr) { +Position ScintillaCall::FormatRangeFull(bool draw, RangeToFormatFull *fr) { return CallPointer(Message::FormatRangeFull, draw, fr); } @@ -1235,7 +1235,7 @@ Position ScintillaCall::GetTextRange(void *tr) { return CallPointer(Message::GetTextRange, 0, tr); } -Position ScintillaCall::GetTextRangeFull(void *tr) { +Position ScintillaCall::GetTextRangeFull(TextRangeFull *tr) { return CallPointer(Message::GetTextRangeFull, 0, tr); } diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 5caeb139a..7e544789c 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -587,6 +587,10 @@ Released 8 February 2023. </li> <li> + More typesafe bindings of *Full APIs in ScintillaCall. + <a href="https://sourceforge.net/p/scintilla/feature-requests/1477/">Feature #1477</a>. + </li> + <li> Fix overlapping of text with line end wrap marker. <a href="https://sourceforge.net/p/scintilla/bugs/2378/">Bug #2378</a>. </li> diff --git a/include/ScintillaCall.h b/include/ScintillaCall.h index 9c851d567..8a01f2acb 100644 --- a/include/ScintillaCall.h +++ b/include/ScintillaCall.h @@ -15,6 +15,11 @@ namespace Scintilla { enum class Message; // Declare in case ScintillaMessages.h not included +// Declare in case ScintillaStructures.h not included +struct TextRangeFull; +struct TextToFindFull; +struct RangeToFormatFull; + using FunctionDirect = intptr_t(*)(intptr_t ptr, unsigned int iMessage, uintptr_t wParam, intptr_t lParam, int *pStatus); struct Failure { @@ -96,7 +101,7 @@ public: void SelectAll(); void SetSavePoint(); Position GetStyledText(void *tr); - Position GetStyledTextFull(void *tr); + Position GetStyledTextFull(TextRangeFull *tr); bool CanRedo(); Line MarkerLineFromHandle(int markerHandle); void MarkerDeleteHandle(int markerHandle); @@ -328,9 +333,9 @@ public: void SetPrintColourMode(Scintilla::PrintOption mode); Scintilla::PrintOption PrintColourMode(); Position FindText(Scintilla::FindOption searchFlags, void *ft); - Position FindTextFull(Scintilla::FindOption searchFlags, void *ft); + Position FindTextFull(Scintilla::FindOption searchFlags, TextToFindFull *ft); Position FormatRange(bool draw, void *fr); - Position FormatRangeFull(bool draw, void *fr); + Position FormatRangeFull(bool draw, RangeToFormatFull *fr); void SetChangeHistory(Scintilla::ChangeHistoryOption changeHistory); Scintilla::ChangeHistoryOption ChangeHistory(); Line FirstVisibleLine(); @@ -347,7 +352,7 @@ public: Position GetSelText(char *text); std::string GetSelText(); Position GetTextRange(void *tr); - Position GetTextRangeFull(void *tr); + Position GetTextRangeFull(TextRangeFull *tr); void HideSelection(bool hide); bool SelectionHidden(); int PointXFromPosition(Position pos); diff --git a/scripts/ScintillaAPIFacer.py b/scripts/ScintillaAPIFacer.py index e30f48380..f26389abb 100644 --- a/scripts/ScintillaAPIFacer.py +++ b/scripts/ScintillaAPIFacer.py @@ -19,9 +19,9 @@ typeAliases = { "colour": "Colour", "colouralpha": "ColourAlpha", "findtext": "void *", - "findtextfull": "void *", + "findtextfull": "TextToFindFull *", "formatrange": "void *", - "formatrangefull": "void *", + "formatrangefull": "RangeToFormatFull *", "int": "int", "keymod": "int", "line": "Line", @@ -30,7 +30,7 @@ typeAliases = { "string": "const char *", "stringresult": "char *", "textrange": "void *", - "textrangefull": "void *", + "textrangefull": "TextRangeFull *", } basicTypes = [ |