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