diff options
author | Lei Zhang <thestig@chromium.org> | 2018-10-24 17:31:01 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-10-24 17:31:01 +0000 |
commit | 866d688766dbfc01d69f586bfa197d57df0d9b96 (patch) | |
tree | 4a45f43f095c80ec88f8d8202b3e4e5570563ab9 /fpdfsdk/fpdf_edit_embeddertest.cpp | |
parent | cd11df62b64655c24d44a65b2a76d723fc214077 (diff) | |
download | pdfium-866d688766dbfc01d69f586bfa197d57df0d9b96.tar.xz |
Implement FPDFImageObj_GetMatrix().
BUG=pdfium:1183
Change-Id: I5b1051d8924264aa12534466ee51b2718b3eca67
Reviewed-on: https://pdfium-review.googlesource.com/c/44514
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'fpdfsdk/fpdf_edit_embeddertest.cpp')
-rw-r--r-- | fpdfsdk/fpdf_edit_embeddertest.cpp | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/fpdfsdk/fpdf_edit_embeddertest.cpp b/fpdfsdk/fpdf_edit_embeddertest.cpp index 9cd7dbf86b..ae6e444a4e 100644 --- a/fpdfsdk/fpdf_edit_embeddertest.cpp +++ b/fpdfsdk/fpdf_edit_embeddertest.cpp @@ -2963,6 +2963,83 @@ TEST_F(FPDFEditEmbeddertest, GetImageData) { UnloadPage(page); } +TEST_F(FPDFEditEmbeddertest, GetImageMatrix) { + ASSERT_TRUE(OpenDocument("embedded_images.pdf")); + FPDF_PAGE page = LoadPage(0); + ASSERT_TRUE(page); + ASSERT_EQ(39, FPDFPage_CountObjects(page)); + + FPDF_PAGEOBJECT obj; + double a; + double b; + double c; + double d; + double e; + double f; + + obj = FPDFPage_GetObject(page, 33); + ASSERT_EQ(FPDF_PAGEOBJ_IMAGE, FPDFPageObj_GetType(obj)); + EXPECT_TRUE(FPDFImageObj_GetMatrix(obj, &a, &b, &c, &d, &e, &f)); + EXPECT_DOUBLE_EQ(53.0, a); + EXPECT_DOUBLE_EQ(0.0, b); + EXPECT_DOUBLE_EQ(0.0, c); + EXPECT_DOUBLE_EQ(43.0, d); + EXPECT_DOUBLE_EQ(72.0, e); + EXPECT_DOUBLE_EQ(646.510009765625, f); + + obj = FPDFPage_GetObject(page, 34); + ASSERT_EQ(FPDF_PAGEOBJ_IMAGE, FPDFPageObj_GetType(obj)); + EXPECT_TRUE(FPDFImageObj_GetMatrix(obj, &a, &b, &c, &d, &e, &f)); + EXPECT_DOUBLE_EQ(70.0, a); + EXPECT_DOUBLE_EQ(0.0, b); + EXPECT_DOUBLE_EQ(0.0, c); + EXPECT_DOUBLE_EQ(51.0, d); + EXPECT_DOUBLE_EQ(216.0, e); + EXPECT_DOUBLE_EQ(646.510009765625, f); + + obj = FPDFPage_GetObject(page, 35); + ASSERT_EQ(FPDF_PAGEOBJ_IMAGE, FPDFPageObj_GetType(obj)); + EXPECT_TRUE(FPDFImageObj_GetMatrix(obj, &a, &b, &c, &d, &e, &f)); + EXPECT_DOUBLE_EQ(69.0, a); + EXPECT_DOUBLE_EQ(0.0, b); + EXPECT_DOUBLE_EQ(0.0, c); + EXPECT_DOUBLE_EQ(51.0, d); + EXPECT_DOUBLE_EQ(360.0, e); + EXPECT_DOUBLE_EQ(646.510009765625, f); + + obj = FPDFPage_GetObject(page, 36); + ASSERT_EQ(FPDF_PAGEOBJ_IMAGE, FPDFPageObj_GetType(obj)); + EXPECT_TRUE(FPDFImageObj_GetMatrix(obj, &a, &b, &c, &d, &e, &f)); + EXPECT_DOUBLE_EQ(59.0, a); + EXPECT_DOUBLE_EQ(0.0, b); + EXPECT_DOUBLE_EQ(0.0, c); + EXPECT_DOUBLE_EQ(45.0, d); + EXPECT_DOUBLE_EQ(72.0, e); + EXPECT_DOUBLE_EQ(553.510009765625, f); + + obj = FPDFPage_GetObject(page, 37); + ASSERT_EQ(FPDF_PAGEOBJ_IMAGE, FPDFPageObj_GetType(obj)); + EXPECT_TRUE(FPDFImageObj_GetMatrix(obj, &a, &b, &c, &d, &e, &f)); + EXPECT_DOUBLE_EQ(55.94000244140625, a); + EXPECT_DOUBLE_EQ(0.0, b); + EXPECT_DOUBLE_EQ(0.0, c); + EXPECT_DOUBLE_EQ(46.950000762939453, d); + EXPECT_DOUBLE_EQ(216.0, e); + EXPECT_DOUBLE_EQ(552.510009765625, f); + + obj = FPDFPage_GetObject(page, 38); + ASSERT_EQ(FPDF_PAGEOBJ_IMAGE, FPDFPageObj_GetType(obj)); + EXPECT_TRUE(FPDFImageObj_GetMatrix(obj, &a, &b, &c, &d, &e, &f)); + EXPECT_DOUBLE_EQ(70.528999328613281, a); + EXPECT_DOUBLE_EQ(0.0, b); + EXPECT_DOUBLE_EQ(0.0, c); + EXPECT_DOUBLE_EQ(43.149997711181641, d); + EXPECT_DOUBLE_EQ(360.0, e); + EXPECT_DOUBLE_EQ(553.3599853515625, f); + + UnloadPage(page); +} + TEST_F(FPDFEditEmbeddertest, DestroyPageObject) { FPDF_PAGEOBJECT rect = FPDFPageObj_CreateNewRect(10, 10, 20, 20); ASSERT_TRUE(rect); |