Rev 3853 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3853 | Rev 3897 | ||
---|---|---|---|
1 | ; ¯®â®¬: ¤®¡ ¢¨â § £à㧪ã ico ¨ ¢®§¬®¦®áâì ¢ë¡®à ¨ª®ª¨ ¥ ¨§ iconstrp |
1 | ; ¯®â®¬: ¤®¡ ¢¨â § £à㧪ã ico ¨ ¢®§¬®¦®áâì ¢ë¡®à ¨ª®ª¨ ¥ ¨§ iconstrp |
2 | 2 | ||
3 | ICONS_DAT equ '/rd/1/icons.dat' |
3 | ICONS_DAT equ '/rd/1/icons.dat' |
4 | ICON_STRIP equ '/rd/1/iconstrp.png' |
4 | ICON_STRIP equ '/rd/1/iconstrp.png' |
5 | ICON_SIZE equ 68 |
5 | ICON_SIZE equ 68 |
6 | IMG_SIZE equ 32 |
6 | IMG_SIZE equ 32 |
7 | TEXT_BOTTOM_Y equ 14 |
7 | TEXT_BOTTOM_Y equ 14 |
8 | IMAGE_TOP_Y equ 10 ;>=1 |
8 | IMAGE_TOP_Y equ 10 ;>=1 |
9 | ALIGN_SIZE equ 68 |
9 | ALIGN_SIZE equ 68 |
10 | NAME_LENGTH equ 11 |
10 | NAME_LENGTH equ 11 |
11 | MIN_NO_MOVING equ 8 |
11 | MIN_NO_MOVING equ 8 |
12 | ;¤«ï ¤¨ «®£ ᮧ¤ ¨ï/। ªâ¨à®¢ ¨ï |
12 | ;¤«ï ¤¨ «®£ ᮧ¤ ¨ï/। ªâ¨à®¢ ¨ï |
13 | ICONSX equ 20 |
13 | ICONSX equ 20 |
14 | ICONSY equ 100 |
14 | ICONSY equ 100 |
15 | ICONS_DRAW_COUNTW equ 10 ;ª®«¨ç¥á⢮ ¨ª®®ª ¢ è¨à¨ã |
15 | ICONS_DRAW_COUNTW equ 10 ;ª®«¨ç¥á⢮ ¨ª®®ª ¢ è¨à¨ã |
16 | ICONS_DRAW_COUNTH equ 2 ;ª®«¨ç¥á⢮ ¨ª®®ª ¢ ¢ëá®âã |
16 | ICONS_DRAW_COUNTH equ 2 ;ª®«¨ç¥á⢮ ¨ª®®ª ¢ ¢ëá®âã |
17 | SPCW equ 3 ;¯à®¡¥« ¬¥¦¤ã ¨ª®ª ¬¨ ¯® £®à¨§®â «¨ |
17 | SPCW equ 3 ;¯à®¡¥« ¬¥¦¤ã ¨ª®ª ¬¨ ¯® £®à¨§®â «¨ |
18 | SPCH equ 3 |
18 | SPCH equ 3 |
19 | END_ICONS_AREAW equ ICONSX+(IMG_SIZE+SPCW)*ICONS_DRAW_COUNTW-SPCW |
19 | END_ICONS_AREAW equ ICONSX+(IMG_SIZE+SPCW)*ICONS_DRAW_COUNTW-SPCW |
20 | END_ICONS_AREAH equ ICONSY+(IMG_SIZE+SPCH)*ICONS_DRAW_COUNTH-SPCH |
20 | END_ICONS_AREAH equ ICONSY+(IMG_SIZE+SPCH)*ICONS_DRAW_COUNTH-SPCH |
21 | 21 | ||
22 | 22 | ||
23 | 23 | ||
24 | SizeData equ bufStdIco+32 |
24 | SizeData equ bufStdIco+32 |
25 | BegData equ fiStdIco.point |
25 | BegData equ fiStdIco.point |
26 | ;------------------------------------------------------------------------------ |
26 | ;------------------------------------------------------------------------------ |
27 | use32 |
27 | use32 |
28 | org 0x0 |
28 | org 0x0 |
29 | db 'MENUET01' ; 8 byte id |
29 | db 'MENUET01' ; 8 byte id |
30 | dd 0x01 ; header version |
30 | dd 0x01 ; header version |
31 | dd START ; start of code |
31 | dd START ; start of code |
32 | dd I_END ; size of image |
32 | dd I_END ; size of image |
33 | dd ENDMEM ; memory for app |
33 | dd ENDMEM ; memory for app |
34 | dd stack_area ; esp |
34 | dd stack_area ; esp |
35 | dd 0 ; boot parameters |
35 | dd 0 ; boot parameters |
36 | dd 0 ; path |
36 | dd 0 ; path |
37 | ;------------------------------------------------------------------------------ |
37 | ;------------------------------------------------------------------------------ |
38 | include 'lang.inc' |
38 | include 'lang.inc' |
39 | include '../../macros.inc' |
39 | include '../../macros.inc' |
40 | include '../../proc32.inc' |
40 | include '../../proc32.inc' |
41 | ;include '../../API.inc' |
41 | ;include '../../API.inc' |
42 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
42 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
43 | include '../../dll.inc' |
43 | include '../../dll.inc' |
44 | ;include '../../debug.inc' |
44 | ;include '../../debug.inc' |
45 | 45 | ||
46 | ;------------------------------------------------------------------------------ |
46 | ;------------------------------------------------------------------------------ |
47 | START: ; start of execution |
47 | START: ; start of execution |
48 | mcall 68,11 |
48 | mcall 68,11 |
49 | stdcall dll.Load,IMPORTS |
49 | stdcall dll.Load,IMPORTS |
50 | test eax,eax |
50 | test eax,eax |
51 | jnz ErrLoadLibs |
51 | jnz ErrLoadLibs |
52 | 52 | ||
53 | ; unpack deflate |
53 | ; unpack deflate |
54 | mov eax,[unpack_DeflateUnpack2] |
54 | mov eax,[unpack_DeflateUnpack2] |
55 | mov [deflate_unpack],eax |
55 | mov [deflate_unpack],eax |
56 | ;--------------------------------------------------------------------- |
56 | ;--------------------------------------------------------------------- |
57 | ; get size of file ICONSTRP.PNG |
57 | ; get size of file ICONSTRP.PNG |
58 | mcall 70,fiStdIco |
58 | mcall 70,fiStdIco |
59 | test eax,eax |
59 | test eax,eax |
60 | jnz ErrorStrp |
60 | jnz ErrorStrp |
61 | ; get memory for ICONSTRP.PNG |
61 | ; get memory for ICONSTRP.PNG |
62 | mov ecx,dword[bufStdIco+32] |
62 | mov ecx,dword[bufStdIco+32] |
63 | mov [fiStdIco.size],ecx |
63 | mov [fiStdIco.size],ecx |
64 | mov [img_size],ecx |
64 | mov [img_size],ecx |
65 | mcall 68,12 |
65 | mcall 68,12 |
66 | mov [fiStdIco.point],eax |
66 | mov [fiStdIco.point],eax |
67 | mov [image_file],eax |
67 | mov [image_file],eax |
68 | ; load ICONSTRP.PNG |
68 | ; load ICONSTRP.PNG |
69 | mov dword[fiStdIco],0 |
69 | mov dword[fiStdIco],0 |
70 | mcall 70,fiStdIco |
70 | mcall 70,fiStdIco |
71 | test eax,eax |
71 | test eax,eax |
72 | jnz close |
72 | jnz close |
73 | ; convert PNG to RAW |
73 | ; convert PNG to RAW |
74 | xor eax,eax |
74 | xor eax,eax |
75 | mov [return_code],eax |
75 | mov [return_code],eax |
76 | ;int3 |
76 | ;int3 |
77 | 77 | ||
78 | push image_file |
78 | push image_file |
79 | call [cnv_png_import.Start] |
79 | call [cnv_png_import.Start] |
80 | 80 | ||
81 | mov eax,[raw_pointer] |
81 | mov eax,[raw_pointer] |
82 | mov ebx,[eax+32] |
82 | mov ebx,[eax+32] |
83 | mov [strip_file_size],ebx |
83 | mov [strip_file_size],ebx |
84 | mov eax,[eax+28] |
84 | mov eax,[eax+28] |
85 | add eax,[raw_pointer] |
85 | add eax,[raw_pointer] |
86 | mov [strip_file],eax |
86 | mov [strip_file],eax |
87 | ; back memory to system |
87 | ; back memory to system |
88 | mcall 68,13,[fiStdIco.point] |
88 | mcall 68,13,[fiStdIco.point] |
89 | 89 | ||
90 | mov eax,[raw_pointer] |
90 | mov eax,[raw_pointer] |
91 | mov eax,[eax+8] |
91 | mov eax,[eax+8] |
92 | shr eax,5 |
92 | shr eax,5 |
93 | mov [icon_count],eax |
93 | mov [icon_count],eax |
94 | 94 | ||
95 | and eax,0x7 |
95 | and eax,0x7 |
96 | mov [cur_band_compensation],eax |
96 | mov [cur_band_compensation],eax |
97 | 97 | ||
98 | ;########## § £à㦠¥¬ ¤ ë¥ ¨ª®®ª ¢ ¯ ¬ïâì ########################## |
98 | ;########## § £à㦠¥¬ ¤ ë¥ ¨ª®®ª ¢ ¯ ¬ïâì ########################## |
99 | 99 | ||
100 | mcall 70,fiIni ;¢ë¤¥«ï¥¬ ¯ ¬ïâì, ¤®áâ â®ç®© ¤«ï åà ¥¨ï ini ä ©« . ñ â®ç® å¢ â¨â ¤«ï åà ¥¨ï ¤ ëå ®¡ ¨ª®ª å |
100 | mcall 70,fiIni ;¢ë¤¥«ï¥¬ ¯ ¬ïâì, ¤®áâ â®ç®© ¤«ï åà ¥¨ï ini ä ©« . ñ â®ç® å¢ â¨â ¤«ï åà ¥¨ï ¤ ëå ®¡ ¨ª®ª å |
101 | test eax,eax |
101 | test eax,eax |
102 | jnz ErrorIni |
102 | jnz ErrorIni |
103 | 103 | ||
104 | cmp dword[bufIni+32],0 |
104 | cmp dword[bufIni+32],0 |
105 | je ErrorIni |
105 | je ErrorIni |
106 | mcall 68,12,dword[bufIni+32] |
106 | mcall 68,12,dword[bufIni+32] |
107 | mov dword[BegData],eax |
107 | mov dword[BegData],eax |
108 | jmp NoErrIni |
108 | jmp NoErrIni |
109 | 109 | ||
110 | ErrorIni: |
110 | ErrorIni: |
111 | mcall 70,fiRunProg |
111 | mcall 70,fiRunProg |
112 | mcall -1 |
112 | mcall -1 |
113 | 113 | ||
114 | NoErrIni: |
114 | NoErrIni: |
115 | m2m [PIcoDB],[BegData] |
115 | m2m [PIcoDB],[BegData] |
116 | 116 | ||
117 | stdcall [ini_enum_sections],IconIni,LoadIconsData |
117 | stdcall [ini_enum_sections],IconIni,LoadIconsData |
118 | ;int3 |
118 | ;int3 |
119 | mov eax,dword[PIcoDB] |
119 | mov eax,dword[PIcoDB] |
120 | sub eax,[BegData] |
120 | sub eax,[BegData] |
121 | mov dword[SizeData],eax |
121 | mov dword[SizeData],eax |
122 | mov eax,[BegData] |
122 | mov eax,[BegData] |
123 | cmp eax,[PIcoDB] |
123 | cmp eax,[PIcoDB] |
124 | jne @f |
124 | jne @f |
125 | mov dword[eax],0 |
125 | mov dword[eax],0 |
126 | mov dword[SizeData],0 |
126 | mov dword[SizeData],0 |
127 | @@: |
127 | @@: |
128 | ;###################################################################### |
128 | ;###################################################################### |
129 | 129 | ||
130 | call FillIconsOffs |
130 | call FillIconsOffs |
131 | 131 | ||
132 | mcall 40,0110000b |
132 | mcall 40,0110000b |
133 | 133 | ||
134 | mov eax,[icon_count] |
134 | mov eax,[icon_count] |
135 | mov bl,ICONS_DRAW_COUNTH |
135 | mov bl,ICONS_DRAW_COUNTH |
136 | div bl |
136 | div bl |
137 | test ah,ah |
137 | test ah,ah |
138 | jz @f |
138 | jz @f |
139 | inc al |
139 | inc al |
140 | @@: |
140 | @@: |
141 | and eax,0FFh |
141 | and eax,0FFh |
142 | mov [sbIcons.max_area],eax |
142 | mov [sbIcons.max_area],eax |
143 | 143 | ||
144 | ; int3 |
144 | ; int3 |
145 | ; mov eax,1 |
145 | ; mov eax,1 |
146 | ; mov eax,[IconsOffs+eax*4] |
146 | ; mov eax,[IconsOffs+eax*4] |
147 | ; stdcall [ini_del_section],IconIni,eax |
147 | ; stdcall [ini_del_section],IconIni,eax |
148 | ; ret |
148 | ; ret |
149 | jmp MSGRedrawIcons |
149 | jmp MSGRedrawIcons |
150 | 150 | ||
151 | messages: |
151 | messages: |
152 | mcall 10 |
152 | mcall 10 |
153 | sub eax,5 |
153 | sub eax,5 |
154 | jz MSGRedrawIcons |
154 | jz MSGRedrawIcons |
155 | dec eax |
155 | dec eax |
156 | jz MSGMouse |
156 | jz MSGMouse |
157 | 157 | ||
158 | jmp messages |
158 | jmp messages |
159 | 159 | ||
160 | MSGRedrawIcons: |
160 | MSGRedrawIcons: |
161 | 161 | ||
162 | mcall 48,5 |
162 | mcall 48,5 |
163 | mov dx,ax |
163 | mov dx,ax |
164 | shr eax,16 |
164 | shr eax,16 |
165 | sub dx,ax |
165 | sub dx,ax |
166 | mov [ScreenX],dx |
166 | mov [ScreenX],dx |
167 | mov ax,bx |
167 | mov ax,bx |
168 | shr ebx,16 |
168 | shr ebx,16 |
169 | sub ax,bx |
169 | sub ax,bx |
170 | mov [ScreenY],ax |
170 | mov [ScreenY],ax |
171 | 171 | ||
172 | mov ecx,[MaxNumIcon] |
172 | mov ecx,[MaxNumIcon] |
173 | test ecx,ecx |
173 | test ecx,ecx |
174 | jz .NoDraw |
174 | jz .NoDraw |
175 | xor ebx,ebx |
175 | xor ebx,ebx |
176 | @@: push ecx |
176 | @@: push ecx |
177 | stdcall DrawIcon,ebx,0 |
177 | stdcall DrawIcon,ebx,0 |
178 | inc ebx |
178 | inc ebx |
179 | pop ecx |
179 | pop ecx |
180 | loop @b |
180 | loop @b |
181 | .NoDraw: |
181 | .NoDraw: |
182 | jmp messages |
182 | jmp messages |
183 | 183 | ||
184 | MSGMouse: |
184 | MSGMouse: |
185 | mcall 37,0 ;GetMousePos |
185 | mcall 37,0 ;GetMousePos |
186 | xor ebx,ebx |
186 | xor ebx,ebx |
187 | mov bx,ax |
187 | mov bx,ax |
188 | shr eax,16 |
188 | shr eax,16 |
189 | mov ecx,ebx |
189 | mov ecx,ebx |
190 | mov ebx,eax |
190 | mov ebx,eax |
191 | 191 | ||
192 | mcall 34 |
192 | mcall 34 |
193 | cmp eax,1 |
193 | cmp eax,1 |
194 | jne messages |
194 | jne messages |
195 | 195 | ||
196 | cmp [RButtonActiv],1 |
196 | cmp [RButtonActiv],1 |
197 | je messages |
197 | je messages |
198 | 198 | ||
199 | mov [MouseY],ecx |
199 | mov [MouseY],ecx |
200 | mov [MouseX],ebx |
200 | mov [MouseX],ebx |
201 | 201 | ||
202 | 202 | ||
203 | mcall 37,2 |
203 | mcall 37,2 |
204 | test al,001b |
204 | test al,001b |
205 | jnz LButtonPress |
205 | jnz LButtonPress |
206 | test al,010b |
206 | test al,010b |
207 | jnz RButtonPress |
207 | jnz RButtonPress |
208 | jmp messages |
208 | jmp messages |
209 | 209 | ||
210 | ErrLoadLibs: |
210 | ErrLoadLibs: |
211 | ;dps '¥ 㤠«®áì § £à㧨âì ¥®¡å®¤¨¬ë¥ ¡¨¡«¨®â¥ª¨' |
211 | ;dps '¥ 㤠«®áì § £à㧨âì ¥®¡å®¤¨¬ë¥ ¡¨¡«¨®â¥ª¨' |
212 | ;debug_newline |
212 | ;debug_newline |
213 | jmp close |
213 | jmp close |
214 | ErrorStrp: |
214 | ErrorStrp: |
215 | ;dps '訡ª ®âªàëâ¨ï iconstrp.png' |
215 | ;dps '訡ª ®âªàëâ¨ï iconstrp.png' |
216 | ;debug_newline |
216 | ;debug_newline |
217 | close: |
217 | close: |
218 | mcall -1 |
218 | mcall -1 |
219 | 219 | ||
220 | LButtonPress: |
220 | LButtonPress: |
221 | stdcall GetNumIcon,[MouseX],[MouseY],-1 |
221 | stdcall GetNumIcon,[MouseX],[MouseY],-1 |
222 | ;int3 |
222 | ;int3 |
223 | cmp eax,-1 |
223 | cmp eax,-1 |
224 | jnz @f |
224 | jnz @f |
225 | 225 | ||
226 | WaitLB1: |
226 | WaitLB1: |
227 | mcall 37,2 |
227 | mcall 37,2 |
228 | test al,001b |
228 | test al,001b |
229 | jz messages |
229 | jz messages |
230 | ;Yield |
230 | ;Yield |
231 | mcall 5,1 |
231 | mcall 5,1 |
232 | jmp WaitLB1 |
232 | jmp WaitLB1 |
233 | 233 | ||
234 | 234 | ||
235 | @@: |
235 | @@: |
236 | push eax |
236 | push eax |
237 | stdcall DrawIcon,eax,1 |
237 | stdcall DrawIcon,eax,1 |
238 | WaitLB: |
238 | WaitLB: |
239 | mcall 37,2 |
239 | mcall 37,2 |
240 | test al,001b |
240 | test al,001b |
241 | jz endWaitLB |
241 | jz endWaitLB |
242 | 242 | ||
243 | mcall 37,0 |
243 | mcall 37,0 |
244 | xor ebx,ebx |
244 | xor ebx,ebx |
245 | mov bx,ax |
245 | mov bx,ax |
246 | shr eax,16 |
246 | shr eax,16 |
247 | sub eax,[MouseX] |
247 | sub eax,[MouseX] |
248 | jns @f |
248 | jns @f |
249 | neg eax |
249 | neg eax |
250 | @@: |
250 | @@: |
251 | sub ebx,[MouseY] |
251 | sub ebx,[MouseY] |
252 | jns @f |
252 | jns @f |
253 | neg ebx |
253 | neg ebx |
254 | @@: |
254 | @@: |
255 | cmp [bFixIcons],0 |
255 | cmp [bFixIcons],0 |
256 | jne @f |
256 | jne @f |
257 | cmp eax,MIN_NO_MOVING |
257 | cmp eax,MIN_NO_MOVING |
258 | ja MovingIcon |
258 | ja MovingIcon |
259 | cmp ebx,MIN_NO_MOVING |
259 | cmp ebx,MIN_NO_MOVING |
260 | ja MovingIcon |
260 | ja MovingIcon |
261 | @@: |
261 | @@: |
262 | ;Yield |
262 | ;Yield |
263 | mcall 5,1 ;Sleep 1 |
263 | mcall 5,1 ;Sleep 1 |
264 | jmp WaitLB |
264 | jmp WaitLB |
265 | endWaitLB: |
265 | endWaitLB: |
266 | 266 | ||
267 | mcall 37,0 |
267 | mcall 37,0 |
268 | xor ebx,ebx |
268 | xor ebx,ebx |
269 | mov bx,ax |
269 | mov bx,ax |
270 | shr eax,16 |
270 | shr eax,16 |
271 | mov ecx,ebx |
271 | mov ecx,ebx |
272 | mov ebx,eax |
272 | mov ebx,eax |
273 | mov [MouseX],ebx |
273 | mov [MouseX],ebx |
274 | mov [MouseY],ecx |
274 | mov [MouseY],ecx |
275 | 275 | ||
276 | stdcall GetNumIcon,[MouseX],[MouseY],-1 |
276 | stdcall GetNumIcon,[MouseX],[MouseY],-1 |
277 | cmp eax,[esp] ;[esp] = ®¬¥à ¨ª®ª¨ |
277 | cmp eax,[esp] ;[esp] = ®¬¥à ¨ª®ª¨ |
278 | jne @f |
278 | jne @f |
279 | 279 | ||
280 | mov edi,[IconsOffs+eax*4] |
280 | mov edi,[IconsOffs+eax*4] |
281 | or ecx,-1 |
281 | or ecx,-1 |
282 | xor al,al |
282 | xor al,al |
283 | repne scasb |
283 | repne scasb |
284 | mov ebx,edi |
284 | mov ebx,edi |
285 | repne scasb |
285 | repne scasb |
286 | ;run program |
286 | ;run program |
287 | mov dword[fiRunProg+8],edi |
287 | mov dword[fiRunProg+8],edi |
288 | mov dword[fiRunProg+21],ebx |
288 | mov dword[fiRunProg+21],ebx |
289 | mcall 70,fiRunProg |
289 | mcall 70,fiRunProg |
290 | test eax,80000000h |
290 | test eax,80000000h |
291 | jz @f |
291 | jz @f |
292 | 292 | ||
293 | mov dword[fiRunProg+8],ErrRunProg |
293 | mov dword[fiRunProg+8],ErrRunProg |
294 | mov dword[fiRunProg+21],pthNotify |
294 | mov dword[fiRunProg+21],pthNotify |
295 | mcall 70,fiRunProg |
295 | mcall 70,fiRunProg |
296 | 296 | ||
297 | @@: |
297 | @@: |
298 | pop eax |
298 | pop eax |
299 | stdcall RestoreBackgrnd,eax |
299 | stdcall RestoreBackgrnd,eax |
300 | jmp messages |
300 | jmp messages |
301 | 301 | ||
302 | ;------------------------------------------------------------------------------- |
302 | ;------------------------------------------------------------------------------- |
303 | MovingIcon: |
303 | MovingIcon: |
304 | stdcall GetNumIcon,[MouseX],[MouseY],-1 |
304 | stdcall GetNumIcon,[MouseX],[MouseY],-1 |
305 | mov [SelIcon],eax |
305 | mov [SelIcon],eax |
306 | stdcall RestoreBackgrnd,[SelIcon] |
306 | stdcall RestoreBackgrnd,[SelIcon] |
307 | 307 | ||
308 | ; mov ecx,[MaxNumIcon] |
308 | ; mov ecx,[MaxNumIcon] |
309 | ; xor ebx,ebx |
309 | ; xor ebx,ebx |
310 | ; .MI: push ecx |
310 | ; .MI: push ecx |
311 | ; cmp ebx,[SelIcon] |
311 | ; cmp ebx,[SelIcon] |
312 | ; je @f |
312 | ; je @f |
313 | ; stdcall DrawIcon,ebx,0 |
313 | ; stdcall DrawIcon,ebx,0 |
314 | ; @@: |
314 | ; @@: |
315 | ; inc ebx |
315 | ; inc ebx |
316 | ; pop ecx |
316 | ; pop ecx |
317 | ; loop .MI |
317 | ; loop .MI |
318 | 318 | ||
319 | 319 | ||
320 | 320 | ||
321 | ;dps 'Moving' |
321 | ;dps 'Moving' |
322 | ;debug_newline |
322 | ;debug_newline |
323 | ; mov edi,[SelIcon] |
323 | ; mov edi,[SelIcon] |
324 | ; mov edi,[IconsOffs+edi*4] |
324 | ; mov edi,[IconsOffs+edi*4] |
325 | ; or ecx,-1 |
325 | ; or ecx,-1 |
326 | ; xor al,al |
326 | ; xor al,al |
327 | ; repne scasb |
327 | ; repne scasb |
328 | ; repne scasb |
328 | ; repne scasb |
329 | ; repne scasb |
329 | ; repne scasb |
330 | ; repne scasb |
330 | ; repne scasb |
331 | ; xor ebx,ebx |
331 | ; xor ebx,ebx |
332 | ; xor esi,esi |
332 | ; xor esi,esi |
333 | ; mov bx,word[edi+2] |
333 | ; mov bx,word[edi+2] |
334 | ; mov si,word[edi] |
334 | ; mov si,word[edi] |
335 | ; stdcall GetNumIcon,ebx,esi,[SelIcon] |
335 | ; stdcall GetNumIcon,ebx,esi,[SelIcon] |
336 | ; cmp eax,-1 |
336 | ; cmp eax,-1 |
337 | ; je @f |
337 | ; je @f |
338 | ; dps 'Q' |
338 | ; dps 'Q' |
339 | ; stdcall DrawIcon,eax,0 |
339 | ; stdcall DrawIcon,eax,0 |
340 | ; @@: |
340 | ; @@: |
341 | ; |
341 | ; |
342 | ; add ebx,ICON_SIZE-1 |
342 | ; add ebx,ICON_SIZE-1 |
343 | ; stdcall GetNumIcon,ebx,esi,[SelIcon] |
343 | ; stdcall GetNumIcon,ebx,esi,[SelIcon] |
344 | ; cmp eax,-1 |
344 | ; cmp eax,-1 |
345 | ; je @f |
345 | ; je @f |
346 | ; dps 'Q' |
346 | ; dps 'Q' |
347 | ; stdcall DrawIcon,eax,0 |
347 | ; stdcall DrawIcon,eax,0 |
348 | ; |
348 | ; |
349 | ; @@: |
349 | ; @@: |
350 | ; add esi,ICON_SIZE-1 |
350 | ; add esi,ICON_SIZE-1 |
351 | ; stdcall GetNumIcon,ebx,esi,[SelIcon] |
351 | ; stdcall GetNumIcon,ebx,esi,[SelIcon] |
352 | ; cmp eax,-1 |
352 | ; cmp eax,-1 |
353 | ; je @f |
353 | ; je @f |
354 | ; dps 'Q' |
354 | ; dps 'Q' |
355 | ; stdcall DrawIcon,eax,0 |
355 | ; stdcall DrawIcon,eax,0 |
356 | ; |
356 | ; |
357 | ; @@: |
357 | ; @@: |
358 | ; sub ebx,ICON_SIZE-1 |
358 | ; sub ebx,ICON_SIZE-1 |
359 | ; stdcall GetNumIcon,ebx,esi,[SelIcon] |
359 | ; stdcall GetNumIcon,ebx,esi,[SelIcon] |
360 | ; cmp eax,-1 |
360 | ; cmp eax,-1 |
361 | ; je @f |
361 | ; je @f |
362 | ; dps 'Q' |
362 | ; dps 'Q' |
363 | ; stdcall DrawIcon,eax,0 |
363 | ; stdcall DrawIcon,eax,0 |
364 | ; @@: |
364 | ; @@: |
365 | 365 | ||
366 | 366 | ||
367 | ; Sleep 40 |
367 | ; Sleep 40 |
368 | 368 | ||
369 | ;qweqwe: |
369 | ;qweqwe: |
370 | 370 | ||
371 | mov [MovingActiv],1 |
371 | mov [MovingActiv],1 |
372 | mcall 51,1,MovingWnd,stack_dlg ;CreateThread MovingWnd,stack_dlg |
372 | mcall 51,1,MovingWnd,stack_dlg ;CreateThread MovingWnd,stack_dlg |
373 | .WaitLB: |
373 | .WaitLB: |
374 | mcall 37,2 ;GetMouseKey |
374 | mcall 37,2 ;GetMouseKey |
375 | test al,001b |
375 | test al,001b |
376 | jz .endWaitLB |
376 | jz .endWaitLB |
377 | 377 | ||
378 | ;Yield |
378 | ;Yield |
379 | mcall 5,1 ;Sleep 1 |
379 | mcall 5,1 ;Sleep 1 |
380 | jmp .WaitLB |
380 | jmp .WaitLB |
381 | .endWaitLB: |
381 | .endWaitLB: |
382 | mov [MovingActiv],0 |
382 | mov [MovingActiv],0 |
383 | 383 | ||
384 | mcall 37,0 ;GetMousePos |
384 | mcall 37,0 ;GetMousePos |
385 | xor ebx,ebx |
385 | xor ebx,ebx |
386 | mov bx,ax |
386 | mov bx,ax |
387 | shr eax,16 |
387 | shr eax,16 |
388 | 388 | ||
389 | add ebx,7 |
389 | add ebx,7 |
390 | dec eax |
390 | dec eax |
391 | 391 | ||
392 | sub eax,ICON_SIZE/2 |
392 | sub eax,ICON_SIZE/2 |
393 | jns @f |
393 | jns @f |
394 | xor eax,eax |
394 | xor eax,eax |
395 | @@: |
395 | @@: |
396 | sub ebx,ICON_SIZE/2 |
396 | sub ebx,ICON_SIZE/2 |
397 | jns @f |
397 | jns @f |
398 | xor ebx,ebx |
398 | xor ebx,ebx |
399 | @@: |
399 | @@: |
400 | 400 | ||
401 | movzx edx,[ScreenX] |
401 | movzx edx,[ScreenX] |
402 | sub edx,ICON_SIZE |
402 | sub edx,ICON_SIZE |
403 | cmp eax,edx |
403 | cmp eax,edx |
404 | jbe @f |
404 | jbe @f |
405 | mov eax,edx |
405 | mov eax,edx |
406 | @@: |
406 | @@: |
407 | 407 | ||
408 | movzx edx,[ScreenY] |
408 | movzx edx,[ScreenY] |
409 | sub edx,ICON_SIZE |
409 | sub edx,ICON_SIZE |
410 | cmp ebx,edx |
410 | cmp ebx,edx |
411 | jbe @f |
411 | jbe @f |
412 | mov ebx,edx |
412 | mov ebx,edx |
413 | @@: |
413 | @@: |
414 | 414 | ||
415 | xor edx,edx |
415 | xor edx,edx |
416 | mov dx,[ScreenX] |
416 | mov dx,[ScreenX] |
417 | shr edx,1 |
417 | shr edx,1 |
418 | cmp eax,edx |
418 | cmp eax,edx |
419 | jbe @f |
419 | jbe @f |
420 | sub ax,[ScreenX] |
420 | sub ax,[ScreenX] |
421 | inc ax |
421 | inc ax |
422 | @@: |
422 | @@: |
423 | 423 | ||
424 | xor edx,edx |
424 | xor edx,edx |
425 | mov dx,[ScreenY] |
425 | mov dx,[ScreenY] |
426 | shr edx,1 |
426 | shr edx,1 |
427 | cmp ebx,edx |
427 | cmp ebx,edx |
428 | jbe @f |
428 | jbe @f |
429 | sub bx,[ScreenY] |
429 | sub bx,[ScreenY] |
430 | inc bx |
430 | inc bx |
431 | @@: |
431 | @@: |
432 | 432 | ||
433 | stdcall SetPosition,[SelIcon],eax,ebx |
433 | stdcall SetPosition,[SelIcon],eax,ebx |
434 | mcall 15,3 |
434 | mcall 15,3 |
435 | 435 | ||
436 | m2m [PIcoDB],[BegData] |
436 | m2m [PIcoDB],[BegData] |
437 | stdcall [ini_enum_sections],IconIni,Ini_SavePos ;in RButton.inc |
437 | stdcall [ini_enum_sections],IconIni,Ini_SavePos ;in RButton.inc |
438 | 438 | ||
439 | ; mov dword[fInfo],2 |
439 | ; mov dword[fInfo],2 |
440 | ; mcall 70,fInfo |
440 | ; mcall 70,fInfo |
441 | 441 | ||
442 | mov [bNotSave],1 |
442 | mov [bNotSave],1 |
443 | 443 | ||
444 | jmp messages |
444 | jmp messages |
445 | 445 | ||
446 | ;------------------------------------------------------------------------------- |
446 | ;------------------------------------------------------------------------------- |
447 | 447 | ||
448 | RButtonPress: |
448 | RButtonPress: |
449 | cmp [RButtonActiv],1 |
449 | cmp [RButtonActiv],1 |
450 | je messages |
450 | je messages |
451 | mov [RButtonActiv],1 |
451 | mov [RButtonActiv],1 |
452 | 452 | ||
453 | @@: |
453 | @@: |
454 | mcall 37,2 ;GetMouseKey |
454 | mcall 37,2 ;GetMouseKey |
455 | test al,010b |
455 | test al,010b |
456 | jz @f |
456 | jz @f |
457 | mcall 5,1 ;Yield |
457 | mcall 5,1 ;Yield |
458 | jmp @b |
458 | jmp @b |
459 | @@: |
459 | @@: |
460 | 460 | ||
461 | mcall 51,1,RButtonWin,stack_dlg ;CreateThread RButtonWin,stack_dlg |
461 | mcall 51,1,RButtonWin,stack_dlg ;CreateThread RButtonWin,stack_dlg |
462 | 462 | ||
463 | jmp messages |
463 | jmp messages |
464 | 464 | ||
465 | 465 | ||
466 | ;############################################################################### |
466 | ;############################################################################### |
467 | ;ret eax = 1/0 = 㤠ç /®è¨¡ª |
467 | ;ret eax = 1/0 = 㤠ç /®è¨¡ª |
468 | proc DrawIcon NumIcon:DWORD,Activ:DWORD ;NumIcon = 0..n |
468 | proc DrawIcon NumIcon:DWORD,Activ:DWORD ;NumIcon = 0..n |
469 | local IconData:DWORD |
469 | local IconData:DWORD |
470 | ; int3 |
470 | ; int3 |
471 | push ebx edi esi |
471 | push ebx edi esi |
472 | 472 | ||
473 | mov ecx,ICON_SIZE*ICON_SIZE |
473 | mov ecx,ICON_SIZE*ICON_SIZE |
474 | xor eax,eax |
474 | xor eax,eax |
475 | ;mov eax,0FFFFFFFh |
475 | ;mov eax,0FFFFFFFh |
476 | mov edi,IconArea |
476 | mov edi,IconArea |
477 | rep stosd |
477 | rep stosd |
478 | 478 | ||
479 | mov eax,[NumIcon] |
479 | mov eax,[NumIcon] |
480 | cmp eax,[MaxNumIcon] |
480 | cmp eax,[MaxNumIcon] |
481 | jb @f |
481 | jb @f |
482 | xor eax,eax |
482 | xor eax,eax |
483 | pop esi edi ebx |
483 | pop esi edi ebx |
484 | ret |
484 | ret |
485 | @@: |
485 | @@: |
486 | 486 | ||
487 | mov esi,[IconsOffs+eax*4] |
487 | mov esi,[IconsOffs+eax*4] |
488 | mov [IconData],esi |
488 | mov [IconData],esi |
489 | 489 | ||
490 | ;à¨á㥬 ⥪áâ |
490 | ;à¨á㥬 ⥪áâ |
491 | mov edi,esi |
491 | mov edi,esi |
492 | xor al,al |
492 | xor al,al |
493 | or ecx,-1 |
493 | or ecx,-1 |
494 | repne scasb |
494 | repne scasb |
495 | mov edx,esi |
495 | mov edx,esi |
496 | mov eax,edi |
496 | mov eax,edi |
497 | sub eax,esi |
497 | sub eax,esi |
498 | dec eax |
498 | dec eax |
499 | shl eax,1 ;*6 |
499 | shl eax,1 ;*6 |
500 | lea eax,[eax*2+eax] |
500 | lea eax,[eax*2+eax] |
501 | mov ebx,ICON_SIZE |
501 | mov ebx,ICON_SIZE |
502 | sub ebx,eax |
502 | sub ebx,eax |
503 | shr ebx,1 ;ebx = x ⥪áâ |
503 | shr ebx,1 ;ebx = x ⥪áâ |
504 | shl ebx,16 |
504 | shl ebx,16 |
505 | mov bx,ICON_SIZE |
505 | mov bx,ICON_SIZE |
506 | sub bx,TEXT_BOTTOM_Y |
506 | sub bx,TEXT_BOTTOM_Y |
507 | mov ecx,88000000h |
507 | mov ecx,88000000h |
508 | mov edi,IconAreaH |
508 | mov edi,IconAreaH |
509 | add ebx,-1*10000h+0 |
509 | add ebx,-1*10000h+0 |
510 | mcall 4 |
510 | mcall 4 |
511 | add ebx,2*10000h+0 |
511 | add ebx,2*10000h+0 |
512 | mcall 4 |
512 | mcall 4 |
513 | add ebx,-1*10000h-1 |
513 | add ebx,-1*10000h-1 |
514 | mcall 4 |
514 | mcall 4 |
515 | add ebx,0*10000h+2 |
515 | add ebx,0*10000h+2 |
516 | mcall 4 |
516 | mcall 4 |
517 | add ebx,1*10000h+0 |
517 | add ebx,1*10000h+0 |
518 | mcall 4 |
518 | mcall 4 |
519 | add ebx,0*10000h+1 |
519 | add ebx,0*10000h+1 |
520 | mcall 4 |
520 | mcall 4 |
521 | add ebx,-1*10000h+0 |
521 | add ebx,-1*10000h+0 |
522 | mcall 4 |
522 | mcall 4 |
523 | add ebx,0*10000h-2 |
523 | add ebx,0*10000h-2 |
524 | mov ecx,88FFFFFFh |
524 | mov ecx,88FFFFFFh |
525 | mcall 4 |
525 | mcall 4 |
526 | ;à¨á㥬 ª à⨪ã |
526 | ;à¨á㥬 ª à⨪ã |
527 | 527 | ||
528 | mov edi,esi |
528 | mov edi,esi |
529 | xor al,al |
529 | xor al,al |
530 | or ecx,-1 |
530 | or ecx,-1 |
531 | repne scasb |
531 | repne scasb |
532 | repne scasb |
532 | repne scasb |
533 | repne scasb |
533 | repne scasb |
534 | mov al,[edi] |
534 | mov al,[edi] |
535 | cmp al,'9' |
535 | cmp al,'9' |
536 | ja PathToIcon |
536 | ja PathToIcon |
537 | cmp al,'/' |
537 | cmp al,'/' |
538 | jne GetIconInd |
538 | jne GetIconInd |
539 | 539 | ||
540 | PathToIcon: |
540 | PathToIcon: |
541 | ;stdcall LoadIcon,edi |
541 | ;stdcall LoadIcon,edi |
542 | ;mov esi,eax |
542 | ;mov esi,eax |
543 | mov al,30h ;§ £«ãèª !!!!!!!!!!!!! |
543 | mov al,30h ;§ £«ãèª !!!!!!!!!!!!! |
544 | mov byte[edi+1],0 |
544 | mov byte[edi+1],0 |
545 | 545 | ||
546 | jmp CopyToMem |
546 | jmp CopyToMem |
547 | GetIconInd: |
547 | GetIconInd: |
548 | 548 | ||
549 | sub al,30h |
549 | sub al,30h |
550 | cmp byte[edi+1],0 |
550 | cmp byte[edi+1],0 |
551 | je @f |
551 | je @f |
552 | shl eax,1 |
552 | shl eax,1 |
553 | lea eax,[eax*4+eax] |
553 | lea eax,[eax*4+eax] |
554 | xor edx,edx |
554 | xor edx,edx |
555 | mov dl,[edi+1] |
555 | mov dl,[edi+1] |
556 | sub dl,30h |
556 | sub dl,30h |
557 | add eax,edx |
557 | add eax,edx |
558 | @@: ;eax=num icon |
558 | @@: ;eax=num icon |
559 | cmp eax,[icon_count] |
559 | cmp eax,[icon_count] |
560 | jb @f |
560 | jb @f |
561 | xor eax,eax |
561 | xor eax,eax |
562 | @@: |
562 | @@: |
563 | test eax,eax |
563 | test eax,eax |
564 | je DI1 |
564 | je DI1 |
565 | mov ecx,eax |
565 | mov ecx,eax |
566 | xor eax,eax |
566 | xor eax,eax |
567 | @@: |
567 | @@: |
568 | add eax,IMG_SIZE*IMG_SIZE*4 |
568 | add eax,IMG_SIZE*IMG_SIZE*4 |
569 | loop @b |
569 | loop @b |
570 | DI1: |
570 | DI1: |
571 | mov esi,eax |
571 | mov esi,eax |
572 | add esi,[raw_pointer] |
572 | add esi,[raw_pointer] |
573 | add esi,0+4*11 |
573 | add esi,0+4*11 |
574 | 574 | ||
575 | CopyToMem: |
575 | CopyToMem: |
576 | mov edi,IconArea+((IMAGE_TOP_Y*ICON_SIZE)+((ICON_SIZE-IMG_SIZE)/2))*4 |
576 | mov edi,IconArea+((IMAGE_TOP_Y*ICON_SIZE)+((ICON_SIZE-IMG_SIZE)/2))*4 |
577 | 577 | ||
578 | mov eax,IMG_SIZE |
578 | mov eax,IMG_SIZE |
579 | mov edx,eax |
579 | mov edx,eax |
580 | @@: |
580 | @@: |
581 | mov ecx,eax |
581 | mov ecx,eax |
582 | rep movsd |
582 | rep movsd |
583 | add edi,(ICON_SIZE-IMG_SIZE)*4 |
583 | add edi,(ICON_SIZE-IMG_SIZE)*4 |
584 | dec edx |
584 | dec edx |
585 | jnz @b |
585 | jnz @b |
586 | 586 | ||
587 | ;----------------- |
587 | ;----------------- |
588 | ;¥á«¨ ¤®, â® à¨á㥬 ®¡¢®¤ªã |
588 | ;¥á«¨ ¤®, â® à¨á㥬 ®¡¢®¤ªã |
589 | cmp [Activ],0 |
589 | cmp [Activ],0 |
590 | je .NoSelect |
590 | je .NoSelect |
591 | 591 | ||
592 | mov edi,IconArea |
592 | mov edi,IconArea |
593 | mov eax,0FF000000h |
593 | mov eax,0FF000000h |
594 | mov ecx,ICON_SIZE |
594 | mov ecx,ICON_SIZE |
595 | rep stosd |
595 | rep stosd |
596 | ;mov edi,IconArea+ICON_SIZE*1 |
596 | ;mov edi,IconArea+ICON_SIZE*1 |
597 | 597 | ||
598 | mov ecx,ICON_SIZE-1 |
598 | mov ecx,ICON_SIZE-1 |
599 | @@: mov dword[edi],eax |
599 | @@: mov dword[edi],eax |
600 | add edi,(ICON_SIZE)*4 |
600 | add edi,(ICON_SIZE)*4 |
601 | loop @b |
601 | loop @b |
602 | 602 | ||
603 | mov edi,IconArea+ICON_SIZE*2*4-4 |
603 | mov edi,IconArea+ICON_SIZE*2*4-4 |
604 | mov ecx,ICON_SIZE-1 |
604 | mov ecx,ICON_SIZE-1 |
605 | @@: mov dword[edi],eax |
605 | @@: mov dword[edi],eax |
606 | add edi,(ICON_SIZE)*4 |
606 | add edi,(ICON_SIZE)*4 |
607 | loop @b |
607 | loop @b |
608 | 608 | ||
609 | mov edi,IconArea+ICON_SIZE*(ICON_SIZE-1)*4+4 |
609 | mov edi,IconArea+ICON_SIZE*(ICON_SIZE-1)*4+4 |
610 | mov ecx,ICON_SIZE-2 |
610 | mov ecx,ICON_SIZE-2 |
611 | rep stosd |
611 | rep stosd |
612 | 612 | ||
613 | 613 | ||
614 | mov edi,IconArea+ICON_SIZE*4+4 |
614 | mov edi,IconArea+ICON_SIZE*4+4 |
615 | mov eax,0FFFFFFFFh |
615 | mov eax,0FFFFFFFFh |
616 | mov ecx,ICON_SIZE-2 |
616 | mov ecx,ICON_SIZE-2 |
617 | rep stosd |
617 | rep stosd |
618 | 618 | ||
619 | mov edi,IconArea+ICON_SIZE*4+4 |
619 | mov edi,IconArea+ICON_SIZE*4+4 |
620 | mov ecx,ICON_SIZE-2 |
620 | mov ecx,ICON_SIZE-2 |
621 | @@: mov dword[edi],eax |
621 | @@: mov dword[edi],eax |
622 | add edi,(ICON_SIZE)*4 |
622 | add edi,(ICON_SIZE)*4 |
623 | loop @b |
623 | loop @b |
624 | 624 | ||
625 | mov edi,IconArea+ICON_SIZE*2*4-4*2 |
625 | mov edi,IconArea+ICON_SIZE*2*4-4*2 |
626 | mov ecx,ICON_SIZE-3 |
626 | mov ecx,ICON_SIZE-3 |
627 | @@: mov dword[edi],eax |
627 | @@: mov dword[edi],eax |
628 | add edi,(ICON_SIZE)*4 |
628 | add edi,(ICON_SIZE)*4 |
629 | loop @b |
629 | loop @b |
630 | 630 | ||
631 | mov edi,IconArea+ICON_SIZE*(ICON_SIZE-2)*4+4*2 |
631 | mov edi,IconArea+ICON_SIZE*(ICON_SIZE-2)*4+4*2 |
632 | mov ecx,ICON_SIZE-3 |
632 | mov ecx,ICON_SIZE-3 |
633 | rep stosd |
633 | rep stosd |
634 | ;-------------- |
634 | ;-------------- |
635 | 635 | ||
636 | .NoSelect: |
636 | .NoSelect: |
637 | mov edi,[IconData] |
637 | mov edi,[IconData] |
638 | xor al,al |
638 | xor al,al |
639 | or ecx,-1 |
639 | or ecx,-1 |
640 | repne scasb |
640 | repne scasb |
641 | repne scasb |
641 | repne scasb |
642 | repne scasb |
642 | repne scasb |
643 | repne scasb |
643 | repne scasb |
644 | mov edx,[edi] |
644 | mov edx,[edi] |
645 | 645 | ||
646 | test edx,00008000h |
646 | test edx,00008000h |
647 | jz @f |
647 | jz @f |
648 | add dx,[ScreenY] |
648 | add dx,[ScreenY] |
649 | @@: |
649 | @@: |
650 | test edx,80000000h |
650 | test edx,80000000h |
651 | jz @f |
651 | jz @f |
652 | rol edx,16 |
652 | rol edx,16 |
653 | add dx,[ScreenX] |
653 | add dx,[ScreenX] |
654 | rol edx,16 |
654 | rol edx,16 |
655 | @@: |
655 | @@: |
656 | 656 | ||
657 | mov ebx,IconArea |
657 | mov ebx,IconArea |
658 | mov ecx,ICON_SIZE*10000h+ICON_SIZE |
658 | mov ecx,ICON_SIZE*10000h+ICON_SIZE |
659 | mcall 25 |
659 | mcall 25 |
660 | 660 | ||
661 | ; mov eax,1 |
661 | ; mov eax,1 |
662 | pop esi edi ebx |
662 | pop esi edi ebx |
663 | ret |
663 | ret |
664 | endp |
664 | endp |
665 | 665 | ||
666 | 666 | ||
667 | 667 | ||
668 | proc RestoreBackgrnd,NumIcon:DWORD |
668 | proc RestoreBackgrnd,NumIcon:DWORD |
669 | push ebx edi |
669 | push ebx edi |
670 | mov eax,[NumIcon] |
670 | mov eax,[NumIcon] |
671 | cmp eax,[MaxNumIcon] |
671 | cmp eax,[MaxNumIcon] |
672 | jb @f |
672 | jb @f |
673 | xor eax,eax |
673 | xor eax,eax |
674 | pop edi ebx |
674 | pop edi ebx |
675 | ret |
675 | ret |
676 | @@: |
676 | @@: |
677 | 677 | ||
678 | mov edi,[IconsOffs+eax*4] |
678 | mov edi,[IconsOffs+eax*4] |
679 | xor al,al |
679 | xor al,al |
680 | or ecx,-1 |
680 | or ecx,-1 |
681 | repne scasb |
681 | repne scasb |
682 | repne scasb |
682 | repne scasb |
683 | repne scasb |
683 | repne scasb |
684 | repne scasb |
684 | repne scasb |
685 | 685 | ||
686 | mov ax,[edi+2] |
686 | mov ax,[edi+2] |
687 | test ax,8000h |
687 | test ax,8000h |
688 | jz @f |
688 | jz @f |
689 | add ax,[ScreenX] |
689 | add ax,[ScreenX] |
690 | @@: |
690 | @@: |
691 | 691 | ||
692 | mov bx,[edi] |
692 | mov bx,[edi] |
693 | test bx,8000h |
693 | test bx,8000h |
694 | jz @f |
694 | jz @f |
695 | add bx,[ScreenY] |
695 | add bx,[ScreenY] |
696 | @@: |
696 | @@: |
697 | 697 | ||
698 | mov cx,ax |
698 | mov cx,ax |
699 | shl ecx,16 |
699 | shl ecx,16 |
700 | add ax,ICON_SIZE |
700 | add ax,ICON_SIZE |
701 | mov cx,ax |
701 | mov cx,ax |
702 | mov dx,bx |
702 | mov dx,bx |
703 | shl edx,16 |
703 | shl edx,16 |
704 | add bx,ICON_SIZE |
704 | add bx,ICON_SIZE |
705 | mov dx,bx |
705 | mov dx,bx |
706 | dec ecx |
706 | dec ecx |
707 | dec edx |
707 | dec edx |
708 | mcall 15,9 |
708 | mcall 15,9 |
709 | pop edi ebx |
709 | pop edi ebx |
710 | ret |
710 | ret |
711 | endp |
711 | endp |
712 | 712 | ||
713 | ;ret eax=numIcon |
713 | ;ret eax=numIcon |
714 | proc AddIcon stdcall,x,y,lpIcon,lpName,lpExeFile,lpParams |
714 | proc AddIcon stdcall,x,y,lpIcon,lpName,lpExeFile,lpParams |
715 | push ebx edi esi |
715 | push ebx edi esi |
716 | 716 | ||
717 | mov eax,[x] |
717 | mov eax,[x] |
718 | mov ebx,[y] |
718 | mov ebx,[y] |
719 | 719 | ||
720 | xor edx,edx |
720 | xor edx,edx |
721 | test eax,8000h |
721 | test eax,8000h |
722 | jnz @f |
722 | jnz @f |
723 | mov dx,[ScreenX] ;¥á«¨ ¤®, â® ¯à¥®¡à §®¢ë¢ ¥¬ ¢ |
723 | mov dx,[ScreenX] ;¥á«¨ ¤®, â® ¯à¥®¡à §®¢ë¢ ¥¬ ¢ |
724 | shr edx,1 ;®âà¨æ ⥫ìë¥ ª®®à¤¨ âë |
724 | shr edx,1 ;®âà¨æ ⥫ìë¥ ª®®à¤¨ âë |
725 | cmp eax,edx |
725 | cmp eax,edx |
726 | jbe @f |
726 | jbe @f |
727 | sub ax,[ScreenX] |
727 | sub ax,[ScreenX] |
728 | inc eax |
728 | inc eax |
729 | @@: |
729 | @@: |
730 | 730 | ||
731 | test ebx,8000h |
731 | test ebx,8000h |
732 | jnz @f |
732 | jnz @f |
733 | mov dx,[ScreenY] |
733 | mov dx,[ScreenY] |
734 | shr edx,1 |
734 | shr edx,1 |
735 | cmp ebx,edx |
735 | cmp ebx,edx |
736 | jbe @f |
736 | jbe @f |
737 | sub bx,[ScreenY] |
737 | sub bx,[ScreenY] |
738 | inc ebx |
738 | inc ebx |
739 | @@: |
739 | @@: |
740 | ;¯®¯à ¢ª á«ãç © ¢ë室 § ªà © íªà |
740 | ;¯®¯à ¢ª á«ãç © ¢ë室 § ªà © íªà |
741 | 741 | ||
742 | test eax,8000h |
742 | test eax,8000h |
743 | jnz @f |
743 | jnz @f |
744 | mov dx,[ScreenX] |
744 | mov dx,[ScreenX] |
745 | sub edx,ICON_SIZE |
745 | sub edx,ICON_SIZE |
746 | cmp eax,edx |
746 | cmp eax,edx |
747 | jbe @f |
747 | jbe @f |
748 | mov eax,edx |
748 | mov eax,edx |
749 | @@: |
749 | @@: |
750 | 750 | ||
751 | test ebx,8000h |
751 | test ebx,8000h |
752 | jnz @f |
752 | jnz @f |
753 | mov dx,[ScreenY] |
753 | mov dx,[ScreenY] |
754 | sub edx,ICON_SIZE |
754 | sub edx,ICON_SIZE |
755 | cmp ebx,edx |
755 | cmp ebx,edx |
756 | jbe @f |
756 | jbe @f |
757 | mov ebx,edx |
757 | mov ebx,edx |
758 | @@: |
758 | @@: |
759 | 759 | ||
760 | mov [x],eax |
760 | mov [x],eax |
761 | mov [y],ebx |
761 | mov [y],ebx |
762 | 762 | ||
763 | xor al,al |
763 | xor al,al |
764 | or ecx,-1 |
764 | or ecx,-1 |
765 | mov edi,[lpName] |
765 | mov edi,[lpName] |
766 | repne scasb |
766 | repne scasb |
767 | sub edi,[lpName] |
767 | sub edi,[lpName] |
768 | mov ebx,edi |
768 | mov ebx,edi |
769 | mov edi,[lpExeFile] |
769 | mov edi,[lpExeFile] |
770 | repne scasb |
770 | repne scasb |
771 | sub edi,[lpExeFile] |
771 | sub edi,[lpExeFile] |
772 | add ebx,edi |
772 | add ebx,edi |
773 | mov edi,[lpParams] |
773 | mov edi,[lpParams] |
774 | repne scasb |
774 | repne scasb |
775 | sub edi,[lpParams] |
775 | sub edi,[lpParams] |
776 | add ebx,edi |
776 | add ebx,edi |
777 | mov edi,[lpIcon] |
777 | mov edi,[lpIcon] |
778 | repne scasb |
778 | repne scasb |
779 | sub edi,[lpIcon] |
779 | sub edi,[lpIcon] |
780 | add ebx,edi |
780 | add ebx,edi |
781 | add ebx,4 |
781 | add ebx,4 |
782 | mov ecx,dword[SizeData] |
782 | mov ecx,dword[SizeData] |
783 | add ecx,ebx |
783 | add ecx,ebx |
784 | mov edx,[IconsOffs] |
784 | mov edx,[IconsOffs] |
785 | mcall 68,20 |
785 | mcall 68,20 |
786 | 786 | ||
787 | mov edx,dword[SizeData] |
787 | mov edx,dword[SizeData] |
788 | mov dword[SizeData],ecx |
788 | mov dword[SizeData],ecx |
789 | mov dword[BegData],eax |
789 | mov dword[BegData],eax |
790 | mov edi,eax |
790 | mov edi,eax |
791 | add edi,edx |
791 | add edi,edx |
792 | mov esi,[lpName] |
792 | mov esi,[lpName] |
793 | @@: lodsb |
793 | @@: lodsb |
794 | stosb |
794 | stosb |
795 | test al,al |
795 | test al,al |
796 | jnz @b |
796 | jnz @b |
797 | 797 | ||
798 | mov esi,[lpExeFile] |
798 | mov esi,[lpExeFile] |
799 | @@: lodsb |
799 | @@: lodsb |
800 | stosb |
800 | stosb |
801 | test al,al |
801 | test al,al |
802 | jnz @b |
802 | jnz @b |
803 | 803 | ||
804 | mov esi,[lpParams] |
804 | mov esi,[lpParams] |
805 | @@: lodsb |
805 | @@: lodsb |
806 | stosb |
806 | stosb |
807 | test al,al |
807 | test al,al |
808 | jnz @b |
808 | jnz @b |
809 | 809 | ||
810 | mov esi,[lpIcon] |
810 | mov esi,[lpIcon] |
811 | @@: lodsb |
811 | @@: lodsb |
812 | stosb |
812 | stosb |
813 | test al,al |
813 | test al,al |
814 | jnz @b |
814 | jnz @b |
815 | 815 | ||
816 | mov eax,[x] |
816 | mov eax,[x] |
817 | mov ebx,[y] |
817 | mov ebx,[y] |
818 | shl eax,16 |
818 | shl eax,16 |
819 | mov ax,bx |
819 | mov ax,bx |
820 | mov dword[edi],eax |
820 | mov dword[edi],eax |
821 | 821 | ||
822 | stdcall FillIconsOffs |
822 | stdcall FillIconsOffs |
823 | 823 | ||
824 | pop esi edi ebx |
824 | pop esi edi ebx |
825 | ret |
825 | ret |
826 | endp |
826 | endp |
827 | 827 | ||
828 | 828 | ||
829 | proc EditIcon stdcall,NumIcon,lpIcon,lpName,lpExeFile,lpParams |
829 | proc EditIcon stdcall,NumIcon,lpIcon,lpName,lpExeFile,lpParams |
830 | push edi |
830 | push edi |
831 | mov eax,[NumIcon] |
831 | mov eax,[NumIcon] |
832 | mov edi,[IconsOffs+eax*4] |
832 | mov edi,[IconsOffs+eax*4] |
833 | xor al,al |
833 | xor al,al |
834 | or ecx,-1 |
834 | or ecx,-1 |
835 | repne scasb |
835 | repne scasb |
836 | repne scasb |
836 | repne scasb |
837 | repne scasb |
837 | repne scasb |
838 | repne scasb |
838 | repne scasb |
839 | push dword[edi] |
839 | push dword[edi] |
840 | stdcall DelIcon,[NumIcon] |
840 | stdcall DelIcon,[NumIcon] |
841 | pop edx |
841 | pop edx |
842 | xor eax,eax |
842 | xor eax,eax |
843 | mov ax,dx |
843 | mov ax,dx |
844 | shr edx,16 |
844 | shr edx,16 |
845 | stdcall AddIcon,edx,eax,DAreaIcon,DAreaName,DAreaPath,DAreaParams |
845 | stdcall AddIcon,edx,eax,DAreaIcon,DAreaName,DAreaPath,DAreaParams |
846 | pop edi |
846 | pop edi |
847 | ret |
847 | ret |
848 | endp |
848 | endp |
849 | 849 | ||
850 | proc SetPosition stdcall,NumIcon,x,y |
850 | proc SetPosition stdcall,NumIcon,x,y |
851 | push edi |
851 | push edi |
852 | mov eax,[NumIcon] |
852 | mov eax,[NumIcon] |
853 | mov edi,[IconsOffs+eax*4] |
853 | mov edi,[IconsOffs+eax*4] |
854 | xor al,al |
854 | xor al,al |
855 | or ecx,-1 |
855 | or ecx,-1 |
856 | repne scasb |
856 | repne scasb |
857 | repne scasb |
857 | repne scasb |
858 | repne scasb |
858 | repne scasb |
859 | repne scasb |
859 | repne scasb |
860 | mov eax,[x] |
860 | mov eax,[x] |
861 | shl eax,16 |
861 | shl eax,16 |
862 | mov ax,word[y] |
862 | mov ax,word[y] |
863 | mov dword[edi],eax |
863 | mov dword[edi],eax |
864 | pop edi |
864 | pop edi |
865 | ret |
865 | ret |
866 | endp |
866 | endp |
867 | 867 | ||
868 | proc GetNumIcon stdcall,x,y,NumIconI ;®¬¥à ¨ª®ª¨, ª®â®àë© ¯à®¢¥àïâì ¥ ¤® ¨«¨ -1 |
868 | proc GetNumIcon stdcall,x,y,NumIconI ;®¬¥à ¨ª®ª¨, ª®â®àë© ¯à®¢¥àïâì ¥ ¤® ¨«¨ -1 |
869 | local posX:WORD,\ |
869 | local posX:WORD,\ |
870 | posY:WORD |
870 | posY:WORD |
871 | push ebx edi |
871 | push ebx edi |
872 | mov ecx,[MaxNumIcon] |
872 | mov ecx,[MaxNumIcon] |
873 | test ecx,ecx |
873 | test ecx,ecx |
874 | jnz @f |
874 | jnz @f |
875 | or eax,-1 |
875 | or eax,-1 |
876 | pop edi ebx |
876 | pop edi ebx |
877 | ret |
877 | ret |
878 | @@: |
878 | @@: |
879 | 879 | ||
880 | xor ebx,ebx |
880 | xor ebx,ebx |
881 | .TestIcon: |
881 | .TestIcon: |
882 | cmp dword[NumIconI],-1 |
882 | cmp dword[NumIconI],-1 |
883 | je @f |
883 | je @f |
884 | 884 | ||
885 | cmp ebx,[NumIconI] |
885 | cmp ebx,[NumIconI] |
886 | jne @f |
886 | jne @f |
887 | inc ebx |
887 | inc ebx |
888 | dec ecx |
888 | dec ecx |
889 | test ecx,ecx |
889 | test ecx,ecx |
890 | jz .NoIcon |
890 | jz .NoIcon |
891 | @@: |
891 | @@: |
892 | 892 | ||
893 | push ecx |
893 | push ecx |
894 | 894 | ||
895 | or ecx,-1 |
895 | or ecx,-1 |
896 | xor al,al |
896 | xor al,al |
897 | mov edi,[IconsOffs+ebx*4] |
897 | mov edi,[IconsOffs+ebx*4] |
898 | repne scasb |
898 | repne scasb |
899 | repne scasb |
899 | repne scasb |
900 | repne scasb |
900 | repne scasb |
901 | repne scasb |
901 | repne scasb |
902 | 902 | ||
903 | mov ax,[edi+2] |
903 | mov ax,[edi+2] |
904 | test ax,8000h |
904 | test ax,8000h |
905 | jz @f |
905 | jz @f |
906 | add ax,[ScreenX] |
906 | add ax,[ScreenX] |
907 | @@: |
907 | @@: |
908 | mov [posX],ax |
908 | mov [posX],ax |
909 | 909 | ||
910 | mov ax,[edi] |
910 | mov ax,[edi] |
911 | test ax,8000h |
911 | test ax,8000h |
912 | jz @f |
912 | jz @f |
913 | add ax,[ScreenY] |
913 | add ax,[ScreenY] |
914 | @@: |
914 | @@: |
915 | mov [posY],ax |
915 | mov [posY],ax |
916 | 916 | ||
917 | mov eax,[x] |
917 | mov eax,[x] |
918 | mov edx,[y] |
918 | mov edx,[y] |
919 | 919 | ||
920 | cmp ax,[posX] |
920 | cmp ax,[posX] |
921 | jb @f |
921 | jb @f |
922 | add word[posX],ICON_SIZE |
922 | add word[posX],ICON_SIZE |
923 | cmp ax,[posX] |
923 | cmp ax,[posX] |
924 | ja @f |
924 | ja @f |
925 | 925 | ||
926 | cmp dx,[posY] |
926 | cmp dx,[posY] |
927 | jb @f |
927 | jb @f |
928 | add word[posY],ICON_SIZE |
928 | add word[posY],ICON_SIZE |
929 | cmp dx,[posY] |
929 | cmp dx,[posY] |
930 | ja @f |
930 | ja @f |
931 | 931 | ||
932 | jmp .OkIcon |
932 | jmp .OkIcon |
933 | @@: |
933 | @@: |
934 | 934 | ||
935 | inc ebx |
935 | inc ebx |
936 | pop ecx |
936 | pop ecx |
937 | 937 | ||
938 | ;loop .TestIcon |
938 | ;loop .TestIcon |
939 | dec ecx |
939 | dec ecx |
940 | jnz .TestIcon |
940 | jnz .TestIcon |
941 | jmp .NoIcon |
941 | jmp .NoIcon |
942 | .OkIcon: |
942 | .OkIcon: |
943 | mov eax,ebx |
943 | mov eax,ebx |
944 | pop edi ebx |
944 | pop edi ebx |
945 | ret |
945 | ret |
946 | .NoIcon: |
946 | .NoIcon: |
947 | or eax,-1 |
947 | or eax,-1 |
948 | pop edi ebx |
948 | pop edi ebx |
949 | ret |
949 | ret |
950 | endp |
950 | endp |
951 | 951 | ||
952 | proc DelIcon stdcall,NumIcon |
952 | proc DelIcon stdcall,NumIcon |
953 | push ebx edi esi |
953 | push ebx edi esi |
954 | 954 | ||
955 | cmp [MaxNumIcon],0 |
955 | cmp [MaxNumIcon],0 |
956 | je .end |
956 | je .end |
957 | 957 | ||
958 | cmp [MaxNumIcon],1 |
958 | cmp [MaxNumIcon],1 |
959 | je .OhneIco |
959 | je .OhneIco |
960 | 960 | ||
961 | mov ebx,[NumIcon] |
961 | mov ebx,[NumIcon] |
962 | 962 | ||
963 | mov eax,[MaxNumIcon] |
963 | mov eax,[MaxNumIcon] |
964 | dec eax |
964 | dec eax |
965 | mov [MaxNumIcon],eax |
965 | mov [MaxNumIcon],eax |
966 | cmp ebx,eax |
966 | cmp ebx,eax |
967 | je @f |
967 | je @f |
968 | 968 | ||
969 | shl ebx,2 |
969 | shl ebx,2 |
970 | 970 | ||
971 | mov ecx,dword[BegData] |
971 | mov ecx,dword[BegData] |
972 | add ecx,dword[SizeData] |
972 | add ecx,dword[SizeData] |
973 | sub ecx,[IconsOffs+4+ebx] |
973 | sub ecx,[IconsOffs+4+ebx] |
974 | 974 | ||
975 | mov edx,[IconsOffs+4+ebx] |
975 | mov edx,[IconsOffs+4+ebx] |
976 | sub edx,[IconsOffs+ebx] |
976 | sub edx,[IconsOffs+ebx] |
977 | sub dword[SizeData],edx |
977 | sub dword[SizeData],edx |
978 | 978 | ||
979 | mov esi,[IconsOffs+4+ebx] |
979 | mov esi,[IconsOffs+4+ebx] |
980 | mov edi,[IconsOffs+ebx] |
980 | mov edi,[IconsOffs+ebx] |
981 | rep movsb |
981 | rep movsb |
982 | jmp .endDel |
982 | jmp .endDel |
983 | 983 | ||
984 | @@: |
984 | @@: |
985 | mov ecx,dword[BegData] |
985 | mov ecx,dword[BegData] |
986 | add ecx,dword[SizeData] |
986 | add ecx,dword[SizeData] |
987 | sub ecx,[IconsOffs+ebx*4] |
987 | sub ecx,[IconsOffs+ebx*4] |
988 | sub dword[SizeData],ecx |
988 | sub dword[SizeData],ecx |
989 | 989 | ||
990 | .endDel: |
990 | .endDel: |
991 | stdcall FillIconsOffs |
991 | stdcall FillIconsOffs |
992 | jmp .end |
992 | jmp .end |
993 | 993 | ||
994 | .OhneIco: |
994 | .OhneIco: |
995 | mov edi,[BegData] |
995 | mov edi,[BegData] |
996 | mov [SizeData],0 |
996 | mov [SizeData],0 |
997 | mov dword[edi],0 |
997 | mov dword[edi],0 |
998 | mov [MaxNumIcon],0 |
998 | mov [MaxNumIcon],0 |
999 | mov dword[IconsOffs],0 |
999 | mov dword[IconsOffs],0 |
1000 | .end: |
1000 | .end: |
1001 | mcall 15,3 |
1001 | mcall 15,3 |
1002 | pop esi edi ebx |
1002 | pop esi edi ebx |
1003 | ret |
1003 | ret |
1004 | endp |
1004 | endp |
1005 | ;§ ¯®«ï¥â MaxNumIcon,IconsOffs |
1005 | ;§ ¯®«ï¥â MaxNumIcon,IconsOffs |
1006 | proc FillIconsOffs |
1006 | proc FillIconsOffs |
1007 | push ebx edi |
1007 | push ebx edi |
1008 | mov edi,[BegData] |
1008 | mov edi,[BegData] |
1009 | mov dword[MaxNumIcon],0 |
1009 | mov dword[MaxNumIcon],0 |
1010 | cmp dword[edi],0 |
1010 | cmp dword[edi],0 |
1011 | jne @f |
1011 | jne @f |
1012 | mov dword[IconsOffs],0 |
1012 | mov dword[IconsOffs],0 |
1013 | pop edi ebx |
1013 | pop edi ebx |
1014 | ret |
1014 | ret |
1015 | @@: |
1015 | @@: |
1016 | 1016 | ||
1017 | mov [IconsOffs],edi |
1017 | mov [IconsOffs],edi |
1018 | xor al,al |
1018 | xor al,al |
1019 | xor edx,edx |
1019 | xor edx,edx |
1020 | mov ebx,dword[SizeData] |
1020 | mov ebx,dword[SizeData] |
1021 | add ebx,dword[BegData] |
1021 | add ebx,dword[BegData] |
1022 | or ecx,-1 |
1022 | or ecx,-1 |
1023 | .CalcNumIc: |
1023 | .CalcNumIc: |
1024 | repne scasb |
1024 | repne scasb |
1025 | repne scasb |
1025 | repne scasb |
1026 | repne scasb |
1026 | repne scasb |
1027 | repne scasb |
1027 | repne scasb |
1028 | add edi,4 |
1028 | add edi,4 |
1029 | mov dword[IconsOffs+edx+4],edi |
1029 | mov dword[IconsOffs+edx+4],edi |
1030 | inc dword[MaxNumIcon] |
1030 | inc dword[MaxNumIcon] |
1031 | add edx,4 |
1031 | add edx,4 |
1032 | 1032 | ||
1033 | cmp edi,ebx |
1033 | cmp edi,ebx |
1034 | jae @f |
1034 | jae @f |
1035 | jmp .CalcNumIc |
1035 | jmp .CalcNumIc |
1036 | @@: |
1036 | @@: |
1037 | 1037 | ||
1038 | mov dword[IconsOffs+edx],0 |
1038 | mov dword[IconsOffs+edx],0 |
1039 | pop edi ebx |
1039 | pop edi ebx |
1040 | ret |
1040 | ret |
1041 | endp |
1041 | endp |
1042 | 1042 | ||
1043 | proc LoadIconsData stdcall,f_name,sec_name |
1043 | proc LoadIconsData stdcall,f_name,sec_name |
1044 | push ebx esi edi |
1044 | push ebx esi edi |
1045 | 1045 | ||
1046 | mov edi,secRButt |
1046 | mov edi,secRButt |
1047 | mov esi,[sec_name] |
1047 | mov esi,[sec_name] |
1048 | @@: lodsb |
1048 | @@: lodsb |
1049 | scasb |
1049 | scasb |
1050 | jnz .lid1 |
1050 | jnz .lid1 |
1051 | test al,al |
1051 | test al,al |
1052 | jnz @b |
1052 | jnz @b |
1053 | 1053 | ||
1054 | mov eax,1 |
1054 | mov eax,1 |
1055 | pop edi esi ebx |
1055 | pop edi esi ebx |
1056 | ret |
1056 | ret |
1057 | .lid1: |
1057 | .lid1: |
1058 | 1058 | ||
1059 | mov edi,[PIcoDB] |
1059 | mov edi,[PIcoDB] |
1060 | mov esi,[sec_name] |
1060 | mov esi,[sec_name] |
1061 | @@: lodsb |
1061 | @@: lodsb |
1062 | stosb |
1062 | stosb |
1063 | test al,al |
1063 | test al,al |
1064 | jnz @b |
1064 | jnz @b |
1065 | 1065 | ||
1066 | stdcall [ini_get_str],[f_name],[sec_name],keyPath,edi,4096,0 |
1066 | stdcall [ini_get_str],[f_name],[sec_name],keyPath,edi,4096,0 |
1067 | test eax,eax |
1067 | test eax,eax |
1068 | jz @f |
1068 | jz @f |
1069 | xor eax,eax |
1069 | xor eax,eax |
1070 | pop edi esi ebx |
1070 | pop edi esi ebx |
1071 | ret |
1071 | ret |
1072 | @@: |
1072 | @@: |
1073 | xor al,al |
1073 | xor al,al |
1074 | or ecx,-1 |
1074 | or ecx,-1 |
1075 | repne scasb |
1075 | repne scasb |
1076 | 1076 | ||
1077 | stdcall [ini_get_str],[f_name],[sec_name],keyParams,edi,4096,0 |
1077 | stdcall [ini_get_str],[f_name],[sec_name],keyParams,edi,4096,0 |
1078 | test eax,eax |
1078 | test eax,eax |
1079 | jz @f |
1079 | jz @f |
1080 | xor eax,eax |
1080 | xor eax,eax |
1081 | pop edi esi ebx |
1081 | pop edi esi ebx |
1082 | ret |
1082 | ret |
1083 | @@: |
1083 | @@: |
1084 | xor al,al |
1084 | xor al,al |
1085 | or ecx,-1 |
1085 | or ecx,-1 |
1086 | repne scasb |
1086 | repne scasb |
1087 | 1087 | ||
1088 | stdcall [ini_get_str],[f_name],[sec_name],keyIco,edi,4096,0 |
1088 | stdcall [ini_get_str],[f_name],[sec_name],keyIco,edi,4096,0 |
1089 | test eax,eax |
1089 | test eax,eax |
1090 | jz @f |
1090 | jz @f |
1091 | xor eax,eax |
1091 | xor eax,eax |
1092 | pop edi esi ebx |
1092 | pop edi esi ebx |
1093 | ret |
1093 | ret |
1094 | @@: |
1094 | @@: |
1095 | xor al,al |
1095 | xor al,al |
1096 | or ecx,-1 |
1096 | or ecx,-1 |
1097 | repne scasb |
1097 | repne scasb |
1098 | 1098 | ||
1099 | stdcall [ini_get_int],[f_name],[sec_name],keyX,80000000h |
1099 | stdcall [ini_get_int],[f_name],[sec_name],keyX,80000000h |
1100 | cmp eax,80000000h |
1100 | cmp eax,80000000h |
1101 | jne @f |
1101 | jne @f |
1102 | xor eax,eax |
1102 | xor eax,eax |
1103 | pop edi esi ebx |
1103 | pop edi esi ebx |
1104 | ret |
1104 | ret |
1105 | @@: |
1105 | @@: |
1106 | mov word[edi+2],ax |
1106 | mov word[edi+2],ax |
1107 | 1107 | ||
1108 | stdcall [ini_get_int],[f_name],[sec_name],keyY,80000000h |
1108 | stdcall [ini_get_int],[f_name],[sec_name],keyY,80000000h |
1109 | cmp eax,80000000h |
1109 | cmp eax,80000000h |
1110 | jne @f |
1110 | jne @f |
1111 | xor eax,eax |
1111 | xor eax,eax |
1112 | pop edi esi ebx |
1112 | pop edi esi ebx |
1113 | ret |
1113 | ret |
1114 | @@: |
1114 | @@: |
1115 | mov word[edi],ax |
1115 | mov word[edi],ax |
1116 | add edi,4 |
1116 | add edi,4 |
1117 | mov [PIcoDB],edi |
1117 | mov [PIcoDB],edi |
1118 | 1118 | ||
1119 | mov eax,1 |
1119 | mov eax,1 |
1120 | pop edi esi ebx |
1120 | pop edi esi ebx |
1121 | ret |
1121 | ret |
1122 | endp |
1122 | endp |
1123 | 1123 | ||
1124 | include 'RButton.inc' |
1124 | include 'RButton.inc' |
1125 | include 'DlgAdd.inc' |
1125 | include 'DlgAdd.inc' |
1126 | include 'Moving.inc' |
1126 | include 'Moving.inc' |
1127 | ;include 'Ico.inc' |
1127 | ;include 'Ico.inc' |
1128 | 1128 | ||
1129 | ;'Eolite',0,'/sys/File managers/eolite',0,'/hd0/3/Muzik',0,'1',0,00010001h |
1129 | ;'Eolite',0,'/sys/File managers/eolite',0,'/hd0/3/Muzik',0,'1',0,00010001h |
1130 | ;------------------------------------------------------------------------------- |
1130 | ;------------------------------------------------------------------------------- |
1131 | ;##### DATA #################################################################### |
1131 | ;##### DATA #################################################################### |
1132 | ;------------------------------------------------------------------------------- |
1132 | ;------------------------------------------------------------------------------- |
1133 | ; not change this section!!! |
1133 | ; not change this section!!! |
1134 | ; start section |
1134 | ; start section |
1135 | ;------------------------------------------------------------------------------ |
1135 | ;------------------------------------------------------------------------------ |
1136 | align 4 |
1136 | align 4 |
1137 | image_file dd 0 ;+0 |
1137 | image_file dd 0 ;+0 |
1138 | raw_pointer dd 0 ;+4 |
1138 | raw_pointer dd 0 ;+4 |
1139 | return_code dd 0 ;+8 |
1139 | return_code dd 0 ;+8 |
1140 | img_size dd 0 ;+12 |
1140 | img_size dd 0 ;+12 |
1141 | deflate_unpack dd 0 ;+16 ; not use for scaling |
1141 | deflate_unpack dd 0 ;+16 ; not use for scaling |
1142 | raw_pointer_2 dd 0 ;+20 ; not use for scaling |
1142 | raw_pointer_2 dd 0 ;+20 ; not use for scaling |
1143 | ;------------------------------------------------------------------------------ |
1143 | ;------------------------------------------------------------------------------ |
1144 | ; end section |
1144 | ; end section |
1145 | ;------------------------------------------------------------------------------ |
1145 | ;------------------------------------------------------------------------------ |
1146 | 1146 | ||
1147 | 1147 | ||
1148 | align 4 |
1148 | align 4 |
1149 | fiStdIco: |
1149 | fiStdIco: |
1150 | dd 5 |
1150 | dd 5 |
1151 | dd 0 |
1151 | dd 0 |
1152 | dd 0 |
1152 | dd 0 |
1153 | .size dd 0 |
1153 | .size dd 0 |
1154 | .point dd bufStdIco |
1154 | .point dd bufStdIco |
1155 | db ICON_STRIP,0 |
1155 | db ICON_STRIP,0 |
1156 | 1156 | ||
1157 | 1157 | ||
1158 | align 4 |
1158 | align 4 |
1159 | fiRunProg: ;¤«ï § ¯ã᪠¯à®£à ¬¬ |
1159 | fiRunProg: ;¤«ï § ¯ã᪠¯à®£à ¬¬ |
1160 | dd 7 |
1160 | dd 7 |
1161 | dd 0 |
1161 | dd 0 |
1162 | dd 0 |
1162 | dd 0 |
1163 | dd 0 |
1163 | dd 0 |
1164 | dd ErrNotFoundIni |
1164 | dd ErrNotFoundIni |
1165 | db 0 |
1165 | db 0 |
1166 | dd pthNotify |
1166 | dd pthNotify |
1167 | 1167 | ||
1168 | fiIni dd 5 ;¤«ï ini ä ©« |
1168 | fiIni dd 5 ;¤«ï ini ä ©« |
1169 | dd 0 |
1169 | dd 0 |
1170 | dd 0 |
1170 | dd 0 |
1171 | dd 0 |
1171 | dd 0 |
1172 | dd bufIni |
1172 | dd bufIni |
1173 | db '/rd/1/icon.ini',0 |
1173 | db '/rd/1/icon.ini',0 |
1174 | 1174 | ||
1175 | 1175 | ||
1176 | IconsFile db ICON_STRIP,0 |
1176 | IconsFile db ICON_STRIP,0 |
1177 | NameIconsDat db ICONS_DAT,0 |
1177 | NameIconsDat db ICONS_DAT,0 |
1178 | align 4 |
1178 | align 4 |
1179 | MaxNumIcon dd 0 ;ª®«¨ç¥á⢮ ¨ª®®ª |
1179 | MaxNumIcon dd 0 ;ª®«¨ç¥á⢮ ¨ª®®ª |
1180 | 1180 | ||
1181 | bFixIcons dd 1 |
1181 | bFixIcons dd 0 |
1182 | bNotSave dd 0 |
1182 | bNotSave dd 0 |
1183 | 1183 | ||
1184 | LButtonActiv dd 0 |
1184 | LButtonActiv dd 0 |
1185 | RButtonActiv dd 0 |
1185 | RButtonActiv dd 0 |
1186 | MovingActiv dd 0 |
1186 | MovingActiv dd 0 |
1187 | 1187 | ||
1188 | IconIni db '/rd/1/icon.ini',0 |
1188 | IconIni db '/rd/1/icon.ini',0 |
1189 | 1189 | ||
1190 | 1190 | ||
1191 | ;keyName db 'name',0 |
1191 | ;keyName db 'name',0 |
1192 | keyPath db 'path',0 |
1192 | keyPath db 'path',0 |
1193 | keyParams db 'param',0 |
1193 | keyParams db 'param',0 |
1194 | keyIco db 'ico',0 |
1194 | keyIco db 'ico',0 |
1195 | keyX db 'x',0 |
1195 | keyX db 'x',0 |
1196 | keyY db 'y',0 |
1196 | keyY db 'y',0 |
1197 | 1197 | ||
1198 | ;------------------------------------------------------------------------------- |
1198 | ;------------------------------------------------------------------------------- |
1199 | IMPORTS: |
1199 | IMPORTS: |
1200 | library cnv_png,'cnv_png.obj',\ |
1200 | library cnv_png,'cnv_png.obj',\ |
1201 | archiver,'archiver.obj',\ |
1201 | archiver,'archiver.obj',\ |
1202 | box_lib,'box_lib.obj',\ |
1202 | box_lib,'box_lib.obj',\ |
1203 | proc_lib,'proc_lib.obj',\ |
1203 | proc_lib,'proc_lib.obj',\ |
1204 | libini,'libini.obj' |
1204 | libini,'libini.obj' |
1205 | 1205 | ||
1206 | import cnv_png,\ |
1206 | import cnv_png,\ |
1207 | cnv_png_import.Start,'START',\ |
1207 | cnv_png_import.Start,'START',\ |
1208 | cnv_png_import.Version,'version',\ |
1208 | cnv_png_import.Version,'version',\ |
1209 | cnv_png_import.Check,'Check_Header',\ |
1209 | cnv_png_import.Check,'Check_Header',\ |
1210 | cnv_png_import.Assoc,'Associations' |
1210 | cnv_png_import.Assoc,'Associations' |
1211 | 1211 | ||
1212 | import archiver,\ |
1212 | import archiver,\ |
1213 | unpack_DeflateUnpack2,'deflate_unpack2' |
1213 | unpack_DeflateUnpack2,'deflate_unpack2' |
1214 | 1214 | ||
1215 | import box_lib,\ |
1215 | import box_lib,\ |
1216 | edit_box_draw,'edit_box',\ |
1216 | edit_box_draw,'edit_box',\ |
1217 | edit_box_key,'edit_box_key',\ |
1217 | edit_box_key,'edit_box_key',\ |
1218 | edit_box_mouse,'edit_box_mouse',\ |
1218 | edit_box_mouse,'edit_box_mouse',\ |
1219 | scrollbar_h_draw,'scrollbar_h_draw',\ |
1219 | scrollbar_h_draw,'scrollbar_h_draw',\ |
1220 | scrollbar_h_mouse,'scrollbar_h_mouse' |
1220 | scrollbar_h_mouse,'scrollbar_h_mouse' |
1221 | 1221 | ||
1222 | import proc_lib,\ |
1222 | import proc_lib,\ |
1223 | OpenDialog_Init,'OpenDialog_init',\ |
1223 | OpenDialog_Init,'OpenDialog_init',\ |
1224 | OpenDialog_Start,'OpenDialog_start' |
1224 | OpenDialog_Start,'OpenDialog_start' |
1225 | 1225 | ||
1226 | import libini,\ |
1226 | import libini,\ |
1227 | ini_enum_sections,'ini_enum_sections',\ |
1227 | ini_enum_sections,'ini_enum_sections',\ |
1228 | ini_enum_keys,'ini_enum_keys',\ |
1228 | ini_enum_keys,'ini_enum_keys',\ |
1229 | ini_get_str,'ini_get_str',\ |
1229 | ini_get_str,'ini_get_str',\ |
1230 | ini_set_str,'ini_set_str',\ |
1230 | ini_set_str,'ini_set_str',\ |
1231 | ini_get_color,'ini_get_color',\ |
1231 | ini_get_color,'ini_get_color',\ |
1232 | ini_get_int,'ini_get_int',\ |
1232 | ini_get_int,'ini_get_int',\ |
1233 | ini_set_int,'ini_set_int',\ |
1233 | ini_set_int,'ini_set_int',\ |
1234 | ini_del_section,'ini_del_section' |
1234 | ini_del_section,'ini_del_section' |
1235 | 1235 | ||
1236 | 1236 | ||
1237 | ;ini.get_str (f_name, sec_name, key_name, buffer, buf_len, def_val) |
1237 | ;ini.get_str (f_name, sec_name, key_name, buffer, buf_len, def_val) |
1238 | ;ini.set_str (f_name, sec_name, key_name, buffer, buf_len) |
1238 | ;ini.set_str (f_name, sec_name, key_name, buffer, buf_len) |
1239 | 1239 | ||
1240 | 1240 | ||
1241 | ;------------------------------------------------------------------------------- |
1241 | ;------------------------------------------------------------------------------- |
1242 | ;----- RButton.inc ------------------------------------------------------------- |
1242 | ;----- RButton.inc ------------------------------------------------------------- |
1243 | ;------------------------------------------------------------------------------- |
1243 | ;------------------------------------------------------------------------------- |
1244 | secRButt db 'rbmenu',0 |
1244 | secRButt db 'rbmenu',0 |
1245 | 1245 | ||
1246 | if lang eq ru |
1246 | if lang eq ru |
1247 | RMenuRedrawFon db '¥à¥à¨á®¢ âì',0 |
1247 | RMenuRedrawFon db '¥à¥à¨á®¢ âì',0 |
1248 | RMenuAlign db 'ë஢ïâì ¯® á¥âª¥',0 |
1248 | RMenuAlign db 'ë஢ïâì ¯® á¥âª¥',0 |
1249 | RMenuAdd db '®¡ ¢¨âì',0 |
1249 | RMenuAdd db '®¡ ¢¨âì',0 |
1250 | RMenuDel db '¤ «¨âì',0 |
1250 | RMenuDel db '¤ «¨âì',0 |
1251 | RMenuProp db '¢®©á⢠',0 |
1251 | RMenuProp db '¢®©á⢠',0 |
1252 | RMenuOffMoving db ' ªà¥¯¨âì ¨ª®ª¨',0 |
1252 | RMenuOffMoving db ' ªà¥¯¨âì ¨ª®ª¨',0 |
1253 | RMenuOnMoving db 'âªà¥¯¨âì ¨ª®ª¨',0 |
1253 | RMenuOnMoving db 'âªà¥¯¨âì ¨ª®ª¨',0 |
1254 | 1254 | ||
1255 | else |
1255 | else |
1256 | 1256 | ||
1257 | RMenuRedrawFon db 'Redraw',0 |
1257 | RMenuRedrawFon db 'Redraw',0 |
1258 | RMenuAlign db 'Snap to Grid',0 |
1258 | RMenuAlign db 'Snap to Grid',0 |
1259 | RMenuAdd db 'Add',0 |
1259 | RMenuAdd db 'Add',0 |
1260 | RMenuDel db 'Delete',0 |
1260 | RMenuDel db 'Delete',0 |
1261 | RMenuProp db 'Properties',0 |
1261 | RMenuProp db 'Properties',0 |
1262 | RMenuOffMoving db 'Fix the icons',0 |
1262 | RMenuOffMoving db 'Fix the icons',0 |
1263 | RMenuOnMoving db 'Unfix the icons',0 |
1263 | RMenuOnMoving db 'Unfix the icons',0 |
1264 | 1264 | ||
1265 | end if |
1265 | end if |
1266 | 1266 | ||
1267 | if lang eq ru |
1267 | if lang eq ru |
1268 | 1268 | ||
1269 | ErrRunProg db '訡ª § ¯ã᪠¯à®£à ¬¬ë',0 |
1269 | ErrRunProg db '訡ª § ¯ã᪠¯à®£à ¬¬ë',0 |
1270 | WarningSave db '¥ § ¡ã¤ì⥠á®åà ¨âì ¨§¬¥¥¨ï, § ¯ãáâ¨âì RDSave',0 |
1270 | WarningSave db '¥ § ¡ã¤ì⥠á®åà ¨âì ¨§¬¥¥¨ï, § ¯ãáâ¨âì RDSave',0 |
1271 | ErrNotFoundIni db '¥ ©¤¥ icon.ini',0 |
1271 | ErrNotFoundIni db '¥ ©¤¥ icon.ini',0 |
1272 | 1272 | ||
1273 | else |
1273 | else |
1274 | 1274 | ||
1275 | ErrRunProg db 'Error runing program',0 |
1275 | ErrRunProg db 'Error runing program',0 |
1276 | WarningSave db 'Do not forget to save the changes, run the RDSave',0 |
1276 | WarningSave db 'Do not forget to save the changes, run the RDSave',0 |
1277 | ErrNotFoundIni db 'icon.ini not found',0 |
1277 | ErrNotFoundIni db 'icon.ini not found',0 |
1278 | 1278 | ||
1279 | end if |
1279 | end if |
1280 | 1280 | ||
1281 | 1281 | ||
1282 | pthNotify db '/rd/1/@notify',0 |
1282 | pthNotify db '/rd/1/@notify',0 |
1283 | 1283 | ||
1284 | ;------------------------------------------------------------------------------- |
1284 | ;------------------------------------------------------------------------------- |
1285 | ;------- AddDlg.inc --------------------------------------------------------------- |
1285 | ;------- AddDlg.inc --------------------------------------------------------------- |
1286 | ;------------------------------------------------------------------------------- |
1286 | ;------------------------------------------------------------------------------- |
1287 | if lang eq ru |
1287 | if lang eq ru |
1288 | DTitle db '®¡ ¢¨âì ¨ª®ªã',0 |
1288 | DTitle db '®¡ ¢¨âì ¨ª®ªã',0 |
1289 | 1289 | ||
1290 | DCaptName db '•',0 |
1290 | DCaptName db '•',0 |
1291 | DCaptPath db 'ãâì',0 |
1291 | DCaptPath db 'ãâì',0 |
1292 | DCaptParams db ' à ¬¥âàë',0 |
1292 | DCaptParams db ' à ¬¥âàë',0 |
1293 | DCaptIcon db 'ª®ª ',0 |
1293 | DCaptIcon db 'ª®ª ',0 |
1294 | ;DCaptChange db '.',0 |
1294 | ;DCaptChange db '.',0 |
1295 | DCaptCreate db '®§¤ âì',0 |
1295 | DCaptCreate db '®§¤ âì',0 |
1296 | DCaptProperties db '§¬¥¨âì',0 |
1296 | DCaptProperties db '§¬¥¨âì',0 |
1297 | DCaptCancel db '⬥¨âì',0 |
1297 | DCaptCancel db '⬥¨âì',0 |
1298 | 1298 | ||
1299 | else |
1299 | else |
1300 | DTitle db 'Add icon',0 |
1300 | DTitle db 'Add icon',0 |
1301 | 1301 | ||
1302 | DCaptName db 'Name',0 |
1302 | DCaptName db 'Name',0 |
1303 | DCaptPath db 'Path',0 |
1303 | DCaptPath db 'Path',0 |
1304 | DCaptParams db 'Parameters',0 |
1304 | DCaptParams db 'Parameters',0 |
1305 | DCaptIcon db 'Icon',0 |
1305 | DCaptIcon db 'Icon',0 |
1306 | ;DCaptChange db '.',0 |
1306 | ;DCaptChange db '.',0 |
1307 | DCaptCreate db 'Create',0 |
1307 | DCaptCreate db 'Create',0 |
1308 | DCaptProperties db 'Change',0 |
1308 | DCaptProperties db 'Change',0 |
1309 | DCaptCancel db 'Cancel',0 |
1309 | DCaptCancel db 'Cancel',0 |
1310 | end if |
1310 | end if |
1311 | 1311 | ||
1312 | ;/¥ ¬¥ïâì ¯®«®¦¥¨¥ |
1312 | ;/¥ ¬¥ïâì ¯®«®¦¥¨¥ |
1313 | edtName edit_box NAME_LENGTH*6+4,70+20+IMG_SIZE,6,0FFFFFFh,06F9480h,0FFh,0h,0,NAME_LENGTH,\ |
1313 | edtName edit_box NAME_LENGTH*6+4,70+20+IMG_SIZE,6,0FFFFFFh,06F9480h,0FFh,0h,0,NAME_LENGTH,\ |
1314 | DAreaName,mouse_dd,0,0,0 |
1314 | DAreaName,mouse_dd,0,0,0 |
1315 | edtExePath edit_box 281-3-20-IMG_SIZE,70+20+IMG_SIZE,26,0FFFFFFh,06F9480h,0FFh,0h,0,256,\ |
1315 | edtExePath edit_box 281-3-20-IMG_SIZE,70+20+IMG_SIZE,26,0FFFFFFh,06F9480h,0FFh,0h,0,256,\ |
1316 | DAreaPath,mouse_dd,0,0,0 |
1316 | DAreaPath,mouse_dd,0,0,0 |
1317 | edtParams edit_box 295-20-IMG_SIZE,70+20+IMG_SIZE,46,0FFFFFFh,06F9480h,0FFh,0h,0,256,\ |
1317 | edtParams edit_box 295-20-IMG_SIZE,70+20+IMG_SIZE,46,0FFFFFFh,06F9480h,0FFh,0h,0,256,\ |
1318 | DAreaParams,mouse_dd,0,0,0 |
1318 | DAreaParams,mouse_dd,0,0,0 |
1319 | edtIcon edit_box 295-20-IMG_SIZE,70+20+IMG_SIZE,66,0FFFFFFh,06F9480h,0FFh,0h,0,256,\ |
1319 | edtIcon edit_box 295-20-IMG_SIZE,70+20+IMG_SIZE,66,0FFFFFFh,06F9480h,0FFh,0h,0,256,\ |
1320 | DAreaIcon,mouse_dd,0,0,0 |
1320 | DAreaIcon,mouse_dd,0,0,0 |
1321 | endEdits: |
1321 | endEdits: |
1322 | ;\ |
1322 | ;\ |
1323 | 1323 | ||
1324 | sbIcons: |
1324 | sbIcons: |
1325 | dw END_ICONS_AREAW-ICONSX |
1325 | dw END_ICONS_AREAW-ICONSX |
1326 | dw ICONSX |
1326 | dw ICONSX |
1327 | dw 15 |
1327 | dw 15 |
1328 | dw END_ICONS_AREAH+3 |
1328 | dw END_ICONS_AREAH+3 |
1329 | dd 0 |
1329 | dd 0 |
1330 | dd 1 |
1330 | dd 1 |
1331 | .max_area dd 0 |
1331 | .max_area dd 0 |
1332 | .cur_area dd ICONS_DRAW_COUNTW |
1332 | .cur_area dd ICONS_DRAW_COUNTW |
1333 | .position dd 0 |
1333 | .position dd 0 |
1334 | .bckg_col dd 0 |
1334 | .bckg_col dd 0 |
1335 | .frnt_col dd 0 |
1335 | .frnt_col dd 0 |
1336 | .line_col dd 0 |
1336 | .line_col dd 0 |
1337 | .redraw dd 0 |
1337 | .redraw dd 0 |
1338 | .delta dd 0 |
1338 | .delta dd 0 |
1339 | .delta2 dd 0 |
1339 | .delta2 dd 0 |
1340 | .r_size_x dw 0 |
1340 | .r_size_x dw 0 |
1341 | .r_start_x dw 0 |
1341 | .r_start_x dw 0 |
1342 | .r_size_y dw 0 |
1342 | .r_size_y dw 0 |
1343 | .r_start_y dw 0 |
1343 | .r_start_y dw 0 |
1344 | .m_pos dd 0 |
1344 | .m_pos dd 0 |
1345 | .m_pos2 dd 0 |
1345 | .m_pos2 dd 0 |
1346 | .m_keys dd 0 |
1346 | .m_keys dd 0 |
1347 | .run_size dd 0 |
1347 | .run_size dd 0 |
1348 | .position2 dd 0 |
1348 | .position2 dd 0 |
1349 | .work_size dd 0 |
1349 | .work_size dd 0 |
1350 | .all_redraw dd 0 |
1350 | .all_redraw dd 0 |
1351 | .ar_offset dd 0 |
1351 | .ar_offset dd 0 |
1352 | 1352 | ||
1353 | ;------------------------------------------------------------------------------- |
1353 | ;------------------------------------------------------------------------------- |
1354 | OpenDialog_data: |
1354 | OpenDialog_data: |
1355 | .type dd 0 |
1355 | .type dd 0 |
1356 | .procinfo dd RBProcInfo ;+4 |
1356 | .procinfo dd RBProcInfo ;+4 |
1357 | .com_area_name dd communication_area_name ;+8 |
1357 | .com_area_name dd communication_area_name ;+8 |
1358 | .com_area dd 0 ;+12 |
1358 | .com_area dd 0 ;+12 |
1359 | .opendir_pach dd temp_dir_pach ;+16 |
1359 | .opendir_pach dd temp_dir_pach ;+16 |
1360 | .dir_default_pach dd communication_area_default_pach ;+20 |
1360 | .dir_default_pach dd communication_area_default_pach ;+20 |
1361 | .start_path dd open_dialog_path ;+24 |
1361 | .start_path dd open_dialog_path ;+24 |
1362 | .draw_window dd DRedraw;draw_window_for_OD ;+28 |
1362 | .draw_window dd DRedraw;draw_window_for_OD ;+28 |
1363 | .status dd 0 ;+32 |
1363 | .status dd 0 ;+32 |
1364 | .openfile_pach dd DAreaPath;fname_Info ;+36 |
1364 | .openfile_pach dd DAreaPath;fname_Info ;+36 |
1365 | .filename_area dd 0;DAreaPath ;+40 |
1365 | .filename_area dd 0;DAreaPath ;+40 |
1366 | .filter_area dd Filter |
1366 | .filter_area dd Filter |
1367 | .x: |
1367 | .x: |
1368 | .x_size dw 420 ;+48 ; Window X size |
1368 | .x_size dw 420 ;+48 ; Window X size |
1369 | .x_start dw 100 ;+50 ; Window X position |
1369 | .x_start dw 100 ;+50 ; Window X position |
1370 | .y: |
1370 | .y: |
1371 | .y_size dw 320 ;+52 ; Window y size |
1371 | .y_size dw 320 ;+52 ; Window y size |
1372 | .y_start dw 100 ;+54 ; Window Y position |
1372 | .y_start dw 100 ;+54 ; Window Y position |
1373 | 1373 | ||
1374 | communication_area_name: |
1374 | communication_area_name: |
1375 | db 'FFFFFFFF_open_dialog',0 |
1375 | db 'FFFFFFFF_open_dialog',0 |
1376 | open_dialog_path: |
1376 | open_dialog_path: |
1377 | db '/sys/File managers/opendial',0 |
1377 | db '/sys/File managers/opendial',0 |
1378 | 1378 | ||
1379 | communication_area_default_pach: |
1379 | communication_area_default_pach: |
1380 | db '/sys',0 |
1380 | db '/sys',0 |
1381 | 1381 | ||
1382 | Filter dd 0 |
1382 | Filter dd 0 |
1383 | 1383 | ||
1384 | ;open_dialog db 0 |
1384 | ;open_dialog db 0 |
1385 | ;------------------------------------------------------------------------------- |
1385 | ;------------------------------------------------------------------------------- |
1386 | 1386 | ||
1387 | ;/¥ à §¤¥«ïâì |
1387 | ;/¥ à §¤¥«ïâì |
1388 | align 4 |
1388 | align 4 |
1389 | IconAreaH dd ICON_SIZE,ICON_SIZE |
1389 | IconAreaH dd ICON_SIZE,ICON_SIZE |
1390 | I_END: |
1390 | I_END: |
1391 | ;##### UDATA ################################################################### |
1391 | ;##### UDATA ################################################################### |
1392 | IconArea rb 4*ICON_SIZE*ICON_SIZE |
1392 | IconArea rb 4*ICON_SIZE*ICON_SIZE |
1393 | ;\ |
1393 | ;\ |
1394 | 1394 | ||
1395 | ScreenX rw 1 |
1395 | ScreenX rw 1 |
1396 | ScreenY rw 1 |
1396 | ScreenY rw 1 |
1397 | 1397 | ||
1398 | MouseX rd 1 |
1398 | MouseX rd 1 |
1399 | MouseY rd 1 |
1399 | MouseY rd 1 |
1400 | 1400 | ||
1401 | RBSlot rd 1 |
1401 | RBSlot rd 1 |
1402 | 1402 | ||
1403 | AddX rd 1 |
1403 | AddX rd 1 |
1404 | AddY rd 1 |
1404 | AddY rd 1 |
1405 | 1405 | ||
1406 | SelIcon rd 1 |
1406 | SelIcon rd 1 |
1407 | 1407 | ||
1408 | sc system_colors |
1408 | sc system_colors |
1409 | 1409 | ||
1410 | align 4 |
1410 | align 4 |
1411 | bufStdIco rb 40 |
1411 | bufStdIco rb 40 |
1412 | IconsOffs rd 100 |
1412 | IconsOffs rd 100 |
1413 | PIcoDB rd 1 |
1413 | PIcoDB rd 1 |
1414 | 1414 | ||
1415 | align 4 |
1415 | align 4 |
1416 | icon_count rd 1 |
1416 | icon_count rd 1 |
1417 | strip_file rd 1 |
1417 | strip_file rd 1 |
1418 | strip_file_size rd 1 |
1418 | strip_file_size rd 1 |
1419 | 1419 | ||
1420 | cur_band_compensation rd 1 |
1420 | cur_band_compensation rd 1 |
1421 | 1421 | ||
1422 | ;---- RButton ----------------------------------------------------------------------- |
1422 | ;---- RButton ----------------------------------------------------------------------- |
1423 | bufIni rb 40 |
1423 | bufIni rb 40 |
1424 | NumUserButt rd 1 |
1424 | NumUserButt rd 1 |
1425 | RBUser rd 16*2+1 |
1425 | RBUser rd 16*2+1 |
1426 | RMenuW rw 1 |
1426 | RMenuW rw 1 |
1427 | RMenuH rw 1 |
1427 | RMenuH rw 1 |
1428 | RMenuHsb rw 1 |
1428 | RMenuHsb rw 1 |
1429 | 1429 | ||
1430 | MaxPage rd 1 |
1430 | MaxPage rd 1 |
1431 | 1431 | ||
1432 | mouse_dd rd 1 |
1432 | mouse_dd rd 1 |
1433 | 1433 | ||
1434 | DAreaName rb NAME_LENGTH+1 |
1434 | DAreaName rb NAME_LENGTH+1 |
1435 | DAreaPath rb 256+1 |
1435 | DAreaPath rb 256+1 |
1436 | DAreaParams rb 256+1 |
1436 | DAreaParams rb 256+1 |
1437 | DAreaIcon rb 256+1 |
1437 | DAreaIcon rb 256+1 |
1438 | 1438 | ||
1439 | align 4 |
1439 | align 4 |
1440 | RBProcInfo rb 1024 |
1440 | RBProcInfo rb 1024 |
1441 | align 4 |
1441 | align 4 |
1442 | 1442 | ||
1443 | ; OpenDialog |
1443 | ; OpenDialog |
1444 | temp_dir_pach rb 1024 |
1444 | temp_dir_pach rb 1024 |
1445 | fname_Info rb 1024 |
1445 | fname_Info rb 1024 |
1446 | ;------------------------------------------------------------------------------- |
1446 | ;------------------------------------------------------------------------------- |
1447 | rb 1024 |
1447 | rb 1024 |
1448 | stack_dlg: |
1448 | stack_dlg: |
1449 | align 4 |
1449 | align 4 |
1450 | rb 1024 |
1450 | rb 1024 |
1451 | stack_area: |
1451 | stack_area: |
1452 | ;------------------------------------------------------------------------------ |
1452 | ;------------------------------------------------------------------------------ |
1453 | ENDMEM: |
1453 | ENDMEM: |