📄 settingmenu1api.c
字号:
//********************************************************************
// Name: PhotoMenuAPI.c
//
// Copyright (C) Sitronix TECHNOLOGY INC.
// All rights reserved by Sitronix TECHNOLOGY INC.
//
// Project: ST3110
// Author: Terry Wu
// Begin Date: 2008/05/19
// Last update:
// $Header: $
// Description:
// photo menu API
//
//
//********************************************************************
#pragma codeseg(APP)
#include "sys.h"
#include "img_position.h"
#include "ST3110_img_define.h"
#include "multilanguage.h"
#include "SettingMenu.h"
#include "MusicPlayer.h"
#include <string.h>
void _setting_menu1_init(void);
void _setting_menu1_background(void);
void _setting_menu1_item(void);
void _setting_menu1_value_update(void);
void _setting_menu1_up(void);
void _setting_menu1_down(void);
void _setting_menu1_left(void);
void _setting_menu1_right(void);
void _setting_menu1_play(void);
void _setting_show_string(uint32 txt_index, uint16 pos_x, uint16 pos_y);
void _show_battery(void);
uint8 _get_battery_icon_index(void);
uint8 item_selection,last_item_selection,slide_time,slide_seq,bl,pho_boarder;
uint8 repaint_flag,language,volume;
uint8 slide_bat_lv_idx,cur_bat_lv_icon_idx;
void _setting_menu1_init(void)
{
item_selection = API_SysReadValue(RAM_SHARING_ADR,SETTING_SEL);
last_item_selection = 0;
repaint_flag = TRUE;
language = API_SysReadValue(RAM_SETTING_ADR,SET_LANGUAGE);
slide_time = API_SysReadValue(RAM_SETTING_ADR,SET_SLIDE_TIME); // 0~7
slide_seq = API_SysReadValue(RAM_SETTING_ADR,SET_SLIDE_SEQ); //0:sequence 1:random
bl = API_SysReadValue(RAM_SETTING_ADR,SET_BL); //level 0~6 ((bl+1)*4)+3
pho_boarder = API_SysReadValue(RAM_SETTING_ADR,SET_PHO_BOARDER); //0~4
volume = API_SysReadValue(RAM_SETTING_ADR,SET_VOLUME); //level 0~6 ((bl+1)*4)+3
//API_LcmSetLanguage(CS_BIG5);
API_LcmSetLanguage(CS_UNICODE);
//API_LcmSetCharForm(CHFS_16x16);
//API_LcmSetCharColor(COLOR_WHITE,COLOR_DPF_BG);
//API_LcmSetStringLenth(24);
API_LcmEnableKeepBackGround();
}
void _setting_menu1_background(void)
{
// paint screen
API_LcmPutSysImage(IMG_BACKGD,POS_PHOMENU_BG_X,POS_PHOMENU_BG_Y);
API_LcmPutSysImage(IMG_HEADER_SETTING,POS_SETTING_LOG_X,POS_SETTING_LOG_Y);
API_LcmPutSysImage(IMG_TEXT_HEADER_SETTING_EN+language,POS_SETTING_TITLE_X,POS_SETTING_TITLE_Y);
//show battery icon
_show_battery();
slide_bat_lv_idx = _get_battery_icon_index();
cur_bat_lv_icon_idx = _get_battery_icon_index();
//srcoll bar
API_LcmPutSysImage(IMG_MOVE_BAR,POS_PHOMENU_MOVEBAR_X,POS_PHOMENU_MOVEBAR_Y);
API_LcmPutSysImage(IMG_MOVE,POS_PHOMENU_MOVE_X,POS_PHOMENU_MOVE_Y);
}
void _setting_menu1_item(void)
{
uint8 i;
/*
uint8 *item_text[]={TXT_SET_LANGUAGE_EN,TXT_PHOTO_BL_EN,TXT_PHOTO_SLIDESEQ_EN,
TXT_PHOTO_SLIDETIME_EN,TXT_SET_12_24H_EN,TXT_SET_RESTORE_EN,
TXT_SET_TIME_EN,TXT_SET_DATE_EN,TXT_SET_REPEAT_EN};
uint8 *language_text[]={TXT_SET_LANG_EN_EN,TXT_SET_LANG_TC_EN,TXT_SET_LANG_SC_EN};
uint8 *bl_text[]={TXT_PHOTO_BL_n3,TXT_PHOTO_BL_n2,TXT_PHOTO_BL_n1,TXT_PHOTO_BL_p0,TXT_PHOTO_BL_p1,
TXT_PHOTO_BL_p2,TXT_PHOTO_BL_p3};
uint8 *slide_seq_text[]={TXT_PHOTO_SLIDESEQ_SEQ,TXT_PHOTO_SLIDESEQ_RAM};
uint8 *slide_time_text[]={TXT_PHOTO_SLIDETIME_1S,TXT_PHOTO_SLIDETIME_2S,TXT_PHOTO_SLIDETIME_3S,
TXT_PHOTO_SLIDETIME_5S,TXT_PHOTO_SLIDETIME_10S,TXT_PHOTO_SLIDETIME_30S,
TXT_PHOTO_SLIDETIME_1M,TXT_PHOTO_SLIDETIME_5M,TXT_PHOTO_SLIDETIME_30M,
TXT_PHOTO_SLIDETIME_1H,TXT_PHOTO_SLIDETIME_2H};
uint8 *hour_format_text[]={TXT_SET_12H_EN,TXT_SET_24H_EN};
*/
uint32 item_value_txt_index[6];
item_value_txt_index[0] = NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_LANG_EN+language;
item_value_txt_index[1] = NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_SLIDETIME_1S+slide_time;
item_value_txt_index[2] = NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_SLIDESEQ_SEQ+slide_seq;
item_value_txt_index[3] = NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_BL_n3+bl;
item_value_txt_index[4] = NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_PHO_BOARDER_WHITE+pho_boarder;
item_value_txt_index[5] = NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_VOLUME_LV_00+volume;
//clean last selection bar
//API_LcmPutSysImage(IMG_NO_SELECT_BAR,POS_PHOMENU_SELBAR_X,POS_PHOMENU_SELBAR_Y+(last_item_selection*POS_PHOMENU_SELBAR_GAP_Y));
// paint selection bar
//API_LcmPutSysImage(IMG_SELECT_BAR,POS_PHOMENU_SELBAR_X,POS_PHOMENU_SELBAR_Y+(item_selection*POS_PHOMENU_SELBAR_GAP_Y));
for(i=0;i<SETTINGMENU_ITEM_OF_PAGE;i++)
{
if( (repaint_flag) || (i == last_item_selection) || (i == item_selection) )
{
//clean last selection bar and paint selecttion bar
if(i == item_selection)
API_LcmPutSysImage(IMG_SELECT_BAR,POS_PHOMENU_SELBAR_X,POS_PHOMENU_SELBAR_Y+(item_selection*POS_PHOMENU_SELBAR_GAP_Y));
else
API_LcmPutSysImage(IMG_NO_SELECT_BAR,POS_PHOMENU_SELBAR_X,POS_PHOMENU_SELBAR_Y+(i*POS_PHOMENU_SELBAR_GAP_Y));
// show item text
_setting_show_string(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_SET_LANGUAGE+i,POS_PHOMENU_ITEM_X,POS_PHOMENU_ITEM_Y+(i*POS_PHOMENU_ITEM_GAP));
}
}
//paint arrow
if(item_selection != SETTINGMENU_ITEM_RESTORE)
{
API_LcmPutSysImage(IMG_SELECT_LEFT,POS_PHOMENU_SELLEFT_X,POS_PHOMENU_SELLEFT_Y+(item_selection*POS_PHOMENU_SELBAR_GAP_Y));
API_LcmPutSysImage(IMG_SELECT_RIGHT,POS_PHOMENU_SELRIGHT_X,POS_PHOMENU_SELRIGHT_Y+(item_selection*POS_PHOMENU_SELBAR_GAP_Y));
}
for(i=0;i<SETTINGMENU_ITEM_OF_PAGE;i++)
{
if( (repaint_flag) || (i == last_item_selection) || (i == item_selection) )
{
// show item value text
//API_LcmShowString(item_text[i],POS_PHOMENU_ITEM_X,POS_PHOMENU_ITEM_Y+(i*POS_PHOMENU_ITEM_GAP));
//API_SysLoadValue(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_SET_LANGUAGE+i,string_ptr,255);
//API_LcmShowString(string,POS_PHOMENU_ITEM_X,POS_PHOMENU_ITEM_Y+(i*POS_PHOMENU_ITEM_GAP));
_setting_show_string(item_value_txt_index[i],POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*i));
}
}
/*
//show item value
//show langauge
//API_LcmShowString(language_text[language],POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y);
//API_SysLoadValue(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_LANG_EN+language,string_ptr,255);
//API_LcmShowString(string,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y);
_setting_show_string(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_LANG_EN+language,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y);
//show BL
//API_LcmShowString(bl_text[bl],POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP));
//API_SysLoadValue(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_BL_n3+bl,string_ptr,255);
//API_LcmShowString(string,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP));
_setting_show_string(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_BL_n3+bl,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP));
//show slide squence
//API_LcmShowString(slide_seq_text[slide_seq],POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*2));
//API_SysLoadValue(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_SLIDESEQ_SEQ+slide_seq,string_ptr,255);
//API_LcmShowString(string,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*2));
_setting_show_string(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_SLIDESEQ_SEQ+slide_seq,)
//show slide show time
//API_LcmShowString(slide_time_text[slide_time],POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*3));
API_SysLoadValue(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_SLIDETIME_1S+slide_time,string_ptr,255);
API_LcmShowString(string,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*3));
//show 12/24 hour
//API_LcmShowString(hour_format_text[time_format],POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*4));
API_SysLoadValue(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_12H+time_format,string_ptr,255);
API_LcmShowString(string,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*4));
*/
}
void _setting_menu1_value_update(void)
{
uint32 item_value_txt_index[6];
item_value_txt_index[0] = NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_LANG_EN+language;
item_value_txt_index[1] = NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_SLIDETIME_1S+slide_time;
item_value_txt_index[2] = NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_SLIDESEQ_SEQ+slide_seq;
item_value_txt_index[3] = NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_BL_n3+bl;
item_value_txt_index[4] = NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_PHO_BOARDER_WHITE+pho_boarder;
item_value_txt_index[5] = NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_VOLUME_LV_00+volume;
/*
uint8 *language_text[]={TXT_SET_LANG_EN_EN,TXT_SET_LANG_TC_EN,TXT_SET_LANG_SC_EN};
uint8 *bl_text[]={TXT_PHOTO_BL_n3,TXT_PHOTO_BL_n2,TXT_PHOTO_BL_n1,TXT_PHOTO_BL_p0,TXT_PHOTO_BL_p1,
TXT_PHOTO_BL_p2,TXT_PHOTO_BL_p3};
uint8 *slide_seq_text[]={TXT_PHOTO_SLIDESEQ_SEQ,TXT_PHOTO_SLIDESEQ_RAM};
uint8 *slide_time_text[]={TXT_PHOTO_SLIDETIME_1S,TXT_PHOTO_SLIDETIME_2S,TXT_PHOTO_SLIDETIME_3S,
TXT_PHOTO_SLIDETIME_5S,TXT_PHOTO_SLIDETIME_10S,TXT_PHOTO_SLIDETIME_30S,
TXT_PHOTO_SLIDETIME_1M,TXT_PHOTO_SLIDETIME_5M,TXT_PHOTO_SLIDETIME_30M,
TXT_PHOTO_SLIDETIME_1H,TXT_PHOTO_SLIDETIME_2H};
uint8 *hour_format_text[]={TXT_SET_12H_EN,TXT_SET_24H_EN};
*/
//clean value text area
API_LcmPutSysImage(IMG_TEXT_BAR,POS_PHOMENU_TEXTBAR_X,POS_PHOMENU_TEXTBAR_Y+(item_selection*POS_PHOMENU_TEXTBAR_GAP_Y));
// update value
_setting_show_string(item_value_txt_index[item_selection],POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*item_selection));
/*
switch(item_selection)
{
case SETTINGMENU_ITEM_LANGUAGE: //show langauge
//API_LcmShowString(language_text[language],POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y);
API_SysLoadValue(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_LANG_EN+language,string_ptr,255);
API_LcmShowString(string,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y);
break;
case SETTINGMENU_ITEM_BL: //show BL
//API_LcmShowString(bl_text[bl],POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP));
API_SysLoadValue(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_BL_n3+bl,string_ptr,255);
API_LcmShowString(string,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP));
break;
case SETTINGMENU_ITEM_SEQ: //show slide sequence
//API_LcmShowString(slide_seq_text[slide_seq],POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*2));
API_SysLoadValue(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_SLIDESEQ_SEQ+slide_seq,string_ptr,255);
API_LcmShowString(string,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*2));
break;
case SETTINGMENU_ITEM_SLIDETIME:
//API_LcmShowString(slide_time_text[slide_time],POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*3));
API_SysLoadValue(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_SLIDETIME_1S+slide_time,string_ptr,255);
API_LcmShowString(string,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*3));
break;
case SETTINGMENU_ITEM_TIME_FORMAT:
//API_LcmShowString(hour_format_text[time_format],POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*4));
API_SysLoadValue(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_12H+time_format,string_ptr,255);
API_LcmShowString(string,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*4));
break;
case SETTINGMENU_ITEM_RESTORE:
break;
}
*/
}
void _setting_menu1_up(void)
{
repaint_flag = FALSE;
last_item_selection = item_selection;
if(item_selection == 0)
{
item_selection = SETTINGMENU_ITEM_NUM-1;
API_SysWriteValue(RAM_SHARING_ADR,SETTING_SEL,item_selection);
API_OsSetCurrentTask(TASKID_SETTINGMENU3);
}
else
{
item_selection--;
_setting_menu1_item();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -