summaryrefslogtreecommitdiff
path: root/core/fxge/dib/cfx_imagetransformer.h
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2017-12-04 19:07:05 +0000
committerChromium commit bot <commit-bot@chromium.org>2017-12-04 19:07:05 +0000
commit47a90adb7da175cfefe99a3dc40f88521d99b879 (patch)
tree4eab596032357db75c28954b21ea31c8de6c4da4 /core/fxge/dib/cfx_imagetransformer.h
parentaeb5246e6293a5d25973405f5602c46aa81f7dfd (diff)
downloadpdfium-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.h15
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;