diff options
author | Lei Zhang <thestig@chromium.org> | 2017-12-04 19:07:05 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-12-04 19:07:05 +0000 |
commit | 47a90adb7da175cfefe99a3dc40f88521d99b879 (patch) | |
tree | 4eab596032357db75c28954b21ea31c8de6c4da4 /core/fxge/dib/cfx_imagetransformer.h | |
parent | aeb5246e6293a5d25973405f5602c46aa81f7dfd (diff) | |
download | pdfium-47a90adb7da175cfefe99a3dc40f88521d99b879.tar.xz |
Refactor CFX_ImageTransformer bilinear calculations.
Change-Id: Ia38329bf5622c0ae6f5c4173332d2140de08c567
Reviewed-on: https://pdfium-review.googlesource.com/20256
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'core/fxge/dib/cfx_imagetransformer.h')
-rw-r--r-- | core/fxge/dib/cfx_imagetransformer.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/core/fxge/dib/cfx_imagetransformer.h b/core/fxge/dib/cfx_imagetransformer.h index a0f9c6a816..2d22ebcf95 100644 --- a/core/fxge/dib/cfx_imagetransformer.h +++ b/core/fxge/dib/cfx_imagetransformer.h @@ -32,6 +32,17 @@ class CFX_ImageTransformer { RetainPtr<CFX_DIBitmap> DetachBitmap(); private: + struct BilinearData { + int res_x; + int res_y; + int src_col_l; + int src_row_l; + int src_col_r; + int src_row_r; + int row_offset_l; + int row_offset_r; + }; + struct CalcData { const CFX_DIBitmap* bitmap; const CFX_Matrix& matrix; @@ -61,6 +72,10 @@ class CFX_ImageTransformer { void AdjustCoords(int* col, int* row) const; + void DoBilinearLoop(const CalcData& cdata, + int increment, + std::function<void(const BilinearData&, uint8_t*)> func); + const RetainPtr<CFX_DIBSource> m_pSrc; UnownedPtr<const CFX_Matrix> const m_pMatrix; const FX_RECT* const m_pClip; |