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

📄 file_brower.lst

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


C51 COMPILER V7.50, COMPILATION OF MODULE FILE_BROWER
OBJECT MODULE PLACED IN ..\output\output_bin\output_ebook\file_brower.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\code\ap_ebook\src\file_brower.c LARGE OPTIMIZE(9,SIZE) BROWSE INCDIR(
                    -..\..\..\bsp\include;..\..\code\ap_ebook\src\include;..\..\code\global;..\..\code\include) DEFINE(CONFIG_ASIC,dynamic_lo
                    -ad) DEBUG OBJECTEXTEND PRINT(..\output\output_bin\output_ebook\file_brower.lst) OBJECT(..\output\output_bin\output_ebook
                    -\file_brower.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 "txt_sub_menu.h"
  17          #include "txt_utile.h"
  18          
  19          #define MAINMENU_SELECT_MAX     6
  20          #define ITEMS_PER_SCREEN        6
  21          
  22          UINT8 select_page, select_base, select_max;
  23          
  24          //extern code IMAGE image_table[];
  25          
  26          void gfx_file_line(UINT8 line)
  27          {
  28   1              gfx_bg_rectangle(22, menu_pos[line], 96, 16);
  29   1              
  30   1              lcd_max_str = 12;
  31   1              if(curr_finfo.etype == ENTRY_TYPE_FILE) 
  32   1              {
  33   2                      bResShowPic(TXTFILE,6,menu_pos[line]);
  34   2              }
  35   1              else
  36   1                      bResShowPic(DIR,6,menu_pos[line]);
  37   1              gfx_filename(22, menu_pos[line]);
  38   1      }
  39          
  40          static void gfx_file_browser(BOOLEAN init)
  41          {
  42   1              BOOLEAN flag;
  43   1              UINT8 data line;
  44   1              UINT16 start, order;
  45   1              
  46   1              if(init) {
  47   2                      //show background       
  48   2                      bResShowPic(MENUTWO,0,0);  
  49   2                      bResShowPic(MENU_TOP,0,140);
  50   2                      //show titiles 
  51   2                      fg_color = COLOR_WHITE;   
  52   2                      bg_color =  0x8B75;;
C51 COMPILER V7.50   FILE_BROWER                                                           08/18/2008 13:49:09 PAGE 2   

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

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

 177   2                                      return;
 178   2              }
 179   1              else if(old_select >= totdir && select < totdir) {
 180   2                      if(!api_bSearchDirInDir(SEARCH_MODE_CURRDIR))
 181   2                              return;
 182   2              }
 183   1      
 184   1              if((select / ITEMS_PER_SCREEN) != select_page) {
 185   2                      /* New page */
 186   2                      gfx_file_browser(FALSE);
 187   2              }
 188   1              else {
 189   2                      if(select < totdir)
 190   2                              order = select + 1;
 191   2                      else
 192   2                              order = select - totdir + 1;
 193   2                      
 194   2                      if(!api_bSelectFile(order, SELECT_SET) || !api_bGetSelectFileInfo(&curr_finfo))
 195   2                              return;
 196   2                      
 197   2                      fg_color = COLOR_SELECT;
 198   2                      //bg_color = 0xF75F;
 199   2                      gfx_file_line(select % ITEMS_PER_SCREEN);
 200   2                      
 201   2              }
 202   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1036    ----
   CONSTANT SIZE    =      7    ----
   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 + -