base.h
来自「好记星的控件,包括button,list,对文件操作」· C头文件 代码 · 共 454 行 · 第 1/2 页
H
454 行
#define MVK_CAPTITAL 0x0B // Caps Lock大小写转换键
#define MVK_CAPS MVK_CAPTITAL
#define MVK_SHIFT 0x0C // SHIFT功能键
#define MVK_ENTER 0x0D // 回车键
#define MVK_RETURN 0x0D // 回车键
#define MVK_UP 0x11 // Up向上光标键
#define MVK_DOWN 0x12 // Down向下光标键
#define MVK_LEFT 0x13 // Left向左光标键
#define MVK_RIGHT 0x14 // Right向右光标键
#define MVK_PGUP 0x15 // PageUp向上翻页键
#define MVK_PGDN 0x16 // PageDown向下翻页键
#define MVK_PAGEUP MVK_PGUP
#define MVK_PAGEDOWN MVK_PGDN
#define MVK_ESCAPE 0x17 // Esc退出键
#define MVK_ESC 0x17 // 返回(退出)之功能键
#define MVK_SPACE 0x20 // Space空格键
//--------------------------------------------
#define MVK_POWERDOWN 0x81 // GuanJi //
#define MVK_POWEROFF MVK_POWERDOWN // Turn OFF //One key
#define MVK_POWERUP 0x82 // KanJi //
#define MVK_POWERON MVK_POWERUP // Turn On //
#define MVK_FUNC00 0x83
#define MVK_FUNC01 0x84
//#define MVK_FUNC02 0x85
//#define MVK_FUNC03 0x86
#define MVK_HELP 0x87 // Help \ ONE KEY
//#define MVK_TIMERPT 0x88 // TIME REPROT /
#define MVK_FIND 0x89 // Find
#define MVK_VOICE 0x8A // 发音键
#define MVK_IME 0x8B // 输入法切换键
#define MVK_FOLDER 0x8C // 目录
#define MVK_HOME MVK_FOLDER
#define MVK_NULL 0x94
#ifdef _WIN32
#define MVK_PCF1 0x94 // PC功能键1
#define MVK_PCF2 0x95 // PC功能键2
#define MVK_SET MVK_PCF1
#define MVK_GET MVK_PCF2
#endif
#define MVK_NJXD 0x96 // 牛津现代
#define MVK_NJJJ (MVK_NJXD+1) // 牛津进阶
#define MVK_NJDY (MVK_NJXD+2) // 牛津短语
#define MVK_NJXY (MVK_NJXD+3) // 牛津习语
#define MVK_NJTY (MVK_NJXD+4) // 牛津同义
#define MVK_XHCD (MVK_NJXD+5) // 新华词典
#define MVK_GHY (MVK_NJXD+6) // 古汉语
#define MVK_DGY (MVK_NJXD+7) // 多国语
//#define MVK_KEYPAD_KEY1 (MVK_NJXD+8) //小键盘的键1
//#define MVK_KEYPAD_KEY2 (MVK_NJXD+9) //小键盘的键2
//#define MVK_KEYPAD_KEYUP (MVK_NJXD+10) //小键盘的向上键
//#define MVK_KEYPAD_KEYOK (MVK_NJXD+11) //小键盘的确认键
//#define MVK_KEYPAD_KEYDWN (MVK_NJXD+12) //小键盘的向下键
#define MVK_XYH (MVK_NJXD+13) // 新英汉
#define MVK_HYCD (MVK_NJXD+14) // 汉英词典
struct tagAPGUI_STRUCT_MODEL;
#define GUI_RESERVE_MARK 0x55AA
#define GUI_MP3AP_MARK 0xAA55 //王旻:MP3 AP的特殊标记
typedef INT (*FPGUIHANDLEEVENT)( struct tagAPGUI_STRUCT_MODEL *pGui,
UINT uEvent, UINT uParam ); // 事件处理函数
// AP的GUI结构模板定义:
typedef struct tagAPGUI_STRUCT_MODEL
{
UINT uReserveMark; /* AP或控件结构的识别标志,暂时固定为0x55AA */
INT16 nX; /* 控件占用屏幕区域的绝对坐标 */
INT16 nY;
UINT16 uWidth;
UINT16 uHeight;
FPGUIHANDLEEVENT fpHandleFunc; /* AP或控件事件处理函数入口 */
INT nCtrlParam1; /* 控件参数1(用途由具体的控件决定) */
INT nCtrlParam2; /* 控件参数2(用途由具体的控件决定) */
INT nCtrlParam3; /* 控件参数3(用途由具体的控件决定) */
INT nCtrlParam4; /* 控件参数4(用途由具体的控件决定) */
} APGUI_STRUCT_MODEL; /* GUI控制块结构 */
// AP的GUI结构定义:
typedef struct tagAPGUI_STRUCT
{
UINT uReserveMark; /* AP或控件结构的识别标志,暂时固定为0x55AA */
INT16 nX; /* 控件占用屏幕区域的绝对坐标 */
INT16 nY;
UINT16 uWidth;
UINT16 uHeight;
FPGUIHANDLEEVENT fpHandleFunc; /* AP事件处理函数入口 */
UINT uCurrentIme; /* 对应当前AP的输入法ID号 */
INT nCtrlParam1; /* 控件参数1(用途由具体的控件决定) */
INT nCtrlParam2; /* 控件参数2(用途由具体的控件决定) */
INT nCtrlParam3; /* 控件参数3(用途由具体的控件决定) */
} APGUI_STRUCT; /* GUI控制块结构 */
//-------------------
// Dennyhan added this resource for error
#ifndef IDB_FILEMNG_BMP03
#define IDB_FILEMNG_BMP03 0
#endif
//-------------------
#define SYSUPD_VAR1 0x0000000
#define SYSUPD_VAR2 0x0000004
#define SYSUPD_VAR3 0x0000008
#define SYSUPD_VAR4 0x000000C
#define SYSUPD_VAR1_FG 0x5a5aa5a5
#define SYSUPD_VAR2_FG 0x0000a5a5
#define SYSUPD_VAR3_FG 0x5a5a0000
//
#define SYSUPD_USB_VAR1 0x0000010
#define SYSUPD_USB_VAR2 0x0000014
#define SYSUPD_USB_FG1 0x5a5aa5a5
#define SYSUPD_USB_FG2 0x5a5aa5a5
#ifndef _WIN32
#define ChckUSBFg() ( ((*(UINT*)SYSUPD_USB_VAR1)==SYSUPD_USB_FG1) \
&& ((*(UINT*)SYSUPD_USB_VAR2)==SYSUPD_USB_FG2) )
#define ClrUSBFg() { (*(UINT*)SYSUPD_USB_VAR1)=0;\
(*(UINT*)SYSUPD_USB_VAR2)=0;}
#define SetUSBFg() { (*(UINT*)SYSUPD_USB_VAR1)=SYSUPD_USB_FG1;\
(*(UINT*)SYSUPD_USB_VAR2)=SYSUPD_USB_FG2;}
#else
#define ChckUSBFg() (0)
#define ClrUSBFg()
#define SetUSBFg()
#endif
// for Normal Power On Flag
#define SYSUPD_NORMAL_VAR1 0x0000018
#define SYSUPD_NORMAL_VAR2 0x0000018 //0x0001c
#define SYSUPD_NORMAL_FG1 0x5a5aa5a5
#define SYSUPD_NORMAL_FG2 0x5a5aa5a5
#ifndef _WIN32
#define ChckNormalFg() ( ((*(UINT*)SYSUPD_NORMAL_VAR1)==SYSUPD_NORMAL_FG1) \
&& ((*(UINT*)SYSUPD_NORMAL_VAR2)==SYSUPD_NORMAL_FG2) )
#define ClrNormalFg() { (*(UINT*)SYSUPD_NORMAL_VAR1)=0;\
(*(UINT*)SYSUPD_NORMAL_VAR2)=0;}
#define SetNormalFg() { (*(UINT*)SYSUPD_NORMAL_VAR1)=SYSUPD_NORMAL_FG1;\
(*(UINT*)SYSUPD_NORMAL_VAR2)=SYSUPD_NORMAL_FG2;}
#else
#define ChckNormalFg() (1)
#define ClrNormalFg()
#define SetNormalFg()
#endif
#define SYS_ALARM_VAR1 0x000001C
#define SYS_ALARM_FG1 0x5a5aa5a5
#ifndef _WIN32
#define CheckAlarmFg() ((*(UINT*)SYS_ALARM_VAR1)==SYS_ALARM_FG1)
#define ClrAlarmFg() (*(UINT*)SYS_ALARM_VAR1)= 0
#define SetAlarmFg() (*(UINT*)SYS_ALARM_VAR1) = SYS_ALARM_FG1
#else
#define CheckAlarmFg() (0)
#define ClrAlarmFg()
#define SetAlarmFg()
#endif
#define SYS_PWR_WARM_VAR1 0x0000020
#define SYS_PWR_WARM_FG1 0x5a5aa5a5
#ifndef _WIN32
#define CheckSysPwrwarnFg() ((*(UINT*)SYS_PWR_WARM_VAR1)==SYS_PWR_WARM_FG1)
#define ClrSysPwrwarnFg() (*(UINT*)SYS_PWR_WARM_VAR1)= 0
#define SetSysPwrwarnFg() (*(UINT*)SYS_PWR_WARM_VAR1) = SYS_PWR_WARM_FG1
#else
#define CheckSysPwrwarnFg() (1)
#define ClrSysPwrwarnFg()
#define SetSysPwrwarnFg()
#endif
// 内存区域定义
#define FIRST_INT_MEMROY 0x00000000 // Internal ram:16K
#define SECOND_INT_MEMROY 0x00300000 // VRAM:40K
#define FIRST_EXT_MEMROY 0x02000000 // external ram: 128K
#define FIRST_EXT_MEMROY_END 0x201FFFF // external ram Ending
#define MEMADDR_DUMMY_LCDBUFF 0x3C0000 //(FIRST_EXT_MEMROY+0x00000) // LCD虚屏缓冲区(40K)
#define MEMADDR_DUMMY_LCDBUFF_END 0x3C9FFF
//#define MEMADDR_DUMMY_LCDB_SIZE ((((LCD_SCREEN_WIDTH*LCD_SCREEN_HEIGHT*1/8)+3)/4)*4)
#define MEM_ALLOC_OFFSET ( 0x0006800 )//+ MEMADDR_DUMMY_LCDB_SIZE ) //
#define MEMADDR_FREEALLOC (FIRST_EXT_MEMROY+MEM_ALLOC_OFFSET) // 自由分配内存区(52K)
#define MEMADDR_FREEALLOC_END (FIRST_EXT_MEMROY_END)
#define MEMADDR_FREEALLOC_SIZE (MEMADDR_FREEALLOC_END-MEMADDR_FREEALLOC+1)
#if 0
#define MEMADDR_INTERIORRAM 0x30000000 // 内部RAM起始地址(->0x3000FFFF: 64K)
#define MEMADDR_INTERIORRAM_SIZE 0x10000 // 内部RAM大小(64K)
#define MEMADDR_INTERIORRAM_END (MEMADDR_INTERIORRAM+MEMADDR_INTERIORRAM_SIZE) // 内部RAM结束地址
#define MEMADDR_OPTIMIZE_COD (MEMADDR_INTERIORRAM+0x0000) // 优化代码内存区(2K)
#define MEMADDR_VOICE_RELATIVE (MEMADDR_INTERIORRAM+0x0800) // 语音编解码相关内存(35K)
#define MEMADDR_RW_GLOBAL (MEMADDR_INTERIORRAM+0x9400) // 有初值全局变量区(0.5K)
#define MEMADDR_ZI_PRIORITY (MEMADDR_INTERIORRAM+0x9600) // 重要全局变量区(26.5K)
#define MEMADDR_EXTERNALRAM 0x40000000 // 内部RAM起始地址(->0x4001FFFF: 128K)
#define MEMADDR_EXTERNALRAM_SIZE 0x20000 // 内部RAM大小(128K)
#define MEMADDR_EXTERNALRAM_END (MEMADDR_EXTERNALRAM+MEMADDR_EXTERNALRAM_SIZE) // 外部RAM结束地址
#define MEMADDR_AP_GLOBAL (MEMADDR_EXTERNALRAM+0x0A000) // 应用程序共享全局变量区(4K)
#define MEMADDR_ZI_GLOBAL (MEMADDR_EXTERNALRAM+0x0B000) // 其它系统内核模块全局变量区(32K)
#endif
#ifndef _WIN32
#define GetUsbChargeState USBIsConnect
#endif
#ifdef __cplusplus
} /* End of C declarations */
#endif
#endif /* #ifndef __BASE_H__ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?