📄 file_brower.lst
字号:
C51 COMPILER V7.50 FILE_BROWER 09/05/2008 14:57:45 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE FILE_BROWER
OBJECT MODULE PLACED IN ..\output\output_bin\output_picture\file_brower.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\code\ap_picture\src\file_brower.c LARGE OPTIMIZE(9,SIZE) BROWSE INCDI
-R(..\..\..\bsp\include;..\..\code\ap_picture\src\include;..\..\code\global;..\..\code\include) DEFINE(CONFIG_ASIC,dynami
-c_load) DEBUG OBJECTEXTEND PRINT(..\output\output_bin\output_picture\file_brower.lst) OBJECT(..\output\output_bin\output
-_picture\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 "pic_sub_menu.h"
17
18 #define MAINMENU_SELECT_MAX 6
19 #define ITEMS_PER_SCREEN 6
20
21 UINT8 select_page, select_base, select_max;
22 extern BOOLEAN pic_init;
23 extern BOOLEAN play_statu;
24
25 //extern code IMAGE image_table[];
26
27 extern void screen_jpeg(UINT8 key);
28
29 void gfx_file_line(UINT8 line)
30 {
31 1 gfx_bg_rectangle(22, menu_pos[line], 96, 16);
32 1
33 1 lcd_max_str = 12;
34 1 if(curr_finfo.etype == ENTRY_TYPE_FILE) {
35 2 bResShowPic(JPGFILE,6,menu_pos[line]);
36 2 }
37 1 else
38 1 bResShowPic(DIR,6,menu_pos[line]);
39 1 gfx_filename(22, menu_pos[line]);
40 1 }
41
42 static void gfx_file_browser(BOOLEAN init)
43 {
44 1 BOOLEAN flag;
45 1 UINT8 data line;
46 1 UINT16 start, order;
47 1
48 1 if(init) {
49 2 //show background
50 2 bResShowPic(MENUTWO,0,0);
51 2 bResShowPic(MENU_TOP,0,140);
52 2 //show titiles
C51 COMPILER V7.50 FILE_BROWER 09/05/2008 14:57:45 PAGE 2
53 2 fg_color = COLOR_WHITE;
54 2 bg_color = 0x8B75;;
55 2 //gfx_set_bg(Color_MENU_def);
56 2 ResShowMultiString(FILESS, tUserPreference.u8LanguageId,
57 2 list_str_x_def,123);
58 2 bg_color = 0xF75F;
59 2 gfx_set_bg(0xF75F);
60 2 }
61 1 else
62 1 bResShowPic(CLR_MTWO,0,0);
63 1
64 1 select_page = select / ITEMS_PER_SCREEN;
65 1 start = select_page * ITEMS_PER_SCREEN;
66 1
67 1 line = 0;
68 1 flag = 0;
69 1
70 1 if(totdir && start < totdir) {
71 2 if(select >= totdir)
72 2 if(!api_bSearchDirInDir(SEARCH_MODE_CURRDIR))
73 2 return;
74 2
75 2 for(; line < ITEMS_PER_SCREEN && start < totdir; line++) {
76 3 if(start == select) {
77 4 fg_color = COLOR_SELECT;
78 4 order = select + 1;
79 4 flag = 1;
80 4 }
81 3 else
82 3 fg_color = COLOR_UNSELECT;
83 3 if(!api_bSelectDirectory(++start, SELECT_SET) ||
84 3 !api_bGetSelectFileInfo(&curr_finfo))
85 3 return;
86 3 gfx_file_line(line);
87 3 }
88 2 }
89 1
90 1 /* Some files need to display, we need to research */
91 1 if(totfile && (line < ITEMS_PER_SCREEN)) {
92 2 if(line) {
93 3 if(!api_bSearchFileInDir(SEARCH_MODE_CURRDIR, search_extstr))
94 3 return;
95 3 }
96 2
97 2 for(; line < ITEMS_PER_SCREEN && start < totitem; line++) {
98 3 fg_color = (start == select ? COLOR_SELECT : COLOR_UNSELECT);
99 3 if(!api_bSelectFile(++start - totdir, SELECT_SET) ||
100 3 !api_bGetSelectFileInfo(&curr_finfo))
101 3 return;
102 3 gfx_file_line(line);
103 3 }
104 2
105 2 if(flag) {
106 3 if(!api_bSearchDirInDir(SEARCH_MODE_CURRDIR))
107 3 return;
108 3 order = select + 1;
109 3 }
110 2 else
111 2 order = select - totdir + 1;
112 2 }
113 1
114 1 if(api_bSelectFile(order, SELECT_SET)) {
C51 COMPILER V7.50 FILE_BROWER 09/05/2008 14:57:45 PAGE 3
115 2 api_bGetSelectFileInfo(&curr_finfo);
116 2 }
117 1 }
118
119 void screen_filebrowser_init(void)
120 {
121 1 gfx_file_browser(true);
122 1
123 1 screen_level = SCREEN_LEVEL_FILE_BROWSER;
124 1 }
125
126 void screen_filebrowser(UINT8 key)
127 {
128 1 INT8 dir;
129 1 UINT16 old_select, order, music_order;
130 1
131 1 switch(key) {
132 2 case KEY_MENU:
133 2 pic_sub_menu();
134 2 return;
135 2 case KEY_NEXT:
136 2 dir = 1;
137 2 break;
138 2 case KEY_PREV:
139 2 dir = -1;
140 2 break;
141 2 case KEY_PLAY:
142 2 if(curr_finfo.etype == ENTRY_TYPE_FILE) {
143 3 //api_bStop();
144 3 //if(!api_bSelectFileOpen())
145 3 // return;
146 3 //api_bSelectFile(curr_finfo.u16Order,SEEK_SET);
147 3 //api_bSelectFileOpen();
148 3 play_statu = 1;
149 3 screen_map(SCREEN_PICTURE);
150 3 return;
151 3 }
152 2 else {
153 3 if(change_dir(&curr_finfo)) {
154 4 scan_dir_file(SEARCH_MODE_CURRDIR, search_extstr, 1);
155 4 gfx_file_browser(true);
156 4 }
157 3 }
158 2 break;
159 2 default:
160 2 return;
161 2 }
162 1
163 1 fg_color = COLOR_UNSELECT;
164 1 //bg_color = 0xF75F;
165 1 gfx_file_line(select % ITEMS_PER_SCREEN);
166 1
167 1 old_select = select;
168 1 select += dir;
169 1
170 1 if(select >= totitem) {
171 2 if(dir > 0)
172 2 select = 0;
173 2 else
174 2 select = totitem - 1;
175 2 }
176 1
C51 COMPILER V7.50 FILE_BROWER 09/05/2008 14:57:45 PAGE 4
177 1 if(old_select < totdir && select >= totdir) {
178 2 if(!api_bSearchFileInDir(SEARCH_MODE_CURRDIR, search_extstr))
179 2 return;
180 2 }
181 1 else if(old_select >= totdir && select < totdir) {
182 2 if(!api_bSearchDirInDir(SEARCH_MODE_CURRDIR))
183 2 return;
184 2 }
185 1
186 1 if((select / ITEMS_PER_SCREEN) != select_page) {
187 2 /* New page */
188 2 gfx_file_browser(FALSE);
189 2 }
190 1 else {
191 2 if(select < totdir)
192 2 order = select + 1;
193 2 else
194 2 order = select - totdir + 1;
195 2
196 2 if(!api_bSelectFile(order, SELECT_SET) || !api_bGetSelectFileInfo(&curr_finfo))
197 2 return;
198 2
199 2 fg_color = COLOR_SELECT;
200 2 //bg_color = 0xF75F;
201 2 gfx_file_line(select % ITEMS_PER_SCREEN);
202 2 }
203 1 }
*** WARNING C280 IN LINE 129 OF ..\..\CODE\AP_PICTURE\SRC\FILE_BROWER.C: 'music_order': unreferenced local variable
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 982 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 3 12
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
IDATA SIZE = ---- ----
BIT SIZE = ---- 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -