Blame simple/imgfilters/icy-heli.c

608c44
608c44
#include <math.h></math.h>
608c44
#include <ctype.h></ctype.h>
608c44
#include <stdio.h></stdio.h>
608c44
#include <stdlib.h></stdlib.h>
608c44
#include <string.h></string.h>
608c44
608c44
#include <helianthus.h></helianthus.h>
608c44
608c44
608c44
#include "arg.inc.c"
608c44
#include "img.inc.c"
608c44
#include "img.ldr.inc.c"
608c44
#include "filter.base.inc.c"
608c44
#include "filter.matrix.inc.c"
608c44
#include "filter.blend.inc.c"
608c44
#include "filter.curve.inc.c"
608c44
#include "filter.noise.inc.c"
608c44
#include "filter.blur.inc.c"
608c44
#include "filter.wind.inc.c"
608c44
#include "filter.icy.inc.c"
608c44
608c44
608c44
608c44
Animation anim;
608c44
char *argvv[] = {"-i", "data/input/text.png", "-o", "data/output/icy-text.png", "-s", "4" };
608c44
char **argv;
608c44
int argc;
608c44
608c44
608c44
void generate() {
608c44
  if (anim) {
608c44
    animationDestroy(anim);
608c44
    anim = NULL;
608c44
  }
608c44
  Img img = {};
608c44
  if (icyGenerate(&img, argc, argv)) {
608c44
    unsigned char *data = imgToInt(&img);
608c44
    anim = createAnimationFromImage(img.w, img.h, data, FALSE);
608c44
    free(data);
608c44
    if (img.w < 512) {
608c44
      windowSetWidth(img.w);
608c44
      windowSetHeight(img.h);
608c44
    }
608c44
    imgDestroy(&img);
608c44
  }
608c44
}
608c44
608c44
608c44
void init() {
608c44
  background(COLOR_BLACK);
608c44
  generate();
608c44
}
608c44
608c44
608c44
void draw() {
608c44
  if (keyWentDown("space")) generate();
608c44
  noStroke();
608c44
  rectTextured(anim, 0, 0, windowGetWidth(), windowGetHeight());
608c44
}
608c44
608c44
608c44
int main(int largc, char **largv) {
608c44
  if (largc > 1) {
608c44
    argc = largc - 1;
608c44
    argv = largv + 1;
608c44
  } else {
608c44
    argc = sizeof(argvv)/sizeof(*argvv);
608c44
    argv = argvv;
608c44
  }
608c44
  windowSetInit(&init);
608c44
  windowSetDraw(&draw);
608c44
  windowRun();
608c44
  return 0;
608c44
}
608c44