From a105fa126cfc2de661dca824bd307aa329e22c9d Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Thu, 12 Apr 2018 16:23:01 +0000 Subject: Change some CPDFXFA_Page methods to take rects and points. Instead of many int in-parameters. Change-Id: I58b493ac0155f6b45f52963c0f61159633d88e28 Reviewed-on: https://pdfium-review.googlesource.com/30056 Commit-Queue: Lei Zhang Reviewed-by: dsinclair --- fpdfsdk/fpdfxfa/cpdfxfa_page.cpp | 24 +++++------------------- fpdfsdk/fpdfxfa/cpdfxfa_page.h | 16 ++++------------ 2 files changed, 9 insertions(+), 31 deletions(-) (limited to 'fpdfsdk/fpdfxfa') diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_page.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_page.cpp index a43707a9cf..c3d5e18707 100644 --- a/fpdfsdk/fpdfxfa/cpdfxfa_page.cpp +++ b/fpdfsdk/fpdfxfa/cpdfxfa_page.cpp @@ -126,32 +126,21 @@ float CPDFXFA_Page::GetPageHeight() const { return 0.0f; } -void CPDFXFA_Page::DeviceToPage(int start_x, - int start_y, - int size_x, - int size_y, +void CPDFXFA_Page::DeviceToPage(const FX_RECT& rect, int rotate, - int device_x, - int device_y, + const CFX_PointF& device_point, double* page_x, double* page_y) { if (!m_pPDFPage && !m_pXFAPageView) return; - const FX_RECT rect(start_x, start_y, start_x + size_x, start_y + size_y); - CFX_PointF pos = GetDisplayMatrix(rect, rotate) - .GetInverse() - .Transform(CFX_PointF(static_cast(device_x), - static_cast(device_y))); - + CFX_PointF pos = + GetDisplayMatrix(rect, rotate).GetInverse().Transform(device_point); *page_x = pos.x; *page_y = pos.y; } -void CPDFXFA_Page::PageToDevice(int start_x, - int start_y, - int size_x, - int size_y, +void CPDFXFA_Page::PageToDevice(const FX_RECT& rect, int rotate, double page_x, double page_y, @@ -160,12 +149,9 @@ void CPDFXFA_Page::PageToDevice(int start_x, if (!m_pPDFPage && !m_pXFAPageView) return; - const FX_RECT rect(start_x, start_y, start_x + size_x, start_y + size_y); CFX_Matrix page2device = GetDisplayMatrix(rect, rotate); - CFX_PointF pos = page2device.Transform( CFX_PointF(static_cast(page_x), static_cast(page_y))); - *device_x = FXSYS_round(pos.x); *device_y = FXSYS_round(pos.y); } diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_page.h b/fpdfsdk/fpdfxfa/cpdfxfa_page.h index bdb4791c87..0acec981c6 100644 --- a/fpdfsdk/fpdfxfa/cpdfxfa_page.h +++ b/fpdfsdk/fpdfxfa/cpdfxfa_page.h @@ -9,16 +9,15 @@ #include +#include "core/fxcrt/fx_coordinates.h" #include "core/fxcrt/fx_system.h" #include "core/fxcrt/retain_ptr.h" #include "core/fxcrt/unowned_ptr.h" -class CFX_Matrix; class CPDFXFA_Context; class CPDF_Dictionary; class CPDF_Page; class CXFA_FFPageView; -struct FX_RECT; class CPDFXFA_Page : public Retainable { public: @@ -39,19 +38,12 @@ class CPDFXFA_Page : public Retainable { float GetPageWidth() const; float GetPageHeight() const; - void DeviceToPage(int start_x, - int start_y, - int size_x, - int size_y, + void DeviceToPage(const FX_RECT& rect, int rotate, - int device_x, - int device_y, + const CFX_PointF& device_point, double* page_x, double* page_y); - void PageToDevice(int start_x, - int start_y, - int size_x, - int size_y, + void PageToDevice(const FX_RECT& rect, int rotate, double page_x, double page_y, -- cgit v1.2.3