Mercurial > mplayer.hg
view libvo/font_load.h @ 7628:d6608342591d
This patch adds the functionality to disable/enable subtitles while playing
a video. I mapped it to the input-keyword "sub_visibility".
This keyword is mapped to the 'v' key on the keyboard. I tested the patch
with old-fashioned subtitles, with freetype subtitles and DVD subtitles.
Works fine. The patch also includes documentation updates.
patch by Uwe.Reder@3SOFT.de
author | arpi |
---|---|
date | Sun, 06 Oct 2002 17:40:51 +0000 |
parents | 379852905f31 |
children | 81dbd28ef7c0 |
line wrap: on
line source
#ifndef __MPLAYER_FONT_LOAD_H #define __MPLAYER_FONT_LOAD_H #ifdef HAVE_FREETYPE #include <freetype/freetype.h> #endif typedef struct { unsigned char *bmp; unsigned char *pal; int w,h,c; #ifdef HAVE_FREETYPE int charwidth,charheight,pen,baseline,padding; int current_count, current_alloc; #endif } raw_file; typedef struct { #ifdef HAVE_FREETYPE int dynamic; #endif char *name; char *fpath; int spacewidth; int charspace; int height; // char *fname_a; // char *fname_b; raw_file* pic_a[16]; raw_file* pic_b[16]; short font[65536]; int start[65536]; // short is not enough for unicode fonts short width[65536]; #ifdef HAVE_FREETYPE int face_cnt; FT_Face faces[16]; FT_UInt glyph_index[65536]; int max_width, max_height; struct { int g_r; int o_r; int g_w; int o_w; int o_size; unsigned volume; unsigned *g; unsigned *gt2; unsigned *om; unsigned char *omt; unsigned short *tmp; } tables; #endif } font_desc_t; extern font_desc_t* vo_font; #ifdef HAVE_FREETYPE extern char *subtitle_font_encoding; extern float text_font_scale_factor; extern float osd_font_scale_factor; extern float subtitle_font_radius; extern float subtitle_font_thickness; extern int subtitle_autoscale; extern int vo_image_width; extern int vo_image_height; extern int force_load_font; int init_freetype(); int done_freetype(); font_desc_t* read_font_desc(char* fname,int movie_width, int movie_height); void free_font_desc(font_desc_t *desc); void render_one_glyph(font_desc_t *desc, int c); int kerning(font_desc_t *desc, int prevc, int c); void load_font(int width, int height); #else raw_file* load_raw(char *name,int verbose); font_desc_t* read_font_desc(char* fname,float factor,int verbose); static void inline render_one_glyph(font_desc_t *desc, int c) {} static int inline kerning(font_desc_t *desc, int prevc, int c) { return 0; } static void inline load_font(int width, int height){} #endif #endif /* ! __MPLAYER_FONT_LOAD_H */