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