⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settingmenu2api.cnew

📁 C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码
💻 CNEW
📖 第 1 页 / 共 2 页
字号:
//********************************************************************
// 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 + -