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

📄 file_brower.lst

📁 智原mp3 SDK 开发包 与巨力 有mp3 wma ogg decoder
💻 LST
字号:
C51 COMPILER V7.50   FILE_BROWER                                                           08/18/2008 13:43:42 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE FILE_BROWER
OBJECT MODULE PLACED IN ..\output\output_bin\output_mp3\file_brower.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\code\ap_mp3\src\file_brower.c LARGE OPTIMIZE(9,SIZE) BROWSE INCDIR(..
                    -\..\..\bsp\include;..\..\code\ap_mp3\src\include;..\..\code\global;..\..\code\include) DEFINE(CONFIG_ASIC,dynamic_load) 
                    -DEBUG OBJECTEXTEND PRINT(..\output\output_bin\output_mp3\file_brower.lst) OBJECT(..\output\output_bin\output_mp3\file_br
                    -ower.obj)

line level    source

   1          /*****************
   2           *  file_brower.c
   3           ******************/
   4           
   5          #include <string.h>
   6          #include "api.h"
   7          #include "lcd.h"
   8          #include "key.h"
   9          #include "common.h"
  10          #include "ap_common.h"
  11          #include "display.h"
  12          #include "ui_pop_up_list.h"
  13          #include "prefer.h"
  14          #include "res_show.h"
  15          #include "res.h"
  16          #include "mp3_utile.h"
  17          
  18          #define MAINMENU_SELECT_MAX     6
  19          #define ITEMS_PER_SCREEN        6
  20          
  21          UINT8 select_page, select_base, select_max;
  22          
  23          void gfx_file_line(UINT8 line)
  24          {       
  25   1              gfx_bg_rectangle(22, menu_pos[line], 96, 16);   
  26   1              if(curr_finfo.etype == ENTRY_TYPE_FILE)
  27   1                      bResShowPic(MUSICFIL,6,menu_pos[line]);
  28   1              else
  29   1                      bResShowPic(DIR,6,menu_pos[line]);
  30   1              gfx_filename(22, menu_pos[line]);
  31   1      }
  32          
  33          static void gfx_file_browser(BOOLEAN init)
  34          {
  35   1              BOOLEAN flag;
  36   1              UINT8 data line;
  37   1              UINT16 start, order;
  38   1              
  39   1              if(init) {
  40   2                      //show background       
  41   2                      bResShowPic(MENUTWO,0,0);  
  42   2                      bResShowPic(MENU_TOP,0,140);
  43   2                      //show titiles 
  44   2                      fg_color = COLOR_WHITE;   
  45   2                      bg_color =  0x8B75;
  46   2                      //gfx_set_bg(Color_MENU_def);   
  47   2                      ResShowMultiString(FILESS, tUserPreference.u8LanguageId, 
  48   2                      list_str_x_def,123);            
  49   2                      bg_color = 0xF75F;
  50   2                      gfx_set_bg(0xF75F);             
  51   2              }
  52   1              else
C51 COMPILER V7.50   FILE_BROWER                                                           08/18/2008 13:43:42 PAGE 2   

  53   1                      bResShowPic(CLR_MTWO,0,0);  
  54   1              
  55   1              select_page = select / ITEMS_PER_SCREEN;
  56   1              start = select_page * ITEMS_PER_SCREEN;
  57   1      
  58   1              line = 0;
  59   1              flag = 0;
  60   1                      
  61   1              if(totdir && start < totdir) {
  62   2                      /* If select is on file, we need to research DIRs. */
  63   2                      if(select >= totdir)
  64   2                              if(!api_bSearchDirInDir(SEARCH_MODE_CURRDIR))
  65   2                                      return;
  66   2                      
  67   2                      for(; line < ITEMS_PER_SCREEN && start < totdir; line++) {
  68   3                              if(start == select) {
  69   4                                      fg_color = COLOR_SELECT;
  70   4                                      order = select + 1;
  71   4                                      flag = 1;
  72   4                              }
  73   3                              else
  74   3                                      fg_color = COLOR_UNSELECT;
  75   3                              if(!api_bSelectDirectory(++start, SELECT_SET) ||
  76   3                                 !api_bGetSelectFileInfo(&curr_finfo))
  77   3                                      return;
  78   3                              gfx_file_line(line);
  79   3                      }
  80   2              }
  81   1              
  82   1              /* Some files need to display, we need to research */
  83   1              //#if 0
  84   1              if(totfile && (line < ITEMS_PER_SCREEN)) {
  85   2                      if(line) {
  86   3                              if(!api_bSearchFileInDir(SEARCH_MODE_CURRDIR, search_extstr))
  87   3                                      return;
  88   3                      }
  89   2                      
  90   2                      for(; line < ITEMS_PER_SCREEN && start < totitem; line++) {
  91   3                              fg_color = (start == select ? COLOR_SELECT : COLOR_UNSELECT);
  92   3                              if(!api_bSelectFile(++start - totdir, SELECT_SET) ||
  93   3                                 !api_bGetSelectFileInfo(&curr_finfo))
  94   3                                      return;
  95   3                              gfx_file_line(line);
  96   3                      }
  97   2                      
  98   2                      if(flag) {
  99   3                              if(!api_bSearchDirInDir(SEARCH_MODE_CURRDIR))
 100   3                                      return;
 101   3                              order = select + 1;
 102   3                      }
 103   2                      else
 104   2                              order = select - totdir + 1;
 105   2              }
 106   1              //#endif        
 107   1              if(api_bSelectFile(order, SELECT_SET)) {
 108   2                      api_bGetSelectFileInfo(&curr_finfo);
 109   2              }               
 110   1      }
 111          
 112          void screen_filebrowser_init(void)
 113          {
 114   1              gfx_file_browser(true); 
C51 COMPILER V7.50   FILE_BROWER                                                           08/18/2008 13:43:42 PAGE 3   

 115   1              screen_level = SCREEN_LEVEL_FILE_BROWSER;
 116   1      }
 117          
 118          void screen_filebrowser(UINT8 key)
 119          {
 120   1              INT8 dir;
 121   1              UINT16 old_select, order;
 122   1              
 123   1              switch(key) {
 124   2                      case KEY_MENU:
 125   2                              if(curr_finfo.etype == ENTRY_TYPE_FILE) {
 126   3                                      api_bStop();
 127   3                                      if(!api_bSelectFileOpen())
 128   3                                              return;
 129   3                                      screen_map(SCREEN_MP3);
 130   3                              }
 131   2                              else {
 132   3                                      if(change_dir(&curr_finfo)) {
 133   4                                              scan_dir_file(SEARCH_MODE_CURRDIR, search_extstr, 1);
 134   4                                              gfx_file_browser(true);
 135   4                                      }
 136   3                              }
 137   2                              return;                 
 138   2                      case KEY_NEXT:
 139   2                              dir = 1;
 140   2                              break;
 141   2                      case KEY_PREV:
 142   2                              dir = -1;
 143   2                              break;          
 144   2                      case KEY_EOS:
 145   2                              deal_loop();
 146   2                              break;          
 147   2                      default:
 148   2                              return;
 149   2              }
 150   1                      
 151   1              fg_color = COLOR_UNSELECT;
 152   1              gfx_file_line(select % ITEMS_PER_SCREEN);
 153   1      
 154   1              old_select = select;
 155   1              select += dir;
 156   1              
 157   1              if(select >= totitem) {
 158   2                      if(dir > 0)
 159   2                              select = 0;
 160   2                      else
 161   2                              select = totitem - 1;
 162   2              }
 163   1      
 164   1              if(old_select < totdir && select >= totdir) {
 165   2                      if(!api_bSearchFileInDir(SEARCH_MODE_CURRDIR, search_extstr))
 166   2                                      return;
 167   2              }
 168   1              else if(old_select >= totdir && select < totdir) {
 169   2                      if(!api_bSearchDirInDir(SEARCH_MODE_CURRDIR))
 170   2                              return;
 171   2              }
 172   1      
 173   1              if((select / ITEMS_PER_SCREEN) != select_page) {
 174   2                      /* New page */
 175   2                      gfx_file_browser(FALSE);
 176   2              }
C51 COMPILER V7.50   FILE_BROWER                                                           08/18/2008 13:43:42 PAGE 4   

 177   1              else {
 178   2                      if(select < totdir)
 179   2                              order = select + 1;
 180   2                      else
 181   2                              order = select - totdir + 1;
 182   2                      
 183   2                      if(!api_bSelectFile(order, SELECT_SET) || !api_bGetSelectFileInfo(&curr_finfo))
 184   2                              return;
 185   2                      
 186   2                      fg_color = COLOR_SELECT;
 187   2                      gfx_file_line(select % ITEMS_PER_SCREEN);
 188   2      
 189   2              }
 190   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    991    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      3      10
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       2
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -