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

📄 settingmenu1api.c

📁 C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码
💻 C
📖 第 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 "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 + -