From 1638179e85863b5045fcea2282fd3e0622aeac13 Mon Sep 17 00:00:00 2001 From: Ralf Sippl Date: Thu, 12 Apr 2018 21:20:26 +0000 Subject: Add index parameter to quadpoints getter and setter. This is needed for working with multiline text markup annotations. Based on https://pdfium-review.googlesource.com/12012. Bug: pdfium:1045 Change-Id: Ifb105996b8b950bb2d5fceaf754b4f571155aef4 Reviewed-on: https://pdfium-review.googlesource.com/29150 Commit-Queue: Lei Zhang Reviewed-by: Lei Zhang Reviewed-by: Henrique Nakashima --- fpdfsdk/fpdf_doc.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'fpdfsdk/fpdf_doc.cpp') diff --git a/fpdfsdk/fpdf_doc.cpp b/fpdfsdk/fpdf_doc.cpp index d8be12066a..54718a9409 100644 --- a/fpdfsdk/fpdf_doc.cpp +++ b/fpdfsdk/fpdf_doc.cpp @@ -12,6 +12,7 @@ #include "core/fpdfapi/page/cpdf_page.h" #include "core/fpdfapi/parser/cpdf_array.h" #include "core/fpdfapi/parser/cpdf_document.h" +#include "core/fpdfapi/parser/cpdf_number.h" #include "core/fpdfdoc/cpdf_bookmark.h" #include "core/fpdfdoc/cpdf_bookmarktree.h" #include "core/fpdfdoc/cpdf_dest.h" @@ -390,9 +391,17 @@ FPDFLink_GetQuadPoints(FPDF_LINK link_annot, FS_QUADPOINTSF* quad_points) { if (!quad_points || quad_index < 0) return false; - return GetQuadPointsFromDictionary(CPDFDictionaryFromFPDFLink(link_annot), - static_cast(quad_index), - quad_points); + + CPDF_Dictionary* pLinkDict = CPDFDictionaryFromFPDFLink(link_annot); + if (!pLinkDict) + return false; + + const CPDF_Array* pArray = GetQuadPointsArrayFromDictionary(pLinkDict); + if (!pArray) + return false; + + return GetQuadPointsAtIndex(pArray, static_cast(quad_index), + quad_points); } FPDF_EXPORT unsigned long FPDF_CALLCONV FPDF_GetMetaText(FPDF_DOCUMENT document, -- cgit v1.2.3