summaryrefslogtreecommitdiff
path: root/fpdfsdk/fpdfannot.cpp
diff options
context:
space:
mode:
authorHenrique Nakashima <hnakashima@chromium.org>2018-03-26 21:46:00 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-03-26 21:46:00 +0000
commit5098b252848734ac69e0851f7bd116d93311a57e (patch)
tree8f221ab1bf47c9b624974907b8ee74f92a528cb4 /fpdfsdk/fpdfannot.cpp
parentac3e57eee888904d39a07b58ca7d57f8f8b0e51a (diff)
downloadpdfium-5098b252848734ac69e0851f7bd116d93311a57e.tar.xz
Reland "Add FPDFAnnot_CountAttachmentPoints"
This reverts commit ac3e57eee888904d39a07b58ca7d57f8f8b0e51a. Reason for revert: Tried to reproduce on win bot, 10/10 passed. Relanding, hopefully it was just a hiccup. Original change's description: > Revert "Add FPDFAnnot_CountAttachmentPoints" > > This reverts commit ca28cb636331de447125de476decbec333fe613b. > > Reason for revert: broke Windows embeddertests > > https://build.chromium.org/p/client.pdfium/builders/windows/builds/4622 > > I got it when landing my CL, which is unrelated. Since this CL passed the bot, I'm guessing it's a flaky test? > > Original change's description: > > Add FPDFAnnot_CountAttachmentPoints > > > > This CL adds a function to the API that returns the number of quadpoint > > sets. > > > > Change-Id: I999bc567a4c98f6c32e87810e7ecfbb634c7b677 > > Reviewed-on: https://pdfium-review.googlesource.com/29130 > > Reviewed-by: Lei Zhang <thestig@chromium.org> > > Commit-Queue: Lei Zhang <thestig@chromium.org> > > TBR=thestig@chromium.org,dsinclair@chromium.org,ralf.sippl@gmail.com > > Change-Id: Id96b5d4e18be2184c9d24f77bda7499aad0ed211 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://pdfium-review.googlesource.com/29190 > Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> > Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> TBR=thestig@chromium.org,dsinclair@chromium.org,ralf.sippl@gmail.com,hnakashima@chromium.org Change-Id: Ie586552b355ef1f040ae162a539a6b9ebf50d125 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://pdfium-review.googlesource.com/29210 Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Diffstat (limited to 'fpdfsdk/fpdfannot.cpp')
-rw-r--r--fpdfsdk/fpdfannot.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/fpdfsdk/fpdfannot.cpp b/fpdfsdk/fpdfannot.cpp
index b5dccaade1..c52807148e 100644
--- a/fpdfsdk/fpdfannot.cpp
+++ b/fpdfsdk/fpdfannot.cpp
@@ -583,7 +583,7 @@ FPDFAnnot_HasAttachmentPoints(FPDF_ANNOTATION annot) {
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
FPDFAnnot_SetAttachmentPoints(FPDF_ANNOTATION annot,
const FS_QUADPOINTSF* quad_points) {
- if (!annot || !quad_points || !FPDFAnnot_HasAttachmentPoints(annot))
+ if (!FPDFAnnot_HasAttachmentPoints(annot) || !quad_points)
return false;
CPDF_Dictionary* pAnnotDict =
@@ -621,10 +621,21 @@ FPDFAnnot_SetAttachmentPoints(FPDF_ANNOTATION annot,
return true;
}
+FPDF_EXPORT size_t FPDF_CALLCONV
+FPDFAnnot_CountAttachmentPoints(FPDF_ANNOTATION annot) {
+ if (!FPDFAnnot_HasAttachmentPoints(annot))
+ return 0;
+
+ CPDF_Dictionary* pAnnotDict =
+ CPDFAnnotContextFromFPDFAnnotation(annot)->GetAnnotDict();
+ const CPDF_Array* pArray = GetQuadPointsArrayFromDictionary(pAnnotDict);
+ return pArray ? pArray->GetCount() / 8 : 0;
+}
+
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
FPDFAnnot_GetAttachmentPoints(FPDF_ANNOTATION annot,
FS_QUADPOINTSF* quad_points) {
- if (!annot || !quad_points || !FPDFAnnot_HasAttachmentPoints(annot))
+ if (!FPDFAnnot_HasAttachmentPoints(annot) || !quad_points)
return false;
return GetQuadPointsFromDictionary(