18 #ifndef QGSCUBICRASTERRESAMPLER_H    19 #define QGSCUBICRASTERRESAMPLER_H    37     static void xDerivativeMatrix( 
int nCols, 
int nRows, 
double* matrix, 
const int* colorMatrix );
    38     static void yDerivativeMatrix( 
int nCols, 
int nRows, 
double* matrix, 
const int* colorMatrix );
    40     void calculateControlPoints( 
int nCols, 
int nRows, 
int currentRow, 
int currentCol, 
int* redMatrix, 
int* greenMatrix, 
int* blueMatrix,
    41                                  int* alphaMatrix, 
double* xDerivativeMatrixRed, 
double* xDerivativeMatrixGreen, 
double* xDerivativeMatrixBlue,
    42                                  double* xDerivativeMatrixAlpha, 
double* yDerivativeMatrixRed, 
double* yDerivativeMatrixGreen, 
double* yDerivativeMatrixBlue,
    43                                  double* yDerivativeMatrixAlpha );
    46     QRgb curveInterpolation( QRgb pt1, QRgb pt2, 
double t, 
double d1red, 
double d1green, 
double d1blue, 
double d1alpha, 
double d2red, 
double d2green,
    47                              double d2blue, 
double d2alpha );
    49     static inline double calcBernsteinPolyN3( 
int i, 
double t );
    50     static inline int lowerN3( 
int i );
    53     static inline QRgb createPremultipliedColor( 
const int r, 
const int g, 
const int b, 
const int a );
   129 #endif // QGSCUBICRASTERRESAMPLER_H 
Interface for resampling rasters (e.g. 
 
virtual void resample(const QImage &srcImage, QImage &dstImage)=0
 
virtual QgsRasterResampler * clone() const =0
 
QString type() const override