From 05cde3b5b686e41f96e6b5b1a731617f220aedda Mon Sep 17 00:00:00 2001 From: "Dr.Smile" Date: Sun, 13 Dec 2020 16:09:25 +0300 Subject: Move ASS_FontDesc to generic cache infrastructure --- libass/ass_cache.c | 25 ------------------------- libass/ass_cache_template.h | 7 +++++++ libass/ass_font.h | 8 -------- 3 files changed, 7 insertions(+), 33 deletions(-) diff --git a/libass/ass_cache.c b/libass/ass_cache.c index d5106df..d0dd6fb 100644 --- a/libass/ass_cache.c +++ b/libass/ass_cache.c @@ -38,31 +38,6 @@ #include "ass_cache_template.h" // font cache -static uint32_t font_hash(void *buf, uint32_t hval) -{ - ASS_FontDesc *desc = buf; - hval = fnv_32a_str(desc->family, hval); - hval = fnv_32a_buf(&desc->bold, sizeof(desc->bold), hval); - hval = fnv_32a_buf(&desc->italic, sizeof(desc->italic), hval); - hval = fnv_32a_buf(&desc->vertical, sizeof(desc->vertical), hval); - return hval; -} - -static bool font_compare(void *key1, void *key2) -{ - ASS_FontDesc *a = key1; - ASS_FontDesc *b = key2; - if (strcmp(a->family, b->family) != 0) - return false; - if (a->bold != b->bold) - return false; - if (a->italic != b->italic) - return false; - if (a->vertical != b->vertical) - return false; - return true; -} - static bool font_key_move(void *dst, void *src) { ASS_FontDesc *k = src; diff --git a/libass/ass_cache_template.h b/libass/ass_cache_template.h index c0bcfac..80515c2 100644 --- a/libass/ass_cache_template.h +++ b/libass/ass_cache_template.h @@ -50,6 +50,13 @@ +START(font, ass_font_desc ) + STRING(family) + GENERIC(unsigned, bold) + GENERIC(unsigned, italic) + GENERIC(int, vertical) // @font vertical layout +END(ASS_FontDesc) + // describes an outline bitmap START(bitmap, bitmap_hash_key) GENERIC(OutlineHashValue *, outline) diff --git a/libass/ass_font.h b/libass/ass_font.h index 05b776b..71bbf3f 100644 --- a/libass/ass_font.h +++ b/libass/ass_font.h @@ -25,7 +25,6 @@ #include FT_OUTLINE_H typedef struct ass_font ASS_Font; -typedef struct ass_font_desc ASS_FontDesc; #include "ass.h" #include "ass_types.h" @@ -39,13 +38,6 @@ typedef struct ass_font_desc ASS_FontDesc; #define DECO_STRIKETHROUGH 2 #define DECO_ROTATE 4 -struct ass_font_desc { - char *family; - unsigned bold; - unsigned italic; - int vertical; // @font vertical layout -}; - struct ass_font { ASS_FontDesc desc; ASS_Library *library; -- cgit v1.2.3