Rev 5010 | Rev 6314 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5010 | Rev 6313 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | use32 |
1 | use32 |
2 | org 0x0 |
2 | org 0x0 |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
4 | dd 0x1 |
- | |
5 | dd start |
- | |
6 | dd i_end ;à §¬¥à ¯à¨«®¦¥¨ï |
4 | dd 1, start, i_end, mem, stacktop, 0, sys_path |
7 | dd mem |
- | |
8 | dd stacktop |
- | |
9 | dd 0 |
- | |
10 | dd sys_path |
- | |
Line 11... | Line 5... | ||
11 | 5 | ||
12 | include '../../../../macros.inc' |
6 | include '../../../../macros.inc' |
- | 7 | include '../../../../proc32.inc' |
|
13 | include '../../../../proc32.inc' |
8 | include '../../../../KOSfuncs.inc' |
14 | include '../../../../develop/libraries/box_lib/load_lib.mac' |
9 | include '../../../../load_img.inc' |
15 | include '../../../../develop/libraries/box_lib/trunk/box_lib.mac' |
- | |
Line 16... | Line 10... | ||
16 | include '../../../../dll.inc' |
10 | include '../../../../develop/libraries/box_lib/trunk/box_lib.mac' |
17 | 11 | ||
18 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
- | |
19 | caption db 'à®á¬®âà ¨ä®à¬ 樨 Exif 23.07.14',0 ;¯®¤¯¨áì ®ª |
- | |
20 | - | ||
21 | struct FileInfoBlock |
- | |
22 | Function dd ? |
- | |
23 | Position dd ? |
- | |
24 | Flags dd ? |
- | |
25 | Count dd ? |
- | |
26 | Buffer dd ? |
- | |
27 | db ? |
- | |
Line 28... | Line 12... | ||
28 | FileName dd ? |
12 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
29 | ends |
- | |
Line 30... | Line 13... | ||
30 | 13 | caption db 'à®á¬®âà ¨ä®à¬ 樨 Exif 10.03.16',0 ;¯®¤¯¨áì ®ª |
|
31 | run_file_70 FileInfoBlock |
14 | |
32 | image_data dd 0 ;㪠§ â¥«ì ¢à¥¬¥ãî ¯ ¬ïâì. ¤«ï 㦥 ¯à¥®¡à §®¢ ¨ï ¨§®¡à ¦¥¨ï |
- | |
33 | 15 | run_file_70 FileInfoBlock |
|
Line 34... | Line -... | ||
34 | fn_toolbar db 'toolbar.png',0 |
- | |
35 | IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 |
- | |
36 | IMAGE_TOOLBAR_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*6 |
16 | |
Line 37... | Line -... | ||
37 | image_data_toolbar dd 0 |
- | |
38 | - | ||
39 | IMAGE_FILE1_SIZE equ 128*144*3+54 ;à §¬¥à ä ©« á ¨§®¡à ¦¥¨¥¬ |
- | |
40 | - | ||
41 | memory_file_size dd 512*1024 ;à §¬¥à ¯ ¬ï⨠¤«ï ®âªàëâ¨ï ä ©«®¢ (¢ ç «¥ 512 Kb, ® ¬®¦¥â 㢥«¨ç¨¢ âáï ¯à¨ ¥®¡å®¤¨¬®áâ¨) |
- | |
42 | - | ||
43 | macro load_image_file path,buf,size { ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨© |
- | |
44 | ;path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬ |
- | |
45 | if path eqtype '' ;¯à®¢¥à塞 § ¤ «¨ áâப®© ¯ à ¬¥âà path |
- | |
46 | jmp @f |
- | |
47 | local .path_str |
- | |
48 | .path_str db path ;ä®à¬¨à㥬 «®ª «ìãî ¯¥à¥¬¥ãî |
- | |
49 | db 0 |
- | |
50 | @@: |
- | |
51 | ;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬ |
- | |
52 | copy_path .path_str,[32],file_name,0x0 |
- | |
53 | else |
- | |
54 | copy_path path,[32],file_name,0x0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
- | |
55 | end if |
- | |
56 | - | ||
57 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
- | |
58 | mov [buf],eax |
- | |
59 | - | ||
60 | mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨ |
- | |
61 | mov [run_file_70.Function], 0 |
- | |
62 | mov [run_file_70.Position], 0 |
- | |
63 | mov [run_file_70.Flags], 0 |
- | |
64 | mov [run_file_70.Count], dword size |
- | |
65 | m2m [run_file_70.Buffer], [buf] |
- | |
66 | mov byte[run_file_70+20], 0 |
- | |
67 | mov [run_file_70.FileName], file_name |
- | |
68 | mov ebx,run_file_70 |
- | |
69 | int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
- | |
70 | cmp ebx,0xffffffff |
- | |
71 | je @f |
- | |
72 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥ë© ¡ãä¥à image_data |
- | |
73 | stdcall dword[img_decode], dword[buf],ebx,0 |
- | |
74 | mov dword[image_data],eax |
- | |
75 | ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
- | |
76 | stdcall dword[img_to_rgb2], dword[image_data],dword[buf] |
- | |
77 | ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à image_data |
- | |
78 | stdcall dword[img_destroy], dword[image_data] |
17 | fn_toolbar db 'toolbar.png',0 |
79 | @@: |
18 | IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 |
80 | } |
19 | image_data_toolbar dd 0 |
81 | 20 | ||
82 | 21 | memory_file_size dd 512*1024 ;à §¬¥à ¯ ¬ï⨠¤«ï ®âªàëâ¨ï ä ©«®¢ (¢ ç «¥ 512 Kb, ® ¬®¦¥â 㢥«¨ç¨¢ âáï ¯à¨ ¥®¡å®¤¨¬®áâ¨) |
|
83 | 22 | ||
84 | align 4 |
23 | align 4 |
85 | start: |
24 | start: |
86 | load_libraries l_libs_start,l_libs_end |
25 | load_libraries l_libs_start,l_libs_end |
87 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì ¡¨¡«¨®â¥ª |
26 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì ¡¨¡«¨®â¥ª |
88 | mov ebp,lib_0 |
27 | mov ebp,lib_0 |
89 | cmp dword [ebp+ll_struc_size-4],0 |
28 | cmp dword [ebp+ll_struc_size-4],0 |
Line 90... | Line 29... | ||
90 | jz @f |
29 | jz @f |
- | 30 | mcall SF_TERMINATE_PROCESS |
|
Line 91... | Line 31... | ||
91 | mcall -1 ;exit not correct |
31 | @@: |
92 | @@: |
32 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors |
93 | mcall 48,3,sc,sizeof.system_colors |
33 | mcall SF_SET_EVENTS_MASK,0xC0000027 |
94 | mcall 40,0xC0000027 |
34 | stdcall [OpenDialog_Init],OpenDialog_data ;¯®¤£®â®¢ª ¤¨ «®£ |
95 | stdcall [OpenDialog_Init],OpenDialog_data ;¯®¤£®â®¢ª ¤¨ «®£ |
35 | |
Line 96... | Line 36... | ||
96 | 36 | stdcall [buf2d_create], buf_0 ;ᮧ¤ ¨¥ ¡ãä¥à |
|
Line 97... | Line 37... | ||
97 | stdcall [buf2d_create], buf_0 ;ᮧ¤ ¨¥ ¡ãä¥à |
37 | stdcall [buf2d_create], buf_thumb |
98 | 38 | ||
Line 99... | Line 39... | ||
99 | load_image_file 'font8x9.bmp', image_data_toolbar,IMAGE_FILE1_SIZE |
39 | load_image_file 'font8x9.bmp', image_data_toolbar |
Line 113... | Line 53... | ||
113 | red_win: |
53 | red_win: |
114 | call draw_window |
54 | call draw_window |
Line 115... | Line 55... | ||
115 | 55 | ||
116 | align 4 |
56 | align 4 |
117 | still: |
57 | still: |
Line 118... | Line 58... | ||
118 | mcall 10 |
58 | mcall SF_WAIT_EVENT |
119 | 59 | ||
120 | cmp al,1 |
60 | cmp al,1 |
121 | jz red_win |
61 | jz red_win |
Line 130... | Line 70... | ||
130 | jmp still |
70 | jmp still |
Line 131... | Line 71... | ||
131 | 71 | ||
132 | align 4 |
72 | align 4 |
133 | draw_window: |
73 | draw_window: |
134 | pushad |
74 | pushad |
Line 135... | Line 75... | ||
135 | mcall 12,1 |
75 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
136 | - | ||
137 | ; *** à¨á®¢ ¨¥ £« ¢®£® ®ª (¢ë¯®«ï¥âáï 1 à § ¯à¨ § ¯ã᪥) *** |
- | |
138 | xor eax,eax |
- | |
139 | mov ebx,(20 shl 16)+480 |
76 | |
140 | mov ecx,(20 shl 16)+540 |
77 | ; *** à¨á®¢ ¨¥ £« ¢®£® ®ª (¢ë¯®«ï¥âáï 1 à § ¯à¨ § ¯ã᪥) *** |
141 | mov edx,[sc.work] |
78 | mov edx,[sc.work] |
142 | or edx,(3 shl 24)+0x30000000 |
79 | or edx,(3 shl 24)+0x30000000 |
Line 143... | Line 80... | ||
143 | mov edi,caption |
80 | mov edi,caption |
144 | int 0x40 |
- | |
145 | - | ||
146 | ; *** ᮧ¤ ¨¥ ª®¯®ª ¯ ¥«ì *** |
- | |
147 | mov eax,8 |
- | |
148 | mov ebx,(5 shl 16)+20 |
81 | mcall SF_CREATE_WINDOW, (20 shl 16)+590, (20 shl 16)+540 |
149 | mov ecx,(5 shl 16)+20 |
82 | |
Line 150... | Line 83... | ||
150 | mov edx,3 |
83 | ; *** ᮧ¤ ¨¥ ª®¯®ª ¯ ¥«ì *** |
151 | mov esi,[sc.work_button] |
84 | mov esi,[sc.work_button] |
152 | int 0x40 |
85 | mcall SF_DEFINE_BUTTON, (5 shl 16)+20, (5 shl 16)+20, 3 |
Line 169... | Line 102... | ||
169 | 102 | ||
170 | mov ebx,(135 shl 16)+20 |
103 | mov ebx,(135 shl 16)+20 |
171 | mov edx,8 |
104 | mov edx,8 |
Line 172... | Line -... | ||
172 | int 0x40 |
- | |
173 | - | ||
174 | ; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å *** |
- | |
175 | mov eax,7 |
105 | int 0x40 |
176 | mov ebx,[image_data_toolbar] |
106 | |
177 | mov ecx,(16 shl 16)+16 |
107 | mov ebx,(160 shl 16)+20 |
Line -... | Line 108... | ||
- | 108 | mov edx,9 |
|
- | 109 | int 0x40 |
|
- | 110 | ||
178 | mov edx,(7 shl 16)+7 ;icon new |
111 | ; *** à¨á®¢ ¨¥ ¨ª®®ª ª®¯ª å *** |
179 | int 0x40 |
112 | mcall SF_PUT_IMAGE, [image_data_toolbar], (16 shl 16)+16, (7 shl 16)+7 ;icon new |
180 | 113 | ||
181 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
114 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
182 | add edx,(25 shl 16) ;icon open |
115 | add edx,(25 shl 16) ;icon open |
183 | int 0x40 |
116 | int 0x40 |
Line 184... | Line 117... | ||
184 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
117 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
185 | add edx,(25 shl 16) ;icon save |
118 | add edx,(25 shl 16) ;icon save |
186 | int 0x40 |
119 | int 0x40 |
187 | 120 | ||
188 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
121 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
- | 122 | add edx,(30 shl 16) ;app1 text |
|
- | 123 | int 0x40 |
|
- | 124 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
|
- | 125 | add edx,(25 shl 16) ;app1 gps |
|
- | 126 | int 0x40 |
|
- | 127 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
|
189 | add edx,(30 shl 16) ; |
128 | add edx,(25 shl 16) ;app2 text |
190 | int 0x40 |
- | |
191 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
- | |
192 | add edx,(25 shl 16) ; |
- | |
Line 193... | Line 129... | ||
193 | int 0x40 |
129 | int 0x40 |
194 | ;add ebx,IMAGE_TOOLBAR_ICON_SIZE |
130 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
Line 195... | Line 131... | ||
195 | ;add edx,(25 shl 16) ; |
131 | add edx,(25 shl 16) ;app2 thumbnail |
196 | ;int 0x40 |
132 | int 0x40 |
197 | 133 | ||
Line 198... | Line 134... | ||
198 | ; *** à¨á®¢ ¨¥ ¡ãä¥à *** |
134 | ; *** à¨á®¢ ¨¥ ¡ãä¥à *** |
199 | stdcall [buf2d_draw], buf_0 |
135 | stdcall [buf2d_draw], buf_0 |
200 | 136 | ||
201 | mcall 12,2 |
137 | mcall SF_REDRAW,SSF_END_DRAW |
Line 202... | Line 138... | ||
202 | popad |
138 | popad |
203 | ret |
139 | ret |
Line 204... | Line 140... | ||
204 | 140 | ||
Line 205... | Line 141... | ||
205 | align 4 |
141 | align 4 |
206 | key: |
142 | key: |
207 | mcall 2 |
143 | mcall SF_GET_KEY |
208 | jmp still |
144 | jmp still |
209 | 145 | ||
210 | align 4 |
146 | align 4 |
211 | mouse: |
147 | mouse: |
212 | 148 | ||
Line 237... | Line 173... | ||
237 | @@: |
173 | @@: |
238 | cmp ah,8 |
174 | cmp ah,8 |
239 | jne @f |
175 | jne @f |
240 | call but_3 |
176 | call but_3 |
241 | @@: |
177 | @@: |
- | 178 | cmp ah,9 |
|
- | 179 | jne @f |
|
- | 180 | call but_4 |
|
- | 181 | @@: |
|
242 | cmp ah,1 |
182 | cmp ah,1 |
243 | jne still |
183 | jne still |
244 | .exit: |
184 | .exit: |
245 | stdcall [buf2d_delete],buf_0 |
185 | stdcall [buf2d_delete],buf_0 |
246 | stdcall [buf2d_delete],buf_1 ;㤠«ï¥¬ ¡ãä¥à |
186 | stdcall [buf2d_delete],buf_1 ;㤠«ï¥¬ ¡ãä¥à |
- | 187 | stdcall [buf2d_delete],buf_thumb |
|
247 | stdcall mem.Free,[image_data_toolbar] |
188 | stdcall mem.Free,[image_data_toolbar] |
248 | stdcall mem.Free,[open_file] |
189 | stdcall mem.Free,[open_file] |
249 | mcall -1 |
190 | mcall SF_TERMINATE_PROCESS |
Line 250... | Line 191... | ||
250 | 191 | ||
251 | 192 | ||
252 | align 4 |
193 | align 4 |
Line 267... | Line 208... | ||
267 | stdcall [OpenDialog_Start],OpenDialog_data |
208 | stdcall [OpenDialog_Start],OpenDialog_data |
268 | cmp [OpenDialog_data.status],2 |
209 | cmp [OpenDialog_data.status],2 |
269 | je .end_open_file |
210 | je .end_open_file |
270 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
211 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
Line 271... | Line -... | ||
271 | - | ||
272 | mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨ |
212 | |
273 | mov [run_file_70.Function], 5 |
213 | mov [run_file_70.Function], SSF_GET_INFO |
274 | mov [run_file_70.Position], 0 |
214 | mov [run_file_70.Position], 0 |
275 | mov [run_file_70.Flags], 0 |
215 | mov [run_file_70.Flags], 0 |
276 | mov dword[run_file_70.Count], 0 |
216 | mov dword[run_file_70.Count], 0 |
277 | m2m [run_file_70.Buffer], [open_file] |
217 | m2m [run_file_70.Buffer], [open_file] |
278 | mov byte[run_file_70+20], 0 |
218 | mov byte[run_file_70+20], 0 |
279 | mov dword[run_file_70.FileName], openfile_path |
219 | mov dword[run_file_70.FileName], openfile_path |
280 | mov ebx,run_file_70 |
- | |
281 | int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
220 | mcall SF_FILE,run_file_70 |
282 | cmp eax,0 |
221 | cmp eax,0 |
Line 283... | Line 222... | ||
283 | jne .end_open_file |
222 | jne .end_open_file |
284 | 223 | ||
Line 291... | Line 230... | ||
291 | ;㢥«¨ç¨¢ ¥¬ ¯ ¬ïâì ¥á«¨ ¥ å¢ â¨«® |
230 | ;㢥«¨ç¨¢ ¥¬ ¯ ¬ïâì ¥á«¨ ¥ å¢ â¨«® |
292 | mov dword[memory_file_size],ebx |
231 | mov dword[memory_file_size],ebx |
293 | stdcall mem.ReAlloc, dword[open_file],ebx |
232 | stdcall mem.ReAlloc, dword[open_file],ebx |
294 | @@: |
233 | @@: |
Line 295... | Line -... | ||
295 | - | ||
296 | mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨ |
234 | |
297 | mov [run_file_70.Function], 0 |
235 | mov [run_file_70.Function], SSF_READ_FILE |
298 | mov [run_file_70.Position], 0 |
236 | mov [run_file_70.Position], 0 |
299 | mov [run_file_70.Flags], 0 |
237 | mov [run_file_70.Flags], 0 |
300 | m2m dword[run_file_70.Count], dword[open_file_size] |
238 | m2m dword[run_file_70.Count], dword[open_file_size] |
301 | m2m dword[run_file_70.Buffer],dword[open_file] |
239 | m2m dword[run_file_70.Buffer],dword[open_file] |
302 | mov byte[run_file_70+20], 0 |
240 | mov byte[run_file_70+20], 0 |
303 | mov dword[run_file_70.FileName], openfile_path |
- | |
304 | mov ebx,run_file_70 |
241 | mov dword[run_file_70.FileName], openfile_path |
305 | int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
242 | mcall SF_FILE,run_file_70 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
306 | cmp ebx,0xffffffff |
243 | cmp ebx,0xffffffff |
Line 307... | Line 244... | ||
307 | je .end_open_file |
244 | je .end_open_file |
308 | 245 | ||
309 | mov [open_file_size],ebx |
246 | mov [open_file_size],ebx |
310 | ;add ebx,dword[open_file] |
247 | ;add ebx,dword[open_file] |
311 | ;mov byte[ebx],0 ; á«ãç © ¥á«¨ à ¥¥ ¡ë« ®âªàëâ ä ©« ¡®«ì襣® à §¬¥à ç¨á⨬ ª®¥æ ¡ãä¥à á ä ©«®¬ |
248 | ;mov byte[ebx],0 ; á«ãç © ¥á«¨ à ¥¥ ¡ë« ®âªàëâ ä ©« ¡®«ì襣® à §¬¥à ç¨á⨬ ª®¥æ ¡ãä¥à á ä ©«®¬ |
Line 312... | Line 249... | ||
312 | stdcall [exif_get_app1], [open_file],h_app1 |
249 | stdcall [exif_get_app1], [open_file],h_app1 |
313 | mcall 71,1,openfile_path |
250 | mcall SF_SET_CAPTION,1,openfile_path |
314 | 251 | ||
315 | call draw_file_1 |
252 | call draw_file_1 |
Line -... | Line 253... | ||
- | 253 | .end_open_file: |
|
- | 254 | popad |
|
- | 255 | ret |
|
316 | .end_open_file: |
256 | |
317 | popad |
257 | ;description: |
318 | ret |
258 | ; ¨ä®à¬ æ¨ï exif ¨§ app1 |
319 | 259 | ; ⥪áâ®¢ë¥ ¨ ç¨á«®¢ë¥ ¤ ë¥ |
|
320 | align 4 |
260 | align 4 |
Line 358... | Line 298... | ||
358 | @@: |
298 | @@: |
359 | stdcall [buf2d_draw], buf_0 |
299 | stdcall [buf2d_draw], buf_0 |
360 | popad |
300 | popad |
361 | ret |
301 | ret |
Line -... | Line 302... | ||
- | 302 | ||
- | 303 | ;description: |
|
- | 304 | ; ¨ä®à¬ æ¨ï exif ¨§ app1 |
|
362 | 305 | ; ¤ ë¥ ® gps |
|
363 | align 4 |
306 | align 4 |
364 | draw_file_2: |
307 | draw_file_2: |
365 | pushad |
308 | pushad |
366 | stdcall [buf2d_clear], buf_0, [buf_0.color] |
309 | stdcall [buf2d_clear], buf_0, [buf_0.color] |
Line 401... | Line 344... | ||
401 | @@: |
344 | @@: |
402 | stdcall [buf2d_draw], buf_0 |
345 | stdcall [buf2d_draw], buf_0 |
403 | popad |
346 | popad |
404 | ret |
347 | ret |
Line -... | Line 348... | ||
- | 348 | ||
- | 349 | ;description: |
|
- | 350 | ; ¨ä®à¬ æ¨ï exif ¨§ app2 |
|
405 | 351 | ; ⥪áâ®¢ë¥ ¨ ç¨á«®¢ë¥ ¤ ë¥ |
|
406 | align 4 |
352 | align 4 |
407 | draw_file_3: |
353 | draw_file_3: |
408 | pushad |
354 | pushad |
409 | stdcall [buf2d_clear], buf_0, [buf_0.color] |
355 | stdcall [buf2d_clear], buf_0, [buf_0.color] |
Line 423... | Line 369... | ||
423 | ; 室¨¬ app2 |
369 | ; 室¨¬ app2 |
424 | stdcall [exif_get_app2], h_app1,h_child |
370 | stdcall [exif_get_app2], h_app1,h_child |
425 | cmp dword[h_child],0 |
371 | cmp dword[h_child],0 |
426 | je .no_found_child |
372 | je .no_found_child |
Line 427... | Line 373... | ||
427 | 373 | ||
428 | mov eax,1 |
374 | mov eax,1 ;25 |
429 | sub ebx,5 |
375 | sub ebx,5 |
430 | .cycle_1: |
376 | .cycle_1: |
431 | stdcall [exif_get_app1_tag], h_child,eax,txt_buf,80 |
377 | stdcall [exif_get_app1_tag], h_child,eax,txt_buf,80 |
432 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_buf,3,ebx,0xb00000 |
378 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_buf,3,ebx,0xb00000 |
Line 444... | Line 390... | ||
444 | @@: |
390 | @@: |
445 | stdcall [buf2d_draw], buf_0 |
391 | stdcall [buf2d_draw], buf_0 |
446 | popad |
392 | popad |
447 | ret |
393 | ret |
Line -... | Line 394... | ||
- | 394 | ||
- | 395 | ;description: |
|
- | 396 | ; ¨ä®à¬ æ¨ï exif ¨§ app2 |
|
- | 397 | ; ª à⨪ ¤«ï ª ¬¥à Nikon |
|
- | 398 | align 4 |
|
- | 399 | draw_file_4: |
|
- | 400 | pushad |
|
- | 401 | stdcall [buf2d_clear], buf_0, [buf_0.color] |
|
- | 402 | cmp dword[open_file_size],0 |
|
- | 403 | je .open_file |
|
- | 404 | ||
- | 405 | mov eax,1 |
|
- | 406 | mov ebx,1 |
|
- | 407 | ||
- | 408 | ; 室¨¬ app2 |
|
- | 409 | stdcall [exif_get_app2], h_app1,h_child |
|
- | 410 | cmp dword[h_child],0 |
|
- | 411 | je .no_found_child |
|
- | 412 | ;áç¨âë¢ ¥¬ ¤®ç¥à¨¥ ⥣¨ |
|
- | 413 | stdcall [exif_get_app1_child], h_child,h_child,0x0011 |
|
- | 414 | cmp dword[h_child],0 |
|
- | 415 | je .no_found_child |
|
- | 416 | ||
- | 417 | stdcall [exif_get_app1_child], h_child,h_child_siz,0x0202 |
|
- | 418 | cmp dword[h_child_siz],0 |
|
- | 419 | je .no_found_child |
|
- | 420 | ||
- | 421 | stdcall [exif_get_app1_child], h_child,h_child,0x0201 |
|
- | 422 | cmp dword[h_child],0 |
|
- | 423 | je .no_found_child |
|
- | 424 | ||
- | 425 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥ë© ¡ãä¥à ebx |
|
- | 426 | stdcall [img_decode],dword[h_child],dword[h_child_siz],0 |
|
- | 427 | cmp dword[eax+4],1 |
|
- | 428 | jl .no_found_child |
|
- | 429 | cmp dword[eax+8],1 |
|
- | 430 | jl .no_found_child |
|
- | 431 | mov ebx,eax |
|
- | 432 | stdcall [buf2d_resize],buf_thumb,[eax+4],[eax+8],1 |
|
- | 433 | ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
|
- | 434 | stdcall [img_to_rgb2],ebx,[buf_thumb] |
|
- | 435 | ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à ebx |
|
- | 436 | stdcall [img_destroy],ebx |
|
- | 437 | ||
- | 438 | stdcall [buf2d_bit_blt], buf_0, 0,15, buf_thumb ;à¨á㥬 ¨§®¡à ¦¥¨¥ |
|
- | 439 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_thumb,3,3,0xb000 |
|
- | 440 | jmp @f |
|
- | 441 | ||
- | 442 | .no_found_child: |
|
- | 443 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_nochild,3,3,0xb000 |
|
- | 444 | jmp @f |
|
- | 445 | .open_file: |
|
- | 446 | stdcall [buf2d_draw_text], buf_0, buf_1,txt_openfile,3,3,0xb000 |
|
- | 447 | @@: |
|
- | 448 | stdcall [buf2d_draw], buf_0 |
|
- | 449 | popad |
|
- | 450 | ret |
|
448 | 451 | ||
449 | align 4 |
452 | align 4 |
450 | but_save_file: |
453 | but_save_file: |
451 | pushad |
454 | pushad |
452 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
455 | copy_path open_dialog_name,communication_area_default_path,file_name,0 |
453 | mov [OpenDialog_data.type],1 |
456 | mov [OpenDialog_data.type],1 |
454 | stdcall [OpenDialog_Start],OpenDialog_data |
457 | stdcall [OpenDialog_Start],OpenDialog_data |
455 | cmp [OpenDialog_data.status],2 |
458 | cmp [OpenDialog_data.status],2 |
456 | je .end_save_file |
459 | je .end_save_file |
Line 457... | Line -... | ||
457 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
- | |
458 | 460 | ;ª®¤ ¯à¨ 㤠箬 ®âªàë⨨ ¤¨ «®£ |
|
459 | mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨ |
461 | |
460 | mov [run_file_70.Function], 2 |
462 | mov [run_file_70.Function], SSF_CREATE_FILE |
- | 463 | mov [run_file_70.Position], 0 |
|
- | 464 | mov [run_file_70.Flags], 0 |
|
461 | mov [run_file_70.Position], 0 |
465 | |
462 | mov [run_file_70.Flags], 0 |
466 | if 1 ;áâ ¢¨¬ 1 ¥á«¨ á®åà ï¥âáï ¢á¥ ¨§®¡à ¦¥¨¥ |
463 | mov ebx, dword[open_file] |
467 | mov ebx, dword[open_file] |
- | 468 | mov [run_file_70.Buffer], ebx |
|
- | 469 | mov ebx,[open_file_size] |
|
- | 470 | end if |
|
- | 471 | if 0 ;áâ ¢¨¬ 1 ¥á«¨ á®åà ï¥âáï í᪨§ ¨§®¡à ¦¥¨ï |
|
- | 472 | ; 室¨¬ app2 |
|
- | 473 | stdcall [exif_get_app2], h_app1,h_child |
|
- | 474 | cmp dword[h_child],0 |
|
- | 475 | je .end_save_file |
|
- | 476 | ;áç¨âë¢ ¥¬ ¤®ç¥à¨¥ ⥣¨ |
|
- | 477 | stdcall [exif_get_app1_child], h_child,h_child,0x0011 |
|
- | 478 | cmp dword[h_child],0 |
|
- | 479 | je .end_save_file |
|
- | 480 | stdcall [exif_get_app1_child], h_child,h_child,0x0201 |
|
- | 481 | cmp dword[h_child],0 |
|
- | 482 | je .end_save_file |
|
- | 483 | ||
- | 484 | mov ebx,dword[h_child] ;dword[open_file] |
|
- | 485 | mov [run_file_70.Buffer], ebx |
|
464 | mov [run_file_70.Buffer], ebx |
486 | mov ebx,... ; âãâ ¤®«¦¥ ¡ëâì à §¬¥à í᪨§ ¨§®¡à ¦¥¨ï ª®â®àë© ¬¥ìè¥ ç¥¬ [open_file_size] |
465 | mov ebx,[open_file_size] |
487 | end if |
466 | mov dword[run_file_70.Count], ebx ;à §¬¥à ä ©« |
488 | mov dword[run_file_70.Count], ebx ;à §¬¥à ä ©« |
467 | mov byte[run_file_70+20], 0 |
- | |
468 | mov dword[run_file_70.FileName], openfile_path |
489 | mov byte[run_file_70+20], 0 |
469 | mov ebx,run_file_70 |
490 | mov dword[run_file_70.FileName], openfile_path |
470 | int 0x40 ;á®åà 塞 ä ©« ¨§®¡à ¦¥¨ï |
491 | mcall SF_FILE,run_file_70 ;á®åà 塞 ä ©« |
471 | ;cmp ebx,0xffffffff |
492 | ;cmp ebx,0xffffffff |
Line 472... | Line 493... | ||
472 | ;je .end_save_file |
493 | ;je .end_save_file |
Line 489... | Line 510... | ||
489 | align 4 |
510 | align 4 |
490 | but_3: |
511 | but_3: |
491 | call draw_file_3 ;¨ä®à¬ æ¨ï app2 |
512 | call draw_file_3 ;¨ä®à¬ æ¨ï app2 |
492 | ret |
513 | ret |
Line -... | Line 514... | ||
- | 514 | ||
- | 515 | align 4 |
|
- | 516 | but_4: |
|
- | 517 | call draw_file_4 ;¥é¥ ª ª ï-â® ¨ä®à¬ æ¨ï ... |
|
- | 518 | ret |
|
493 | 519 | ||
494 | ;¤ ë¥ ¤«ï ¤¨ «®£ ®âªàëâ¨ï ä ©«®¢ |
520 | ;¤ ë¥ ¤«ï ¤¨ «®£ ®âªàëâ¨ï ä ©«®¢ |
495 | align 4 |
521 | align 4 |
496 | OpenDialog_data: |
522 | OpenDialog_data: |
497 | .type dd 0 ;0 - ®âªàëâì, 1 - á®åà ¨âì, 2 - ¢ë¡à âì ¤â४â®à¨î |
523 | .type dd 0 ;0 - ®âªàëâì, 1 - á®åà ¨âì, 2 - ¢ë¡à âì ¤â४â®à¨î |
Line 558... | Line 584... | ||
558 | l_libs_start: |
584 | l_libs_start: |
559 | lib_0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\ |
585 | lib_0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\ |
560 | err_message_found_lib_0, head_f_l, proclib_import,err_message_import_0, head_f_i |
586 | err_message_found_lib_0, head_f_l, proclib_import,err_message_import_0, head_f_i |
561 | lib_1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\ |
587 | lib_1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\ |
562 | err_message_found_lib_1, head_f_l, import_libimg, err_message_import_1, head_f_i |
588 | err_message_found_lib_1, head_f_l, import_libimg, err_message_import_1, head_f_i |
563 | lib_2 l_libs lib_name_2, sys_path, library_path, system_dir_2,\ |
589 | lib_2 l_libs lib_name_2, sys_path, file_name, system_dir_2,\ |
564 | err_msg_found_lib_2,head_f_l,import_buf2d,err_msg_import_2,head_f_i |
590 | err_msg_found_lib_2,head_f_l,import_buf2d,err_msg_import_2,head_f_i |
565 | lib_3 l_libs lib_name_3, sys_path, library_path, system_dir_3,\ |
591 | lib_3 l_libs lib_name_3, sys_path, file_name, system_dir_3,\ |
566 | err_msg_found_lib_3,head_f_l,import_exif,err_msg_import_3,head_f_i |
592 | err_msg_found_lib_3,head_f_l,import_exif,err_msg_import_3,head_f_i |
567 | l_libs_end: |
593 | l_libs_end: |
Line 568... | Line 594... | ||
568 | 594 | ||
569 | align 4 |
595 | align 4 |
Line 627... | Line 653... | ||
627 | buf2d_create dd sz_buf2d_create |
653 | buf2d_create dd sz_buf2d_create |
628 | buf2d_create_f_img dd sz_buf2d_create_f_img |
654 | buf2d_create_f_img dd sz_buf2d_create_f_img |
629 | buf2d_clear dd sz_buf2d_clear |
655 | buf2d_clear dd sz_buf2d_clear |
630 | buf2d_draw dd sz_buf2d_draw |
656 | buf2d_draw dd sz_buf2d_draw |
631 | buf2d_delete dd sz_buf2d_delete |
657 | buf2d_delete dd sz_buf2d_delete |
- | 658 | buf2d_resize dd sz_buf2d_resize |
|
632 | buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 |
659 | buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 |
- | 660 | buf2d_bit_blt dd sz_buf2d_bit_blt |
|
633 | buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix |
661 | buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix |
634 | buf2d_draw_text dd sz_buf2d_draw_text |
662 | buf2d_draw_text dd sz_buf2d_draw_text |
635 | dd 0,0 |
663 | dd 0,0 |
636 | sz_init db 'lib_init',0 |
664 | sz_init db 'lib_init',0 |
637 | sz_buf2d_create db 'buf2d_create',0 |
665 | sz_buf2d_create db 'buf2d_create',0 |
638 | sz_buf2d_create_f_img db 'buf2d_create_f_img',0 |
666 | sz_buf2d_create_f_img db 'buf2d_create_f_img',0 |
639 | sz_buf2d_clear db 'buf2d_clear',0 |
667 | sz_buf2d_clear db 'buf2d_clear',0 |
640 | sz_buf2d_draw db 'buf2d_draw',0 |
668 | sz_buf2d_draw db 'buf2d_draw',0 |
641 | sz_buf2d_delete db 'buf2d_delete',0 |
669 | sz_buf2d_delete db 'buf2d_delete',0 |
- | 670 | sz_buf2d_resize db 'buf2d_resize',0 |
|
642 | sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 |
671 | sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 |
- | 672 | sz_buf2d_bit_blt db 'buf2d_bit_blt',0 |
|
643 | sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 |
673 | sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 |
644 | sz_buf2d_draw_text db 'buf2d_draw_text',0 |
674 | sz_buf2d_draw_text db 'buf2d_draw_text',0 |
Line 645... | Line 675... | ||
645 | 675 | ||
646 | align 4 |
676 | align 4 |
Line 662... | Line 692... | ||
662 | 692 | ||
663 | align 4 |
693 | align 4 |
664 | buf_0: dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
694 | buf_0: dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
665 | dw 5 ;+4 left |
695 | dw 5 ;+4 left |
666 | dw 31 ;+6 top |
696 | dw 31 ;+6 top |
667 | .w: dd 456 ;+8 w |
697 | .w: dd 570 ;+8 w |
668 | .h: dd 480 ;+12 h |
698 | .h: dd 480 ;+12 h |
669 | .color: dd 0xffffd0 ;+16 color |
699 | .color: dd 0xffffd0 ;+16 color |
Line 670... | Line 700... | ||
670 | db 24 ;+20 bit in pixel |
700 | db 24 ;+20 bit in pixel |
Line 677... | Line 707... | ||
677 | dd 128 ;+8 w |
707 | dd 128 ;+8 w |
678 | dd 144 ;+12 h |
708 | dd 144 ;+12 h |
679 | dd 0 ;+16 color |
709 | dd 0 ;+16 color |
680 | db 24 ;+20 bit in pixel |
710 | db 24 ;+20 bit in pixel |
Line -... | Line 711... | ||
- | 711 | ||
- | 712 | align 4 |
|
681 | 713 | buf_thumb: |
|
- | 714 | dd 0 ;㪠§ â¥«ì ¡ãä¥à ¨§®¡à ¦¥¨ï |
|
682 | h_app1 dd 0,0,0 ;áâàãªâãà ¤«ï § £®«®¢ª £« ¢ëå ⥣®¢ |
715 | dw 0 ;+4 left |
- | 716 | dw 0 ;+6 top |
|
- | 717 | dd 120 ;+8 w |
|
- | 718 | dd 100 ;+12 h |
|
- | 719 | dd 0 ;+16 color |
|
- | 720 | db 24 ;+20 bit in pixel |
|
- | 721 | ||
683 | dw 0 |
722 | h_app1 rb 14 ;áâàãªâãà ¤«ï § £®«®¢ª £« ¢ëå ⥣®¢ |
- | 723 | h_child rb 14 ;áâàãªâãà ¤«ï § £®«®¢ª ¤®ç¥à¨å ⥣®¢ |
|
684 | h_child dd 0,0,0 ;áâàãªâãà ¤«ï § £®«®¢ª ¤®ç¥à¨å ⥣®¢ |
724 | h_child_siz rb 14 |
685 | dw 0 |
725 | |
- | 726 | txt_openfile db 'âªà®©â¥ ä ©« ¨§®¡à ¦¥¨ï ¢ ä®à¬ ⥠*.jpg.',0 |
|
686 | txt_openfile db 'âªà®©â¥ ä ©« ¨§®¡à ¦¥¨ï ¢ ä®à¬ ⥠*.jpg.',0 |
727 | txt_thumb db 'â® í᪨§ ¨§®¡à ¦¥¨ï ¨§ ¤ ëå app2.',0 |
687 | txt_nochild db 'ä®à¬ æ¨ï ¯® í⮩ ª®¯ª¥ ¥ ©¤¥ .',0 |
728 | txt_nochild db 'ä®à¬ æ¨ï ¯® í⮩ ª®¯ª¥ ¥ ©¤¥ .',0 |
Line -... | Line 729... | ||
- | 729 | txt_buf rb 80 |
|
688 | txt_buf rb 80 |
730 | |
689 | 731 | align 16 |
|
690 | i_end: |
732 | i_end: |
691 | rb 2048 |
733 | rb 2048 |
692 | stacktop: |
734 | stacktop: |
693 | sys_path rb 1024 |
- | |
694 | file_name: |
- | |
695 | rb 1024 ;4096 |
735 | sys_path rb 1024 |
696 | library_path rb 1024 |
736 | file_name rb 4096 |
697 | plugin_path rb 4096 |
737 | plugin_path rb 4096 |
698 | openfile_path rb 4096 |
738 | openfile_path rb 4096 |