diff options
author | Henrique Nakashima <hnakashima@chromium.org> | 2018-03-26 21:46:00 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-03-26 21:46:00 +0000 |
commit | 5098b252848734ac69e0851f7bd116d93311a57e (patch) | |
tree | 8f221ab1bf47c9b624974907b8ee74f92a528cb4 /fpdfsdk/fpdfannot.cpp | |
parent | ac3e57eee888904d39a07b58ca7d57f8f8b0e51a (diff) | |
download | pdfium-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.cpp | 15 |
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( |