📄 settingmenu2api.cnew
字号:
//********************************************************************
// 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 <string.h>
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);
uint8 item_selection,last_item_selection;
uint8 repaint_flag,language,repeat,time_format;
uint8 setting_state,set_time_fcous,set_date_fcous;
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;
set_time_fcous = 0;
set_date_fcous = 0;
repeat = API_SysReadValue(RAM_SETTING_ADR,SET_REPEAT); //repeat 0~2
language = API_SysReadValue(RAM_SETTING_ADR,SET_LANGUAGE);
time_format = API_SysReadValue(RAM_SETTING_ADR,SET_TIME_FORMAT);
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_HEADER_SETTING_TEXT,POS_SETTING_TITLE_X,POS_SETTING_TITLE_Y);
API_LcmPutSysImage(IMG_BATTERY_4,POS_PHOMENU_BATTERY_X,POS_PHOMENU_BATTERY_Y);
//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_menu2_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 *repeat_text[]={TXT_SET_RE_ONE_EN,TXT_SET_RE_ALL_EN,TXT_SET_RE_RANDOM_EN};
// 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_NUM;i++)
{
if( (repaint_flag) || (i == last_item_selection) || (i == item_selection) )
{
// show item text
API_LcmShowString(item_text[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)
{
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 time
//API_LcmSetStringLenth(1);
if(time_format)
{
API_LcmShowNumber(API_TimeGetHour(),POS_PHOMENU_VALUE_X+24,POS_PHOMENU_VALUE_Y,1);
API_LcmShowString(":",POS_PHOMENU_VALUE_X+40,POS_PHOMENU_VALUE_Y);
API_LcmShowNumber(API_TimeGetMinute(),POS_PHOMENU_VALUE_X+48,POS_PHOMENU_VALUE_Y,1);
}
else
{
if(API_TimeGetHour() == 12 || API_TimeGetHour() == 0)
API_LcmShowNumber(12,POS_PHOMENU_VALUE_X+8,POS_PHOMENU_VALUE_Y,1);
else
API_LcmShowNumber(API_TimeGetHour()%12,POS_PHOMENU_VALUE_X+8,POS_PHOMENU_VALUE_Y,1);
API_LcmShowString(":",POS_PHOMENU_VALUE_X+24,POS_PHOMENU_VALUE_Y);
API_LcmShowNumber(API_TimeGetMinute(),POS_PHOMENU_VALUE_X+32,POS_PHOMENU_VALUE_Y,1);
if(API_TimeGetHour()/12)
API_LcmShowString("PM",POS_PHOMENU_VALUE_X+56,POS_PHOMENU_VALUE_Y);
else
API_LcmShowString("AM",POS_PHOMENU_VALUE_X+56,POS_PHOMENU_VALUE_Y);
}
//show date
API_LcmShowNumber2B(API_TimeGetYear(),POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP));
API_LcmShowString("-",POS_PHOMENU_VALUE_X+32,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP));
API_LcmShowNumber(API_TimeGetMonth(),POS_PHOMENU_VALUE_X+40,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP),1);
API_LcmShowString("-",POS_PHOMENU_VALUE_X+56,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP));
API_LcmShowNumber(API_TimeGetDay(),POS_PHOMENU_VALUE_X+64,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP),1);
//show repeat mode
API_LcmShowString(repeat_text[repeat],POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*2));
}
void _setting_menu2_value_update(void)
{
uint8 *repeat_text[]={TXT_SET_RE_ONE_EN,TXT_SET_RE_ALL_EN,TXT_SET_RE_RANDOM_EN};
//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_TIMESET:
//show time
if(time_format)
{
//show 24 HR time
API_LcmShowNumber(API_TimeGetHour(),POS_PHOMENU_VALUE_X+24,POS_PHOMENU_VALUE_Y,1);
API_LcmShowString(":",POS_PHOMENU_VALUE_X+40,POS_PHOMENU_VALUE_Y);
API_LcmShowNumber(API_TimeGetMinute(),POS_PHOMENU_VALUE_X+48,POS_PHOMENU_VALUE_Y,1);
//show date fcous
if(setting_state == SETTING_STATE_TIME_ADJUST)
{
switch(set_time_fcous)
{
case 0:
API_LcmPutSysImage(IMG_SELECT_UP,POS_PHOMENU_VALUE_X+28,POS_PHOMENU_VALUE_Y-5);
API_LcmPutSysImage(IMG_SELECT_DOWN,POS_PHOMENU_VALUE_X+28,POS_PHOMENU_VALUE_Y-5+20);
break;
case 1:
API_LcmPutSysImage(IMG_SELECT_UP,POS_PHOMENU_VALUE_X+52,POS_PHOMENU_VALUE_Y-5);
API_LcmPutSysImage(IMG_SELECT_DOWN,POS_PHOMENU_VALUE_X+52,POS_PHOMENU_VALUE_Y-5+20);
break;
}
}
}
else
{
//show 24 HR time
if(API_TimeGetHour() == 12 || API_TimeGetHour() == 0)
API_LcmShowNumber(12,POS_PHOMENU_VALUE_X+8,POS_PHOMENU_VALUE_Y,1);
else
API_LcmShowNumber(API_TimeGetHour()%12,POS_PHOMENU_VALUE_X+8,POS_PHOMENU_VALUE_Y,1);
API_LcmShowString(":",POS_PHOMENU_VALUE_X+24,POS_PHOMENU_VALUE_Y);
API_LcmShowNumber(API_TimeGetMinute(),POS_PHOMENU_VALUE_X+32,POS_PHOMENU_VALUE_Y,1);
if(API_TimeGetHour()/12)
API_LcmShowString("PM",POS_PHOMENU_VALUE_X+56,POS_PHOMENU_VALUE_Y);
else
API_LcmShowString("AM",POS_PHOMENU_VALUE_X+56,POS_PHOMENU_VALUE_Y);
//show date fcous
if(setting_state == SETTING_STATE_TIME_ADJUST)
{
switch(set_time_fcous)
{
case 0:
API_LcmPutSysImage(IMG_SELECT_UP,POS_PHOMENU_VALUE_X+12,POS_PHOMENU_VALUE_Y-5);
API_LcmPutSysImage(IMG_SELECT_DOWN,POS_PHOMENU_VALUE_X+12,POS_PHOMENU_VALUE_Y-5+20);
break;
case 1:
API_LcmPutSysImage(IMG_SELECT_UP,POS_PHOMENU_VALUE_X+36,POS_PHOMENU_VALUE_Y-5);
API_LcmPutSysImage(IMG_SELECT_DOWN,POS_PHOMENU_VALUE_X+36,POS_PHOMENU_VALUE_Y-5+20);
break;
case 2:
API_LcmPutSysImage(IMG_SELECT_UP,POS_PHOMENU_VALUE_X+60,POS_PHOMENU_VALUE_Y-5);
API_LcmPutSysImage(IMG_SELECT_DOWN,POS_PHOMENU_VALUE_X+60,POS_PHOMENU_VALUE_Y-5+20);
break;
}
}
}
break;
case SETTINGMENU_ITEM_DATESET:
//show date
API_LcmShowNumber2B(API_TimeGetYear(),POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP));
API_LcmShowString("-",POS_PHOMENU_VALUE_X+32,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP));
API_LcmShowNumber(API_TimeGetMonth(),POS_PHOMENU_VALUE_X+40,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP),1);
API_LcmShowString("-",POS_PHOMENU_VALUE_X+56,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP));
API_LcmShowNumber(API_TimeGetDay(),POS_PHOMENU_VALUE_X+64,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP),1);
//show fcous
if(setting_state == SETTING_STATE_DATE_ADJUST)
{
switch(set_date_fcous)
{
case 0:
API_LcmPutSysImage(IMG_SELECT_UP,POS_PHOMENU_VALUE_X+12,POS_PHOMENU_VALUE_Y+POS_PHOMENU_VALUE_GAP-5);
API_LcmPutSysImage(IMG_SELECT_DOWN,POS_PHOMENU_VALUE_X+12,POS_PHOMENU_VALUE_Y+POS_PHOMENU_VALUE_GAP-5+20);
break;
case 1:
API_LcmPutSysImage(IMG_SELECT_UP,POS_PHOMENU_VALUE_X+44,POS_PHOMENU_VALUE_Y+POS_PHOMENU_VALUE_GAP-5);
API_LcmPutSysImage(IMG_SELECT_DOWN,POS_PHOMENU_VALUE_X+44,POS_PHOMENU_VALUE_Y+POS_PHOMENU_VALUE_GAP-5+20);
break;
case 2:
API_LcmPutSysImage(IMG_SELECT_UP,POS_PHOMENU_VALUE_X+68,POS_PHOMENU_VALUE_Y+POS_PHOMENU_VALUE_GAP-5);
API_LcmPutSysImage(IMG_SELECT_DOWN,POS_PHOMENU_VALUE_X+68,POS_PHOMENU_VALUE_Y+POS_PHOMENU_VALUE_GAP-5+20);
break;
}
}
break;
case SETTINGMENU_ITEM_REPEAT:
//show repeat mode
API_LcmShowString(repeat_text[repeat],POS_PHOMENU_VALUE_X,POS_PHOMENU_VALUE_Y+(POS_PHOMENU_VALUE_GAP*2));
break;
default:
break;
}
}
void _setting_menu2_up(void)
{
uint8 hour,min;
switch(setting_state)
{
case SETTING_STATE_SELECT:
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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -