7 template<
typename TPIXEL,
typename TCHANNEL>
class TLinearFInt;
10 #ifndef TLINEARFINT_HPP_
11 #define TLINEARFINT_HPP_
14 #include "../typedefs.hpp"
15 #include "../bitmaps/TBitmap.hpp"
20 #define INTERPOLATE_BILINEAR(P11, P12, P21, P22, X, Y, RES) \
21 RES = ((-P12 + P11 - P21 + P22) * Y - P11 + P21) * X + (-P11 + P12) * Y + P11;
23 #define INTERPOLATE_LINEAR(P1, P2, X, RES) \
24 RES = P1 + (P2 - P1) * X;
28 template<
typename TPIXEL,
typename TCHANNEL>
56 TCHANNEL * ptr = (TCHANNEL *) &retVal;
58 TCHANNEL * px21 = px11 + 4;
59 TCHANNEL * px12 = px11 +
offset;
60 TCHANNEL * px22 = px12 + 4;
62 TCHANNEL p11, p12, p21, p22;
102 TCHANNEL * ptr = (TCHANNEL *) &retVal;
108 TCHANNEL p11, p12, p21, p22;
155 TPIXEL * px21 = px11 + 1;
157 TPIXEL * px22 = px12 + 1;
159 TPIXEL p11, p12, p21, p22;
231 xReindex = (
int *) malloc((
unsigned long int) ((
srcWidth + 2) *
sizeof(
int)));
238 while (ptr < ptrEnd) {
250 while (ptr < ptrEnd) {
254 *ptr = srcHeight - 1;
293 template<
typename TPIXEL,
typename TCHANNEL>
296 template<
typename TPIXEL,
typename TCHANNEL>