summaryrefslogtreecommitdiff
path: root/core/fxge/dib/cfx_imagetransformer.h
diff options
context:
space:
mode:
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;