sub.h

来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· C头文件 代码 · 共 143 行

H
143
字号
#ifndef MPLAYER_SUB_H#define MPLAYER_SUB_Htypedef struct mp_osd_bbox_s {    int x1,y1,x2,y2;} mp_osd_bbox_t;#define OSDTYPE_OSD 1#define OSDTYPE_SUBTITLE 2#define OSDTYPE_PROGBAR 3#define OSDTYPE_SPU 4#define OSDTYPE_DVDNAV 5#define OSDTYPE_TELETEXT 6#define OSDFLAG_VISIBLE 1#define OSDFLAG_CHANGED 2#define OSDFLAG_BBOX 4#define OSDFLAG_OLD_BBOX 8#define OSDFLAG_FORCE_UPDATE 16#define MAX_UCS 1600#define MAX_UCSLINES 16typedef struct mp_osd_obj_s {    struct mp_osd_obj_s* next;    unsigned char type;    unsigned char alignment; // 2 bits: x;y percentages, 2 bits: x;y relative to parent; 2 bits: alignment left/right/center    unsigned short flags;    int x,y;    int dxs,dys;    mp_osd_bbox_t bbox; // bounding box    mp_osd_bbox_t old_bbox; // the renderer will save bbox here    union {	struct {	    void* sub;			// value of vo_sub at last update	    int utbl[MAX_UCS+1];	// subtitle text	    int xtbl[MAX_UCSLINES];	// x positions	    int lines;			// no. of lines	} subtitle;	struct {	    int elems;	} progbar;    } params;    int stride;    int allocated;    unsigned char *alpha_buffer;    unsigned char *bitmap_buffer;} mp_osd_obj_t;#if 0// disable subtitles:static inline void vo_draw_text_osd(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)){}#else#include "subreader.h"extern sub_data* subdata; //currently used subtitlesextern subtitle* vo_sub;extern unsigned char* vo_osd_text;#ifdef HAVE_TV_TELETEXTextern void* vo_osd_teletext_page;extern int vo_osd_teletext_half;extern int vo_osd_teletext_mode;extern int vo_osd_teletext_format;#endifextern int vo_osd_progbar_type;extern int vo_osd_progbar_value;   // 0..255extern void* vo_spudec;extern void* vo_vobsub;#define OSD_PLAY 0x01#define OSD_PAUSE 0x02#define OSD_STOP 0x03#define OSD_REW 0x04#define OSD_FFW 0x05#define OSD_CLOCK 0x06#define OSD_CONTRAST 0x07#define OSD_SATURATION 0x08#define OSD_VOLUME 0x09#define OSD_BRIGHTNESS 0x0A#define OSD_HUE 0x0B#define OSD_BALANCE 0x0C#define OSD_PANSCAN 0x50#define OSD_PB_START 0x10#define OSD_PB_0 0x11#define OSD_PB_END 0x12#define OSD_PB_1 0x13/* now in textform */extern char * sub_osd_names[];extern char * sub_osd_names_short[];extern int sub_unicode;extern int sub_utf8;#ifdef USE_ICONVextern char *sub_cp;#endifextern int sub_pos;extern int sub_width_p;extern int sub_alignment;extern int sub_visibility;extern int sub_bg_color; /* subtitles background color */extern int sub_bg_alpha;extern int spu_alignment;extern int spu_aamode;extern float spu_gaussvar;//extern void vo_draw_text_osd(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));//extern void vo_draw_text_progbar(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));//extern void vo_draw_text_sub(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));extern void vo_draw_text(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));extern void vo_remove_text(int dxs,int dys,void (*remove)(int x0,int y0, int w,int h));void vo_init_osd(void);int vo_update_osd(int dxs,int dys);int vo_osd_changed(int new_value);int vo_osd_check_range_update(int,int,int,int);void free_osd_list(void);extern int vo_osd_changed_flag;unsigned utf8_get_char(const char **str);#ifdef USE_DVDNAV#include <inttypes.h>void osd_set_nav_box (uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey);#endif#endif#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?