fd34c882b9
From-SVN: r19536
29 lines
1.1 KiB
C
29 lines
1.1 KiB
C
typedef struct _geom_elem {
|
|
double coeffs[6];
|
|
} pGeomDefRec, *pGeomDefPtr;
|
|
typedef struct _mpgeombanddef {
|
|
int yOut;
|
|
int in_width;
|
|
} mpGeometryBandRec, *mpGeometryBandPtr;
|
|
typedef void *pointer;
|
|
typedef unsigned char CARD8;
|
|
typedef CARD8 BytePixel;
|
|
void BiGL_B (OUTP,srcimg,width,sline,pedpvt,pvtband) pointer OUTP;
|
|
pointer *srcimg;
|
|
register int width;
|
|
int sline;
|
|
pGeomDefPtr pedpvt; mpGeometryBandPtr pvtband;
|
|
{
|
|
register float s, t, st;
|
|
register int isrcline,isrcpix;
|
|
register int srcwidth = pvtband->in_width - 1;
|
|
register BytePixel val;
|
|
register BytePixel *ptrIn, *ptrJn;
|
|
register double a = pedpvt->coeffs[0];
|
|
register double c = pedpvt->coeffs[2];
|
|
register double srcpix = a * ((double)(0.0000)) + pedpvt->coeffs[1] * (pvtband->yOut + ((double)(0.0000)) ) + pedpvt->coeffs[4];
|
|
register double srcline = c * ((double)(0.0000)) + pedpvt->coeffs[3] * (pvtband->yOut + ((double)(0.0000)) ) + pedpvt->coeffs[5];
|
|
if ( (isrcpix >= 0) && (isrcpix < srcwidth) )
|
|
val = ptrIn[isrcpix] * ((float)1. - s - t + st) + ptrIn[isrcpix+1] * (s - st) + ptrJn[isrcpix] * (t - st) + ptrJn[isrcpix+1] * (st) + (float)0.5 ;
|
|
}
|