Blame icy-heli.c

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