- spt0[0] = srcX;
- spt0[1] = srcY;
- spt1[0] = srcX + width;
- spt1[1] = srcY + height;
-
- mpt0[0] = maskX;
- mpt0[1] = maskY;
- mpt1[0] = maskX + width;
- mpt1[1] = maskY + height;
-
- if (src_matrix) {
- map_point((float *)src_matrix, spt0[0], spt0[1], &spt0[0], &spt0[1]);
- map_point((float *)src_matrix, spt1[0], spt1[1], &spt1[0], &spt1[1]);
- }
-
- if (mask_matrix) {
- map_point((float *)mask_matrix, mpt0[0], mpt0[1], &mpt0[0], &mpt0[1]);
- map_point((float *)mask_matrix, mpt1[0], mpt1[1], &mpt1[0], &mpt1[1]);
- }
-
- src_s0 = spt0[0] / src->width0;
- src_t0 = spt0[1] / src->height0;
- src_s1 = spt1[0] / src->width0;
- src_t1 = spt1[1] / src->height0;
-
- mask_s0 = mpt0[0] / mask->width0;
- mask_t0 = mpt0[1] / mask->height0;
- mask_s1 = mpt1[0] / mask->width0;
- mask_t1 = mpt1[1] / mask->height0;
+ compute_src_coords(srcX, srcY, src, src_matrix, width, height,
+ spt0, spt1, spt2, spt3);
+ compute_src_coords(maskX, maskY, mask, mask_matrix, width, height,
+ mpt0, mpt1, mpt2, mpt3);