blob: 7b757ccd2e8c4fcb700b11ee188b036f90000d83 [file] [log] [blame]
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 ;
}