📄 draw_logo.c
字号:
/*
*******************************************************************************
* ACTOS AP
* main ap of sdk 3.0
*
* (c) Copyright, Actions Co,Ld.
* All Right Reserved
*
*******************************************************************************
*/
#include "actos.h"
#include "ap_common.h"
extern comval_t g_comval; //use at:"sKY_SetBLightColor(g_comval.BLightColor);"add by ccm
//char logo_buf[512];
//char file_buf[512];
/* 使用 logo.res, id: 1~14
const WORD system_logo[] =
{
BOOT1, BOOT2, BOOT3, BOOT4, BOOT5, BOOT6, BOOT7,
BOOT8, BOOT9, BOOT10, BOOT11, BOOT12, BOOT13, BOOT14
};
*/
const WORD staff[] =
{
STAFF1, STAFF2, STAFF3, STAFF4, STAFF5, STAFF6,
STAFF7, STAFF8, STAFF9, STAFF10, STAFF11, STAFF12
};
/*
********************************************************************************
* Description : todo
*
* Arguments :
*
* Returns :
*
* Notes :
convert file_buf -> logo_buf
*
********************************************************************************
*/
void convert_bmp(int width)
{
}
/*
********************************************************************************
* Description : todo
*
* Arguments :
*
* Returns :
*
* Notes :
read logo.bmp
width = 128
height = n*32
*
********************************************************************************
*/
BOOL draw_user_logo(BOOL wait_key_up)
{
int i;
int height;
//check if user file exist
return FALSE;
//read bmp header
//parse format
for(i=0; i<height/32; i++)
{
//read bit stream
//convert it
//show it
}
}
/*
********************************************************************************
* Description : 显示系统开机动画
*
* Arguments : wait_key_up, 是否要等待按键
*
* Returns : TRUE, 正常
FALSE, 资源文件格式错误
*
* Notes :
*
********************************************************************************
*/
BOOL draw_system_logo(BOOL wait_key_up)
{
int i;
int result;
//int logo_num = sizeof(system_logo)/sizeof(system_logo[0]);
WORD timer;
BOOL need_wait_keyup=wait_key_up;
char key;
//use logo.res
ResClose(res_fp);
res_fp = ResOpen("logo.res");
ASSERT( res_fp != NULL);
for(i=1; i<=14; i++)
{
result = ResShowLogo(i);
//sKY_SetBLightColor((i-1)/2); //变换7彩背光颜色值(变换14次:"(i-1)%7" ; 7次:"(i-1)/2")。 for s2 by ccm
sKY_OpenBacklight(); //点亮"(i-1)%7"对应的彩色背光.for s2 by ccm
if(result == 0)
{
//sKY_SetBLightColor(g_comval.BLightColor); //退出前恢复系统设置的背光颜色。for s2 add by ccm
return FALSE; //format error
}
//result = ap_sleep(1);
//if(result != 0) return TRUE; //user press keys
//software timer
timer = 6000;
while(--timer > 0)
{
key = ap_get_message();
//check key up
if( (key & AP_KEY_UP) != 0 )
{
need_wait_keyup = FALSE;
//user press mode to skip
if(key == (AP_KEY_MODE | AP_KEY_UP)) break;
}
}
if(timer != 0) break; //user skip
}
//use ui30.res
ResClose(res_fp);
res_fp = ResOpen("ui30.res");
ASSERT( res_fp != NULL);
//wait for key up
if(need_wait_keyup)
{
while((ap_get_message() & AP_KEY_UP) == 0) {;}
}
else ap_sleep(2);
//sKY_SetBLightColor(g_comval.BLightColor); //恢复系统设置的背光颜色。for s2 add by ccm
return TRUE;
}
/*
********************************************************************************
* Description : 按照以下优先级, 显示系统开机画面
1. 用户自定义动画
2. 系统开机动画
3. 系统开机画面
*
* Arguments : wait_key_up, 是否要等待按键
*
* Returns :
*
* Notes :
*
********************************************************************************
*/
void draw_logo(BOOL wait_key_up)
{
//try to show user logo
if(draw_user_logo(wait_key_up)) return;
//try to show system logo
else if(draw_system_logo(wait_key_up)) return;
//try to show BOOTLOGO
else
{
ResShowLogo(BOOTLOGO);
ap_sleep(2);
}
}
/*
********************************************************************************
* Description : 显示制作人员信息
*
* Arguments :
*
* Returns :
*
* Notes :
*
********************************************************************************
*/
void draw_staff(void)
{
int i;
int total;
total = sizeof(staff)/sizeof(staff[0]);
ui_auto_update = FALSE;
for(i=0; i<total - 1; i++)
{
ClearScreen(NULL);
ResShowString(staff[i], 0, 0);
ResShowString(staff[i+1], 0, 16);
UpdateScreen(NULL);
if(ap_sleep(6) != 0) break;
}
ui_auto_update = TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -