📄 osd.h
字号:
/*
********************************************************************************
*
* LCD控制程序
*
* 这是系统OSD部分接口函数和一些常量的定义
*
* 文件名 : OSD.H
* 设计者 : Terry
********************************************************************************
* 功 能 描 述
*
*
********************************************************************************
*/
#ifndef __OSD_H__
#define __OSD_H__
#include "global.h"
/*
********************************************************************************
* OSD窗口部分的参数定义
********************************************************************************
*/
#if EN_ACEROSD
#define OSD_FRAME_WIDTH 37 // OSD帧的宽度
#if USE_DAEWOO
#define OSD_FRAME_HEIGHT 25 // OSD帧的高度
#else
#define OSD_FRAME_HEIGHT 27 // OSD帧的高度
#endif
#else
#define OSD_FRAME_WIDTH 27 // OSD帧的宽度
#define OSD_FRAME_HEIGHT 14 // OSD帧的高度
#endif
#define OSD_INFOWIN_WIDTH 27
#define OSD_INFOWIN_HEIGHT 3
#define OSD_BURNWIN_WIDTH 27 // 老化窗口帧的宽度
#define OSD_BURNWIN_HEIGHT 3 // 老化窗口帧的高度
#if EN_ACEROSD
#if USE_AUDIO
#define MAX_KEYMENUITEM 5
#else
#define MAX_KEYMENUITEM 4
#endif
#else
#if USE_AUDIO
#define MAX_KEYMENUITEM 6
#else
#define MAX_KEYMENUITEM 5
#endif
#endif
#define OSD_FONT_WIDTH 12 // OSD字符宽度
#define OSD_FONT_HEIGHT 18 // OSD字符高度
#define Osd1bitFontCount 240//256 // 239
#define Osd1bFC_Common 48//40
#define Osd2bitFontCount 88//63 //最多不能超过98个 08-04-24 // 四色字符数
#define Osd1bitFontAddr (OSD_FRAME_WIDTH + 1)*(OSD_FRAME_HEIGHT + 1)
#define Osd2bitFontAddr (Osd1bitFontAddr + (Osd1bitFontCount*27)/3) // 2bit字形的起始地址
#define Osd4bitFontAddr (Osd2bitFontAddr + (Osd2bitFontCount*54)/3) // 4bit字形的起始地址
extern uint8 code Osd1bitFont_Common[];
extern uint16 code Osd1bitFont_ASCII[];
extern uint16 code Osd1bitFont_Chs[];
extern uint16 code Osd1bitFont_Cht[];
extern uint16 code Osd1bitFont_Korean[];
extern uint16 code Osd1bitFont_Japanese[];
extern uint16 code Osd1bitFont_Russian[];
extern uint8 code Osd2bitFont[]; // 保存4色字符数据的数组
#if EN_ACEROSD
#if EN_COLORMANGEMENT
extern uint8 code Osd2bitFont_Extra[]; //保存4色字符扩展数据的数组 08-04-18
#endif
#endif
#define LOWBYTE(i) (i&0xFF) // 获取低8位
#define HIGHBYTE(i) ((i>>8)&0xFF) // 获取高8位
#define OSD_BLINK 0x01 // 字符闪烁的属性
#define OSD_TRANSLUCENT 0x02 // 字符透明的属性
#define OSD_1BITFONT 0x00 // 单色字符
#define OSD_1BITFONT512 0x04 // 大于256的单色字符
#define OSD_2BITFONT 0x08 // 4色字符
#define OSD_4BITFONT 0x0C // 16色字符
typedef enum {
MENU_KEY = 0x00,
MENU_SUB,
MENU_OFF,
MENU_SOURCEINFO,
MENU_INFO,
MENU_BURNIN,
MENU_SELSOURCE,
MENU_SHORT_BRI,
MENU_SHORT_CON,
MENU_SHORT_VOL,
MENU_SHORT_SAT,
MENU_SHORT_HUE,
MENU_LOGO,
MENU_CHANEL,
MENU_CHEDIT,
MENU_IMAGEMODE,
MENU_AUDIOMODE,
MENU_RFINPUT,
MENU_SLEEPTIME,
MENU_MUTEINFO,
#if EN_COLORMANGEMENT
MENU_CM,
#endif
}OSDMENU_STATE;
/*
********************************************************************************
* 系统中OSD窗口状态的定义
********************************************************************************
*/
// 窗口号定义
typedef enum {
WIN1 = 0x00,
WIN2,
WIN3,
WIN4,
WIN5,
WIN6,
WIN7,
WIN8,
WINALL,
}WINNO;
// 窗口属性定义
#define WIN_EN_BEVEL 0x80
#define WIN_BL_TYPE1 0x00
#define WIN_BL_TYPE2 0x20
#define WIN_BL_TYPE3 0x40
#define WIN_BL_TYPE4 0x60
#define WIN_EN_MIX 0x10
#define WIN_EN_SHADOW 0x02
#define WIN_SDSZ_2 0x00
#define WIN_SDSZ_4 0x04
#define WIN_SDSZ_6 0x08
#define WIN_SDSZ_8 0x0C
extern bit Flg_OsdZoom;
/*
********************************************************************************
* 关于调色板的常量定义
********************************************************************************
*/
/*
================================================================================
= OSD颜色索引表中红色强度的定义
================================================================================
*/
#define R00 0x0000
#define R01 0x0800
#define R02 0x1000
#define R03 0x1800
#define R04 0x2000
#define R05 0x2800
#define R06 0x3000
#define R07 0x3800
#define R08 0x4000
#define R09 0x4800
#define R10 0x5000
#define R11 0x5800
#define R12 0x6000
#define R13 0x6800
#define R14 0x7000
#define R15 0x7800
#define R16 0x8000
#define R17 0x8800
#define R18 0x9000
#define R19 0x9800
#define R20 0xA000
#define R21 0xA800
#define R22 0xB000
#define R23 0xB800
#define R24 0xC000
#define R25 0xC800
#define R26 0xD000
#define R27 0xD800
#define R28 0xE000
#define R29 0xE800
#define R30 0xF00
#define R31 0xF800
/*
================================================================================
= OSD颜色索引表中红色强度的定义
================================================================================
*/
#define G00 0x0000
#define G01 0x0020
#define G02 0x0040
#define G03 0x0060
#define G04 0x0080
#define G05 0x00A0
#define G06 0x00C0
#define G07 0x00E0
#define G08 0x0100
#define G09 0x0120
#define G10 0x0140
#define G11 0x0160
#define G12 0x0180
#define G13 0x01A0
#define G14 0x01C0
#define G15 0x01E0
#define G16 0x0200
#define G17 0x0220
#define G18 0x0240
#define G19 0x0260
#define G20 0x0280
#define G21 0x02A0
#define G22 0x02C0
#define G23 0x02E0
#define G24 0x0300
#define G25 0x0320
#define G26 0x0340
#define G27 0x0360
#define G28 0x0380
#define G29 0x03A0
#define G30 0x03C0
#define G31 0x03E0
#define G32 0x0400
#define G33 0x0420
#define G34 0x0440
#define G35 0x0460
#define G36 0x0480
#define G37 0x04A0
#define G38 0x04C0
#define G39 0x04E0
#define G40 0x0500
#define G41 0x0520
#define G42 0x0540
#define G43 0x0560
#define G44 0x0580
#define G45 0x05A0
#define G46 0x05C0
#define G47 0x05E0
#define G48 0x0600
#define G49 0x0620
#define G50 0x0640
#define G51 0x0660
#define G52 0x0680
#define G53 0x06A0
#define G54 0x06C0
#define G55 0x06E0
#define G56 0x0700
#define G57 0x0720
#define G58 0x0740
#define G59 0x0760
#define G60 0x0780
#define G61 0x07A0
#define G62 0x07C0
#define G63 0x07E0
/*
================================================================================
= OSD颜色索引表中红色强度的定义
================================================================================
*/
#define B00 0x0000
#define B01 0x0001
#define B02 0x0002
#define B03 0x0003
#define B04 0x0004
#define B05 0x0005
#define B06 0x0006
#define B07 0x0007
#define B08 0x0008
#define B09 0x0009
#define B10 0x000A
#define B11 0x000B
#define B12 0x000C
#define B13 0x000D
#define B14 0x000E
#define B15 0x000F
#define B16 0x0010
#define B17 0x0011
#define B18 0x0012
#define B19 0x0013
#define B20 0x0014
#define B21 0x0015
#define B22 0x0016
#define B23 0x0017
#define B24 0x0018
#define B25 0x0019
#define B26 0x001A
#define B27 0x001B
#define B28 0x001C
#define B29 0x001D
#define B30 0x001E
#define B31 0x001F
/*
--------------------------------------------------------------------------------
- 26个大小写英文字母的索引定义
--------------------------------------------------------------------------------
*/
#define __ ' '
#define _0 '0'
#define _1 '1'
#define _2 '2'
#define _3 '3'
#define _4 '4'
#define _5 '5'
#define _6 '6'
#define _7 '7'
#define _8 '8'
#define _9 '9'
#define _A 'A'
#define _B 'B'
#define _C 'C'
#define _D 'D'
#define _E 'E'
#define _F 'F'
#define _G 'G'
#define _H 'H'
#define _I 'I'
#define _J 'J'
#define _K 'K'
#define _L 'L'
#define _M 'M'
#define _N 'N'
#define _O 'O'
#define _P 'P'
#define _Q 'Q'
#define _R 'R'
#define _S 'S'
#define _T 'T'
#define _U 'U'
#define _V 'V'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -