Blame tests/gdinterpolatedscale/gdModesAndPalettes.c

Packit Service df60bb
/* Exercise all scaling with all interpolation modes and ensure that
Packit Service df60bb
 * at least, something comes back. */
Packit Service df60bb
Packit Service df60bb
#include <stdio.h>
Packit Service df60bb
Packit Service df60bb
#include "gd.h"
Packit Service df60bb
#include "gdtest.h"
Packit Service df60bb
Packit Service df60bb
#define X 100
Packit Service df60bb
#define Y 100
Packit Service df60bb
Packit Service df60bb
#define NX 20
Packit Service df60bb
#define NY 20
Packit Service df60bb
Packit Service df60bb
int main() {
Packit Service df60bb
    int method, i;
Packit Service df60bb
Packit Service df60bb
    for(method = GD_BELL; method <= GD_TRIANGLE; method++) {   /* GD_WEIGHTED4 is unsupported. */
Packit Service df60bb
        gdImagePtr im[2];
Packit Service df60bb
Packit Service df60bb
        // printf("Method = %d\n", method);
Packit Service df60bb
        im[0] = gdImageCreateTrueColor(X, Y);
Packit Service df60bb
        im[1] = gdImageCreatePalette(X, Y);
Packit Service df60bb
Packit Service df60bb
        for (i = 0; i < 2; i++) {
Packit Service df60bb
            gdImagePtr result;
Packit Service df60bb
Packit Service df60bb
            // printf("    %s\n", i == 0 ? "truecolor" : "palette");
Packit Service df60bb
Packit Service df60bb
            gdImageFilledRectangle(im[i], 0, 0, X-1, Y-1,
Packit Service df60bb
                                   gdImageColorExactAlpha(im[i], 255, 255, 255, 0));
Packit Service df60bb
Packit Service df60bb
            gdImageSetInterpolationMethod(im[i], method);
Packit Service df60bb
            gdTestAssert(im[i]->interpolation_id == method); /* No getter yet. */
Packit Service df60bb
Packit Service df60bb
            result = gdImageScale(im[i], NX, NY);
Packit Service df60bb
            gdTestAssert(result != NULL);
Packit Service df60bb
            gdTestAssert(result != im[i]);
Packit Service df60bb
            if (result == NULL) {
Packit Service df60bb
				gdTestErrorMsg("gdImageScale failed (method: %i, im:%i).\n", method, i);
Packit Service df60bb
				break;
Packit Service df60bb
			}
Packit Service df60bb
            gdTestAssert(result->sx == NX && result->sy == NY);
Packit Service df60bb
Packit Service df60bb
            gdImageDestroy(result);
Packit Service df60bb
            gdImageDestroy(im[i]);
Packit Service df60bb
        }/* for */
Packit Service df60bb
    }/* for*/
Packit Service df60bb
Packit Service df60bb
Packit Service df60bb
    return gdNumFailures();
Packit Service df60bb
}/* main*/