summaryrefslogtreecommitdiffstats
path: root/libass/ass_cache.h
diff options
context:
space:
mode:
authorgreg <greg@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-03-05 20:47:33 +0000
committergreg <greg@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-03-05 20:47:33 +0000
commit9bad4bdce4ec7c09fa05022123a33a8edc7506f1 (patch)
treebc26e819e3ff087f2e9cf41da0781d8629eeb213 /libass/ass_cache.h
parent8ad008e12aa377fa54c1ed7c218c48d01392bdc7 (diff)
downloadmpv-9bad4bdce4ec7c09fa05022123a33a8edc7506f1.tar.bz2
mpv-9bad4bdce4ec7c09fa05022123a33a8edc7506f1.tar.xz
Combine adjacent overlapping, translucent glyph borders and shadows to
avoid luminance build-up, which looks ugly. The resulting, modified bitmaps are stored in separate bitmap cache. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28824 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libass/ass_cache.h')
-rw-r--r--libass/ass_cache.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/libass/ass_cache.h b/libass/ass_cache.h
index fdb8a641c9..f7042bed6c 100644
--- a/libass/ass_cache.h
+++ b/libass/ass_cache.h
@@ -65,6 +65,27 @@ bitmap_hash_val_t* cache_find_bitmap(bitmap_hash_key_t* key);
void ass_bitmap_cache_reset(void);
void ass_bitmap_cache_done(void);
+
+// Cache for composited bitmaps
+typedef struct composite_hash_key_s {
+ int aw, ah, bw, bh;
+ int ax, ay, bx, by;
+ bitmap_hash_key_t a;
+ bitmap_hash_key_t b;
+} composite_hash_key_t;
+
+typedef struct composite_hash_val_s {
+ unsigned char* a;
+ unsigned char* b;
+} composite_hash_val_t;
+
+void ass_composite_cache_init(void);
+void* cache_add_composite(composite_hash_key_t* key, composite_hash_val_t* val);
+composite_hash_val_t* cache_find_composite(composite_hash_key_t* key);
+void ass_composite_cache_reset(void);
+void ass_composite_cache_done(void);
+
+
// describes an outline glyph
typedef struct glyph_hash_key_s {
ass_font_t* font;