📄 osd_drv.h
字号:
//define pallete format
//#define OSD_PAL_16b
//#define OSD_PAL_32b
#define OSD_PAL_RGB_32b
//use PrintOsdMsg
#define BOARD_UP_LINE (0x01<<0)
#define BOARD_DOWN_LINE (0x01<<1)
#define BOARD_LEFT_LINE (0x01<<2)
#define BOARD_RIGHT_LINE (0x01<<3)
#define BOARD_FULL_LINE (BOARD_UP_LINE|BOARD_DOWN_LINE|BOARD_LEFT_LINE|BOARD_RIGHT_LINE)
#define BOARD_LR_LINE (BOARD_LEFT_LINE|BOARD_RIGHT_LINE)
#define BOARD_UD_LINE (BOARD_UP_LINE|BOARD_DOWN_LINE)
#define OSD_OFF 0
#define OSD_ON 1
#define OSD_TOG 2
#define HEADER_SIZE 16 //8
#define MAX_REGION 8 //5
#define MAX_SW_REGION 4
#define MAX_SW_R_LEN 13
#define OSDSTR_ID_TOTL_BIT 9//8//nono 2-7-8 17:44
#define OSD_INTERLACED 0x08
#define OSD_NONINTERLACED 0x00
#define OSD_FORMAT_MASK 0x07
#define OSD_FORMAT_4COLOR 0x00
#define OSD_FORMAT_16COLOR 0x01
#define OSD_FORMAT_256COLOR 0x02
//#define OSD_FORMAT_DIRECTCOLOR 0x03
#define OSD_FORMAT_DIRECT16A 0x04
#define OSD_FORMAT_DIRECT16B 0x05
#define OSDV2_CLUT_16b 0
#define OSDV2_CLUT_32b 1
#define BIT_CU 7 // [7] color-table update
#define BIT_FT 6 // [6] force-transparent
#define BIT_PR 4 // [5:4] pixel-resolution
#define BIT_MD 0 // [2:0] mode
#define BIT_SHD 4 // [7:4] shade
#define BIT_BLND 0 // [3:0] blend
#define BIT_CLUT_TYPE 6 // [7:6] clut_type
#define BIT_COLOR_RGB 5 // [5]
#define BIT_SWAP_BYTE 4 // [4]
#define BIT_SHADE_MODE 3 // [3]
#define V2_CLUT_TYPE(n) ((n)<<BIT_CLUT_TYPE)
#define V2_RGB_MODE (1<<BIT_COLOR_RGB)
#define V2_SWAP_BYTE_OFF (0<<BIT_SWAP_BYTE)
#define V2_SWAP_BYTE_ON (1<<BIT_SWAP_BYTE)
#define V2_SHADE_MODE_A (0<<BIT_SHADE_MODE)
#define V2_SHADE_MODE_B (1<<BIT_SHADE_MODE)
typedef struct
{
UINT8 config0;
UINT8 config1;
UINT8 config2;
UINT8 config3;
UINT16 v_size;
UINT16 h_size;
UINT16 y;
UINT16 x;
UINT16 link_data;
UINT16 link_next;
} t_osdv2_header;
typedef struct {
UINT16 osd_header[2]; /* virtual addr of osd header */
BYTE osd_format; /* pixel-per-byte */
UINT16 osd_w; /* in byte */
UINT16 osd_h; /* in pixel */
} t_osd_region;
//
// OSD Initialization Functions
//
typedef struct {
UINT16 width;
UINT16 height;
UINT16 x;
UINT16 y;
UINT8 header_type;
UINT8 format;
UINT8 type;
} _t_osd_hdr;
/*
** OSD free buffer control.
** this is the end packed-address of OSD buffer.
*/
EXTERN_MEM t_osd_region region[MAX_REGION];//kenny add it 2001/5/8
EXTERN UINT16 timeout_osd[MAX_REGION];
EXTERN UINT16 osd_free;
EXTERN_MEM UINT8 osd_buf[50];
EXTERN UINT8 osd_active_regions;
EXTERN BYTE antic_begin;
EXTERN BYTE antic_end;
/************************************************************\
osd1.c head file
\************************************************************/
void osd_create_region1(t_osd_region *, int,int,t_osd_region *,BYTE,BYTE);
void osd_create_region_setup(t_osd_region *p, int X, int Y, t_osd_region *prev,BYTE bColorMode,BYTE bScanMode);
//void osd_print_regionEQ(t_osd_region *, const char *);
void osd_print_region1(t_osd_region *, const char *);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -