summaryrefslogtreecommitdiff
path: root/core/fxge/dib/cfx_imagetransformer.h
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2017-12-04 19:26:25 +0000
committerChromium commit bot <commit-bot@chromium.org>2017-12-04 19:26:25 +0000
commit8b27918d4ecb326efb19584cd0c2daeb4a71f7db (patch)
tree6712ef325cd1db3f7ad62e6de8dbe0c80059f932 /core/fxge/dib/cfx_imagetransformer.h
parent33beb4e4d34547a4de43f4dee4b2b0483c526b5e (diff)
downloadpdfium-8b27918d4ecb326efb19584cd0c2daeb4a71f7db.tar.xz
Refactor CFX_ImageTransformer bicubic calculations.
Change-Id: I47c0ae6dbdf339ab7ade36b141c220b8a3fb2274 Reviewed-on: https://pdfium-review.googlesource.com/20257 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 2d22ebcf95..6df50d7801 100644
--- a/core/fxge/dib/cfx_imagetransformer.h
+++ b/core/fxge/dib/cfx_imagetransformer.h
@@ -43,6 +43,18 @@ class CFX_ImageTransformer {
int row_offset_r;
};
+ struct BicubicData {
+ int res_x;
+ int res_y;
+ int src_col_l;
+ int src_row_l;
+ int src_col_r;
+ int src_row_r;
+ int pos_pixel[8];
+ int u_w[4];
+ int v_w[4];
+ };
+
struct CalcData {
const CFX_DIBitmap* bitmap;
const CFX_Matrix& matrix;
@@ -75,6 +87,9 @@ class CFX_ImageTransformer {
void DoBilinearLoop(const CalcData& cdata,
int increment,
std::function<void(const BilinearData&, uint8_t*)> func);
+ void DoBicubicLoop(const CalcData& cdata,
+ int increment,
+ std::function<void(const BicubicData&, uint8_t*)> func);
const RetainPtr<CFX_DIBSource> m_pSrc;
UnownedPtr<const CFX_Matrix> const m_pMatrix;