summaryrefslogtreecommitdiff
path: root/fpdfsdk/fpdf_editpage.cpp
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2018-08-14 19:15:43 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-08-14 19:15:43 +0000
commit46b437333e53295869afde696ed31043c1f6c717 (patch)
tree25c8b199bd5b601d18c1c87f8e20bae9c8510c50 /fpdfsdk/fpdf_editpage.cpp
parent9e4a66449a227ca2a9e62d2f83fdc35f11bb5e2d (diff)
downloadpdfium-46b437333e53295869afde696ed31043c1f6c717.tar.xz
Add FPDFFormObj_GetMatrix() API
This is similar to FPDFText_GetMatrix() (wrapping CPDF_TextObject::GetTextMatrix()) and FPDFPath_GetMatrix() (wrapping CPDF_PathObject::m_Matrix), but wraps the matrix of form objects: CPDF_FormObject::form_matrix(). Change-Id: Ic4ce7ad8050012f54de356bb936263d3e4f097ca Reviewed-on: https://pdfium-review.googlesource.com/39930 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Diffstat (limited to 'fpdfsdk/fpdf_editpage.cpp')
-rw-r--r--fpdfsdk/fpdf_editpage.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/fpdfsdk/fpdf_editpage.cpp b/fpdfsdk/fpdf_editpage.cpp
index 438a0624f3..0ff7a119a0 100644
--- a/fpdfsdk/fpdf_editpage.cpp
+++ b/fpdfsdk/fpdf_editpage.cpp
@@ -842,3 +842,30 @@ FPDFFormObj_GetObject(FPDF_PAGEOBJECT form_object, unsigned long index) {
return FPDFPageObjectFromCPDFPageObject(
pObjectList->GetPageObjectByIndex(index));
}
+
+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
+FPDFFormObj_GetMatrix(FPDF_PAGEOBJECT form_object,
+ double* a,
+ double* b,
+ double* c,
+ double* d,
+ double* e,
+ double* f) {
+ if (!form_object || !a || !b || !c || !d || !e || !f)
+ return false;
+
+ auto* pPageObj = CPDFPageObjectFromFPDFPageObject(form_object);
+ CPDF_FormObject* pFormObj = pPageObj->AsForm();
+ if (!pFormObj)
+ return false;
+
+ const CFX_Matrix& matrix = pFormObj->form_matrix();
+ *a = matrix.a;
+ *b = matrix.b;
+ *c = matrix.c;
+ *d = matrix.d;
+ *e = matrix.e;
+ *f = matrix.f;
+
+ return true;
+}