diff options
author | Dr.Smile <vabnick@gmail.com> | 2020-12-13 16:09:25 +0300 |
---|---|---|
committer | Dr.Smile <vabnick@gmail.com> | 2021-02-22 18:44:54 +0300 |
commit | 05cde3b5b686e41f96e6b5b1a731617f220aedda (patch) | |
tree | ff11cef3e60c55804ecdccbb2ad436374c29c49d | |
parent | 737bdb3622cfa21da82e30d4329ef654b0ec216f (diff) | |
download | libass-05cde3b5b686e41f96e6b5b1a731617f220aedda.tar.bz2 libass-05cde3b5b686e41f96e6b5b1a731617f220aedda.tar.xz |
Move ASS_FontDesc to generic cache infrastructure
-rw-r--r-- | libass/ass_cache.c | 25 | ||||
-rw-r--r-- | libass/ass_cache_template.h | 7 | ||||
-rw-r--r-- | 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; |