From d1f0a66587b60cc9bacef21e38f8df14d1b626cb Mon Sep 17 00:00:00 2001 From: Grigori Goronzy Date: Sat, 11 Jul 2009 15:12:20 +0200 Subject: Updates for autotools' make dist Rename ass_cache_template.c to ass_cache_template.h; add libass.sym to EXTRA_DIST. --- libass/Makefile.am | 3 +- libass/ass_cache.c | 4 +- libass/ass_cache.h | 2 +- libass/ass_cache_template.c | 118 -------------------------------------------- libass/ass_cache_template.h | 118 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 123 insertions(+), 122 deletions(-) delete mode 100644 libass/ass_cache_template.c create mode 100644 libass/ass_cache_template.h (limited to 'libass') diff --git a/libass/Makefile.am b/libass/Makefile.am index 4f84699..e984ce1 100644 --- a/libass/Makefile.am +++ b/libass/Makefile.am @@ -7,10 +7,11 @@ libass_la_SOURCES = ass.c ass_cache.c ass_font.c ass_fontconfig.c ass_render.c \ ass_utils.c ass_bitmap.c ass_library.c ass_bitmap.h \ ass_cache.h ass_fontconfig.h ass_font.h ass.h \ ass_library.h ass_types.h ass_utils.h ass_drawing.c \ - ass_drawing.h + ass_drawing.h ass_cache_template.h libass_la_LDFLAGS = -version-info $(LIBASS_LT_CURRENT):$(LIBASS_LT_REVISION):$(LIBASS_LT_AGE) libass_la_LDFLAGS += -export-symbols $(srcdir)/libass.sym assheadersdir = $(includedir)/ass dist_assheaders_HEADERS = ass.h ass_types.h +EXTRA_DIST = libass.sym diff --git a/libass/ass_cache.c b/libass/ass_cache.c index ed44a2f..4c7a3fa 100644 --- a/libass/ass_cache.c +++ b/libass/ass_cache.c @@ -199,9 +199,9 @@ void ass_font_cache_done(hashmap_t *font_cache) // Create hash/compare functions for bitmap and glyph #define CREATE_HASH_FUNCTIONS -#include "ass_cache_template.c" +#include "ass_cache_template.h" #define CREATE_COMPARISON_FUNCTIONS -#include "ass_cache_template.c" +#include "ass_cache_template.h" //--------------------------------- // bitmap cache diff --git a/libass/ass_cache.h b/libass/ass_cache.h index 004a4b6..83c9943 100644 --- a/libass/ass_cache.h +++ b/libass/ass_cache.h @@ -68,7 +68,7 @@ void ass_font_cache_done(hashmap_t *); // Create definitions for bitmap_hash_key and glyph_hash_key #define CREATE_STRUCT_DEFINITIONS -#include "ass_cache_template.c" +#include "ass_cache_template.h" typedef struct bitmap_hash_val_s { bitmap_t *bm; // the actual bitmaps diff --git a/libass/ass_cache_template.c b/libass/ass_cache_template.c deleted file mode 100644 index eae9807..0000000 --- a/libass/ass_cache_template.c +++ /dev/null @@ -1,118 +0,0 @@ -#ifdef CREATE_STRUCT_DEFINITIONS -#undef CREATE_STRUCT_DEFINITIONS -#define START(funcname, structname) \ - typedef struct structname { -#define GENERIC(type, member) \ - type member; -#define FTVECTOR(member) \ - FT_Vector member; -#define BITMAPHASHKEY(member) \ - bitmap_hash_key_t member; -#define END(typedefnamename) \ - } typedefnamename; - -#elif defined(CREATE_COMPARISON_FUNCTIONS) -#undef CREATE_COMPARISON_FUNCTIONS -#define START(funcname, structname) \ - static int funcname##_compare(void *key1, void *key2, size_t key_size) \ - { \ - struct structname *a = key1; \ - struct structname *b = key2; \ - return // conditions follow -#define GENERIC(type, member) \ - a->member == b->member && -#define FTVECTOR(member) \ - a->member.x == b->member.x && a->member.y == b->member.y && -#define BITMAPHASHKEY(member) \ - bitmap_compare(&a->member, &b->member, sizeof(a->member)) && -#define END(typedefname) \ - 1; \ - } - -#elif defined(CREATE_HASH_FUNCTIONS) -#undef CREATE_HASH_FUNCTIONS -#define START(funcname, structname) \ - static unsigned funcname##_hash(void *buf, size_t len) \ - { \ - struct structname *p = buf; \ - unsigned hval = FNV1_32A_INIT; -#define GENERIC(type, member) \ - hval = fnv_32a_buf(&p->member, sizeof(p->member), hval); -#define FTVECTOR(member) GENERIC(, member.x); GENERIC(, member.y); -#define BITMAPHASHKEY(member) { \ - unsigned temp = bitmap_hash(&p->member, sizeof(p->member)); \ - hval = fnv_32a_buf(&temp, sizeof(temp), hval); \ - } -#define END(typedefname) \ - return hval; \ - } - -#else -#error missing defines -#endif - - - -// describes a bitmap; bitmaps with equivalents structs are considered identical -START(bitmap, bipmap_hash_key_s) - GENERIC(char, bitmap) // bool : true = bitmap, false = outline - GENERIC(ass_font_t *, font) - GENERIC(double, size) // font size - GENERIC(uint32_t, ch) // character code - FTVECTOR(outline) // border width, 16.16 fixed point value - GENERIC(int, bold) - GENERIC(int, italic) - GENERIC(char, be) // blur edges - GENERIC(double, blur) // gaussian blur - GENERIC(unsigned, scale_x) // 16.16 - GENERIC(unsigned, scale_y) // 16.16 - GENERIC(int, frx) // signed 16.16 - GENERIC(int, fry) // signed 16.16 - GENERIC(int, frz) // signed 16.16 - GENERIC(int, fax) // signed 16.16 - GENERIC(int, fay) // signed 16.16 - // shift vector that was added to glyph before applying rotation - // = 0, if frx = fry = frx = 0 - // = (glyph base point) - (rotation origin), otherwise - GENERIC(int, shift_x) - GENERIC(int, shift_y) - FTVECTOR(advance) // subpixel shift vector - FTVECTOR(shadow_offset) // shadow subpixel shift - GENERIC(unsigned, drawing_hash) // hashcode of a drawing -END(bitmap_hash_key_t) - -// describes an outline glyph -START(glyph, glyph_hash_key_s) - GENERIC(ass_font_t *, font) - GENERIC(double, size) // font size - GENERIC(uint32_t, ch) // character code - GENERIC(int, bold) - GENERIC(int, italic) - GENERIC(unsigned, scale_x) // 16.16 - GENERIC(unsigned, scale_y) // 16.16 - FTVECTOR(advance) // subpixel shift vector - FTVECTOR(outline) // border width, 16.16 - GENERIC(unsigned, drawing_hash) // hashcode of a drawing - GENERIC(unsigned, flags) // glyph decoration flags -END(glyph_hash_key_t) - -// Cache for composited bitmaps -START(composite, composite_hash_key_s) - GENERIC(int, aw) - GENERIC(int, ah) - GENERIC(int, bw) - GENERIC(int, bh) - GENERIC(int, ax) - GENERIC(int, ay) - GENERIC(int, bx) - GENERIC(int, by) - BITMAPHASHKEY(a) - BITMAPHASHKEY(b) -END(composite_hash_key_t) - - -#undef START -#undef GENERIC -#undef FTVECTOR -#undef BITMAPHASHKEY -#undef END diff --git a/libass/ass_cache_template.h b/libass/ass_cache_template.h new file mode 100644 index 0000000..eae9807 --- /dev/null +++ b/libass/ass_cache_template.h @@ -0,0 +1,118 @@ +#ifdef CREATE_STRUCT_DEFINITIONS +#undef CREATE_STRUCT_DEFINITIONS +#define START(funcname, structname) \ + typedef struct structname { +#define GENERIC(type, member) \ + type member; +#define FTVECTOR(member) \ + FT_Vector member; +#define BITMAPHASHKEY(member) \ + bitmap_hash_key_t member; +#define END(typedefnamename) \ + } typedefnamename; + +#elif defined(CREATE_COMPARISON_FUNCTIONS) +#undef CREATE_COMPARISON_FUNCTIONS +#define START(funcname, structname) \ + static int funcname##_compare(void *key1, void *key2, size_t key_size) \ + { \ + struct structname *a = key1; \ + struct structname *b = key2; \ + return // conditions follow +#define GENERIC(type, member) \ + a->member == b->member && +#define FTVECTOR(member) \ + a->member.x == b->member.x && a->member.y == b->member.y && +#define BITMAPHASHKEY(member) \ + bitmap_compare(&a->member, &b->member, sizeof(a->member)) && +#define END(typedefname) \ + 1; \ + } + +#elif defined(CREATE_HASH_FUNCTIONS) +#undef CREATE_HASH_FUNCTIONS +#define START(funcname, structname) \ + static unsigned funcname##_hash(void *buf, size_t len) \ + { \ + struct structname *p = buf; \ + unsigned hval = FNV1_32A_INIT; +#define GENERIC(type, member) \ + hval = fnv_32a_buf(&p->member, sizeof(p->member), hval); +#define FTVECTOR(member) GENERIC(, member.x); GENERIC(, member.y); +#define BITMAPHASHKEY(member) { \ + unsigned temp = bitmap_hash(&p->member, sizeof(p->member)); \ + hval = fnv_32a_buf(&temp, sizeof(temp), hval); \ + } +#define END(typedefname) \ + return hval; \ + } + +#else +#error missing defines +#endif + + + +// describes a bitmap; bitmaps with equivalents structs are considered identical +START(bitmap, bipmap_hash_key_s) + GENERIC(char, bitmap) // bool : true = bitmap, false = outline + GENERIC(ass_font_t *, font) + GENERIC(double, size) // font size + GENERIC(uint32_t, ch) // character code + FTVECTOR(outline) // border width, 16.16 fixed point value + GENERIC(int, bold) + GENERIC(int, italic) + GENERIC(char, be) // blur edges + GENERIC(double, blur) // gaussian blur + GENERIC(unsigned, scale_x) // 16.16 + GENERIC(unsigned, scale_y) // 16.16 + GENERIC(int, frx) // signed 16.16 + GENERIC(int, fry) // signed 16.16 + GENERIC(int, frz) // signed 16.16 + GENERIC(int, fax) // signed 16.16 + GENERIC(int, fay) // signed 16.16 + // shift vector that was added to glyph before applying rotation + // = 0, if frx = fry = frx = 0 + // = (glyph base point) - (rotation origin), otherwise + GENERIC(int, shift_x) + GENERIC(int, shift_y) + FTVECTOR(advance) // subpixel shift vector + FTVECTOR(shadow_offset) // shadow subpixel shift + GENERIC(unsigned, drawing_hash) // hashcode of a drawing +END(bitmap_hash_key_t) + +// describes an outline glyph +START(glyph, glyph_hash_key_s) + GENERIC(ass_font_t *, font) + GENERIC(double, size) // font size + GENERIC(uint32_t, ch) // character code + GENERIC(int, bold) + GENERIC(int, italic) + GENERIC(unsigned, scale_x) // 16.16 + GENERIC(unsigned, scale_y) // 16.16 + FTVECTOR(advance) // subpixel shift vector + FTVECTOR(outline) // border width, 16.16 + GENERIC(unsigned, drawing_hash) // hashcode of a drawing + GENERIC(unsigned, flags) // glyph decoration flags +END(glyph_hash_key_t) + +// Cache for composited bitmaps +START(composite, composite_hash_key_s) + GENERIC(int, aw) + GENERIC(int, ah) + GENERIC(int, bw) + GENERIC(int, bh) + GENERIC(int, ax) + GENERIC(int, ay) + GENERIC(int, bx) + GENERIC(int, by) + BITMAPHASHKEY(a) + BITMAPHASHKEY(b) +END(composite_hash_key_t) + + +#undef START +#undef GENERIC +#undef FTVECTOR +#undef BITMAPHASHKEY +#undef END -- cgit v1.2.3