📄 settingmenu2api.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>
#define REPAET_NUM 3
void _setting_menu2_init(void);
void _setting_menu2_background(void);
void _setting_menu2_item(void);
void _setting_menu2_value_update(void);
void _setting_menu2_up(void);
void _setting_menu2_down(void);
void _setting_menu2_left(void);
void _setting_menu2_right(void);
void _setting_menu2_play(void);
void _setting_menu2_mode(void);
void _setting_show_string(uint32 txt_index, uint16 pos_x, uint16 pos_y);
void _setting_restore_box(uint8 is_restore);
void _setting_show_time(void);
void _show_battery(void);
uint8 _get_battery_icon_index(void);
uint8 item_selection,last_item_selection;
uint8 repaint_flag,language,repeat,time_format;
uint8 setting_state;
uint8 restore_box_flag,is_restore,is_nand_sd,source;
uint8 string[255];
uint8 slide_bat_lv_idx,cur_bat_lv_icon_idx;
void _setting_menu2_init(void)
{
item_selection = API_SysReadValue(RAM_SHARING_ADR,SETTING_SEL);
last_item_selection = 0;
repaint_flag = TRUE;
setting_state = SETTING_STATE_SELECT;
restore_box_flag = FALSE;
is_restore = FALSE;
is_nand_sd = API_SysReadValue(RAM_SHARING_ADR,IS_NAND_SD);
source = is_nand_sd;
//set_time_fcous = 0;
//set_date_fcous = 0;
language = API_SysReadValue(RAM_SETTING_ADR,SET_LANGUAGE);
repeat = API_SysReadValue(RAM_SETTING_ADR,SET_REPEAT); //repeat 0~2
time_format = API_SysReadValue(RAM_SETTING_ADR,SET_TIME_FORMAT);
API_LcmSetLanguage(CS_UNICODE);
//API_LcmSetLanguage(CS_BIG5);
//API_LcmSetCharForm(CHFS_16x16);
//API_LcmSetCharColor(COLOR_WHITE,COLOR_DPF_BG);
//API_LcmSetStringLenth(24);
//API_LcmEnableKeepBackGround();
}
void _setting_menu2_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_MUSBRO_MOVBAR_X,POS_MUSBRO_MOVBAR_Y);
API_LcmPutSysImage(IMG_MOVE,POS_MUSBRO_2MOV_X,POS_MUSBRO_2MOV_Y);
}
void _setting_menu2_item(void)
{
uint8 i;
// clean last selection bar
API_LcmPutSysImage(IMG_NO_SELECT_BAR,POS_PHOMENU_SELBAR_X,POS_PHOMENU_SELBAR_Y+((last_item_selection%SETTINGMENU_ITEM_OF_PAGE)*POS_PHOMENU_SELBAR_GAP_Y));
// paint selection bar
API_LcmPutSysImage(IMG_SELECT_BAR,POS_PHOMENU_SELBAR_X,POS_PHOMENU_SELBAR_Y+((item_selection%SETTINGMENU_ITEM_OF_PAGE)*POS_PHOMENU_SELBAR_GAP_Y));
for(i=SETTINGMENU_ITEM_OF_PAGE;i<SETTINGMENU_ITEM_OF_PAGE*2;i++)
{
if( (repaint_flag) || (i == last_item_selection) || (i == item_selection) )
{
// 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%SETTINGMENU_ITEM_OF_PAGE)*POS_PHOMENU_ITEM_GAP));
}
}
//paint arrow
if((item_selection != SETTINGMENU_ITEM_RESTORE) && (item_selection != SETTINGMENU_ITEM_VERSION))
{
API_LcmPutSysImage(IMG_SELECT_LEFT,POS_PHOMENU_SELLEFT_X,POS_PHOMENU_SELLEFT_Y+((item_selection%SETTINGMENU_ITEM_OF_PAGE)*POS_PHOMENU_SELBAR_GAP_Y));
API_LcmPutSysImage(IMG_SELECT_RIGHT,POS_PHOMENU_SELRIGHT_X,POS_PHOMENU_SELRIGHT_Y+((item_selection%SETTINGMENU_ITEM_OF_PAGE)*POS_PHOMENU_SELBAR_GAP_Y));
}
//show item value
//show repeat mode 6
if( (repaint_flag) || (last_item_selection == SETTINGMENU_ITEM_REPEAT) || (item_selection == SETTINGMENU_ITEM_REPEAT) )
{
//API_LcmShowString(repeat_text[repeat],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_RE_ONE+repeat,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*0));
}
//show time 7
if( (repaint_flag) || (last_item_selection == SETTINGMENU_ITEM_TIMESET) || (item_selection == SETTINGMENU_ITEM_TIMESET) )
{
_setting_show_time();
}
//show date 8
if( (repaint_flag) || (last_item_selection == SETTINGMENU_ITEM_DATESET) || (item_selection == SETTINGMENU_ITEM_DATESET) )
{
API_LcmSetLanguage(CS_BIG5);
API_LcmShowNumber2B(API_TimeGetYear(),POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*2));
API_LcmShowString("-",POS_PHOMENU_VALUE_X+32,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*2));
API_LcmShowNumber(API_TimeGetMonth(),POS_PHOMENU_VALUE_X+40,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*2),1);
API_LcmShowString("-",POS_PHOMENU_VALUE_X+56,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*2));
API_LcmShowNumber(API_TimeGetDay(),POS_PHOMENU_VALUE_X+64,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*2),1);
API_LcmSetLanguage(CS_UNICODE);
}
// show time format 9
if( (repaint_flag) || (last_item_selection == SETTINGMENU_ITEM_TIME_FORMAT) || (item_selection == SETTINGMENU_ITEM_TIME_FORMAT) )
{
//API_LcmShowString(repeat_text[repeat],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_12H+time_format,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*3));
}
// show source 10
if( (repaint_flag) || (last_item_selection == SETTINGMENU_ITEM_SOURCE) || (item_selection == SETTINGMENU_ITEM_SOURCE) )
{
_setting_show_string(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_INTERNAL+source,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*4));
}
}
void _setting_menu2_value_update(void)
{
//clean value text area
API_LcmPutSysImage(IMG_TEXT_BAR,POS_PHOMENU_TEXTBAR_X,POS_PHOMENU_TEXTBAR_Y+((item_selection%SETTINGMENU_ITEM_OF_PAGE)*POS_PHOMENU_TEXTBAR_GAP_Y));
// update value
switch(item_selection)
{
case SETTINGMENU_ITEM_REPEAT: //6
_setting_show_string(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_RE_ONE+repeat,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*0));
break;
case SETTINGMENU_ITEM_TIME_FORMAT: //9
_setting_show_string(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_12H+time_format,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*3));
break;
case SETTINGMENU_ITEM_SOURCE: //10
_setting_show_string(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_INTERNAL+source,POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*4));
break;
default:
break;
}
}
void _setting_menu2_up(void)
{
if(restore_box_flag)
return;
repaint_flag = FALSE;
last_item_selection = item_selection;
if(item_selection == SETTINGMENU_ITEM_OF_PAGE)
{
item_selection = SETTINGMENU_ITEM_OF_PAGE-1;
API_SysWriteValue(RAM_SHARING_ADR,SETTING_SEL,item_selection);
API_OsSetCurrentTask(TASKID_SETTINGMENU1);
}
else
{
item_selection--;
_setting_menu2_item();
}
}
void _setting_menu2_down(void)
{
if(restore_box_flag)
return;
repaint_flag = FALSE;
last_item_selection = item_selection;
if(item_selection == (SETTINGMENU_ITEM_OF_PAGE*2)-1)
{
item_selection = (SETTINGMENU_ITEM_OF_PAGE*2);
API_SysWriteValue(RAM_SHARING_ADR,SETTING_SEL,item_selection);
API_OsSetCurrentTask(TASKID_SETTINGMENU3);
}
else
{
item_selection++;
_setting_menu2_item();
}
}
void _setting_menu2_left(void)
{
// update value
switch(item_selection)
{
case SETTINGMENU_ITEM_REPEAT: //6
if(repeat == 0)
repeat = REPAET_NUM-1;
else
repeat--;
// re-set music repaet mode
switch(repeat)
{
case 0: //play one
API_MusicSetRepeatMode(RM_REP_1);
break;
case 1: //play all
API_MusicSetRepeatMode(RM_REP_ALL);
break;
case 2: //play random
API_MusicSetRepeatMode(RM_RAND);
break;
}
API_SysWriteValue(RAM_SETTING_ADR,SET_REPEAT,repeat);
_setting_menu2_value_update();
break;
case SETTINGMENU_ITEM_TIME_FORMAT: //9 Time format
time_format = !time_format;
API_SysWriteValue(RAM_SETTING_ADR,SET_TIME_FORMAT,time_format);
_setting_menu2_value_update();
API_LcmPutSysImage(IMG_TEXT_BAR_BG,POS_PHOMENU_TEXTBAR_X,(POS_PHOMENU_TEXTBAR_Y+POS_PHOMENU_TEXTBAR_GAP_Y));
_setting_show_time();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -