// This program simply loads a QOI file into Allegro
// as a texture and then dumps the texture data as a PNG.
// Take notice of lines 32 and 33. You only need to initialize
// the QOI plugin (this registers the function hooks that Allegro
// will use whenever you want to I/O on a filename ending in .qoi)
// 
// Compile the sample program with:
// gcc -o sample allegro_qoi.c sample.c -lallegro -lallegro_image -I./
// Then run it with a QOI image as the first argument.
// 
// qoi.h should be inside of your include path.
// Either place it here, or in your system's global includes.

#include <stdio.h>
#include <allegro5/allegro.h>
#include <allegro5/allegro_image.h>
#include "allegro_qoi.h"

int main(int argc, char **argv) {
	if (argc < 2) {
		printf("Usage: sample <filename>\n");
		return 0;
	}

	al_init();
	al_init_image_addon();
	al_init_qoi();

	// We don't want to multiply color by alpha because
	// we're writing back to another image here, in a
	// game you would leave this flag unset.
	al_set_new_bitmap_flags(ALLEGRO_NO_PREMULTIPLIED_ALPHA);
	ALLEGRO_BITMAP* bmp = al_load_bitmap(argv[1]);

	al_save_bitmap("out.png", bmp);
	return 0;
}
