diff options
-rw-r--r-- | fpdfsdk/fpdf_searchex.cpp | 8 | ||||
-rw-r--r-- | fpdfsdk/fpdfview_c_api_test.c | 1 | ||||
-rw-r--r-- | public/fpdf_searchex.h | 9 |
3 files changed, 18 insertions, 0 deletions
diff --git a/fpdfsdk/fpdf_searchex.cpp b/fpdfsdk/fpdf_searchex.cpp index f82db37b5a..13729167ed 100644 --- a/fpdfsdk/fpdf_searchex.cpp +++ b/fpdfsdk/fpdf_searchex.cpp @@ -15,3 +15,11 @@ FPDFText_GetCharIndexFromTextIndex(FPDF_TEXTPAGE text_page, int nTextIndex) { return static_cast<CPDF_TextPage*>(text_page) ->CharIndexFromTextIndex(nTextIndex); } + +DLLEXPORT int STDCALL +FPDFText_GetTextIndexFromCharIndex(FPDF_TEXTPAGE text_page, int nCharIndex) { + if (!text_page) + return -1; + return static_cast<CPDF_TextPage*>(text_page)->TextIndexFromCharIndex( + nCharIndex); +} diff --git a/fpdfsdk/fpdfview_c_api_test.c b/fpdfsdk/fpdfview_c_api_test.c index c603f59acc..df3ef19d64 100644 --- a/fpdfsdk/fpdfview_c_api_test.c +++ b/fpdfsdk/fpdfview_c_api_test.c @@ -168,6 +168,7 @@ int CheckPDFiumCApi() { // fpdf_searchex.h CHK(FPDFText_GetCharIndexFromTextIndex); + CHK(FPDFText_GetTextIndexFromCharIndex); // fpdf_structtree.h CHK(FPDF_StructTree_GetForPage); diff --git a/public/fpdf_searchex.h b/public/fpdf_searchex.h index 7c1b31848e..a795a52394 100644 --- a/public/fpdf_searchex.h +++ b/public/fpdf_searchex.h @@ -23,6 +23,15 @@ extern "C" { DLLEXPORT int STDCALL FPDFText_GetCharIndexFromTextIndex(FPDF_TEXTPAGE text_page, int nTextIndex); +// Get the text index in |text_page| internal character list. +// +// text_page - a text page information structure. +// nCharIndex - index of the character in internal character list. +// +// Returns the index of the text returned from |FPDFText_GetText|. -1 for error. +DLLEXPORT int STDCALL +FPDFText_GetTextIndexFromCharIndex(FPDF_TEXTPAGE text_page, int nCharIndex); + #ifdef __cplusplus } // extern "C" #endif // __cplusplus |