#include #include #include #include #include #include #include #include "murmur3.h" // MurmurHash3_x64_128 header file #include #include FT_FREETYPE_H #include FT_MODULE_H #include FT_LCD_FILTER_H #include FT_BITMAP_H #define BITS_PER_PIXEL_RGBA 32 typedef struct { // To store 32bit Hash FT_UInt32 hash[1]; }HASH_32; typedef struct { // To store 128bit Hash FT_UInt32 hash[4]; }HASH_128; typedef struct { unsigned char red; unsigned char green; unsigned char blue; unsigned char alpha; } PIXEL; typedef struct { unsigned char red; unsigned char green; unsigned char blue; unsigned char alpha; } PIXEL_BGRA; /* A picture. */ typedef struct { PIXEL *pixels; size_t width; size_t height; } IMAGE; //------------------------------------------------------------------------------ HASH_32 * Generate_Hash_x86_32(FT_Bitmap * bitmap, HASH_32 * murmur); HASH_128 * Generate_Hash_x86_128(FT_Bitmap * bitmap, HASH_128 * murmur); HASH_128 * Generate_Hash_x64_128(FT_Bitmap * bitmap, HASH_128 * murmur); //------------------------------------------------------------------------------ PIXEL * Pixel_At (IMAGE * bitmap, int x, int y); // Returns a pointer to pixel // at (x,y) co-ordinate // buffer to image void Make_PNG(FT_Bitmap* bitmap,char* name,int i,int render_mode); // Image to file int Generate_PNG (IMAGE *bitmap, const char *path,int render_mode);