summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fpdfsdk/fpdf_searchex.cpp8
-rw-r--r--fpdfsdk/fpdfview_c_api_test.c1
-rw-r--r--public/fpdf_searchex.h9
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