Rev 3953 | Rev 4082 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3953 | Rev 4036 | ||
---|---|---|---|
1 | if lang eq ru |
1 | if lang eq ru |
2 | MinRMenuW equ 18*6+10 |
2 | MinRMenuW equ 18*6+10 |
3 | else |
3 | else |
4 | MinRMenuW equ 15*6+10 |
4 | MinRMenuW equ 15*6+10 |
5 | end if |
5 | end if |
6 | 6 | ||
7 | idbRRedrawFon equ 100 |
7 | idbRRedrawFon equ 100 |
8 | idbRAlign equ 101 |
8 | idbRAlign equ 101 |
9 | idbRFixIcons equ 102 |
9 | idbRFixIcons equ 102 |
10 | idbRAdd equ 103 |
10 | idbRAdd equ 103 |
11 | idbRDel equ 104 |
11 | idbRDel equ 104 |
12 | idbRProp equ 105 |
12 | idbRProp equ 105 |
- | 13 | ||
- | 14 | DELTA_COLOR equ 70 |
|
13 | 15 | ||
14 | ;---- thread for rbutton ----------------------------------------------------------------------- |
16 | ;---- thread for rbutton ----------------------------------------------------------------------- |
15 | RButtonWin: |
17 | RButtonWin: |
16 | mcall 40,100101b ;SetMaskMessage 100101b |
18 | mcall 40,100101b ;SetMaskMessage 100101b |
17 | mcall 48,3,sc,40 |
19 | mcall 48,3,sc,40 |
18 | stdcall GetNumIcon,[MouseX],[MouseY],-1 |
- | |
19 | mov [SelIcon],eax |
- | |
- | 20 | ||
20 | 21 | mov eax,[sc.work] ;¢ëç¨á«ï¥¬ 梥â ᢥ⫥¥ ä®®¢®£® |
|
- | 22 | rol eax,16 |
|
21 | cmp eax,-1 |
23 | add al,DELTA_COLOR |
- | 24 | jnc @f |
|
- | 25 | mov al,0FFh |
|
22 | jne @f |
26 | @@: |
- | 27 | rol eax,16 |
|
- | 28 | add al,DELTA_COLOR |
|
- | 29 | jnc @f |
|
- | 30 | mov al,0FFh |
|
- | 31 | @@: |
|
- | 32 | add ah,DELTA_COLOR |
|
- | 33 | jnc @f |
|
- | 34 | mov ah,0FFh |
|
23 | mov [RMenuH],16*4+3+3 |
35 | @@: |
- | 36 | mov [sc.workH],eax |
|
- | 37 | ||
- | 38 | mov eax,[sc.work] ;¢ëç¨á«ï¥¬ 梥â ⥬¥¥ ä®®¢®£® |
|
- | 39 | rol eax,16 |
|
- | 40 | sub al,DELTA_COLOR |
|
- | 41 | jnc @f |
|
- | 42 | mov al,0FFh |
|
- | 43 | @@: |
|
- | 44 | rol eax,16 |
|
- | 45 | sub al,DELTA_COLOR |
|
- | 46 | jnc @f |
|
- | 47 | mov al,0FFh |
|
- | 48 | @@: |
|
24 | mov [RMenuHsb],16*4+3+3 |
49 | sub ah,DELTA_COLOR |
- | 50 | jnc @f |
|
25 | jmp .rbw1 |
51 | mov ah,0FFh |
26 | @@: |
52 | @@: |
- | 53 | mov [sc.workL],eax |
|
- | 54 | ||
- | 55 | ||
27 | mov [RMenuH],16*5+3+3 |
56 | |
28 | mov [RMenuHsb],16*5+3+3 |
57 | stdcall GetNumIcon,[MouseX],[MouseY],-1 |
29 | .rbw1: |
58 | mov [SelIcon],eax |
30 | 59 | ||
31 | mov [NumUserButt],0 |
60 | mov [NumUserButt],0 |
32 | mov [RMenuW],0 |
61 | mov [RMenuW],0 |
33 | mcall 70,fiIni |
62 | mcall 70,fiIni |
34 | mcall 68,12,dword[bufIni+32] |
63 | mcall 68,12,dword[bufIni+32] |
35 | mov [RBUser],eax |
64 | mov [RBUser],eax |
36 | stdcall [ini_enum_keys],IconIni,secRButt,GetUserBut |
65 | stdcall [ini_enum_keys],IconIni,secRButt,GetUserBut |
- | 66 | ||
- | 67 | cmp [SelIcon],-1 |
|
- | 68 | jne @f |
|
- | 69 | mov [RMenuH],16*4 |
|
- | 70 | mov eax,[NumUserButt] |
|
- | 71 | shl eax,4 |
|
- | 72 | add [RMenuH],ax |
|
- | 73 | jmp .rbw1 |
|
- | 74 | @@: |
|
- | 75 | mov [RMenuH],16*5 |
|
37 | 76 | .rbw1: |
|
38 | 77 | ||
39 | RBWRedraw: |
78 | RBWRedraw: |
40 | mcall 12,1 ;RedrawWinBeg |
79 | mcall 12,1 ;RedrawWinBeg |
41 | mov ebx,[MouseX] |
80 | mov ebx,[MouseX] |
42 | shl ebx,16 |
81 | shl ebx,16 |
43 | mov bx,[RMenuW] |
82 | mov bx,[RMenuW] |
44 | mov ecx,[MouseY] |
83 | mov ecx,[MouseY] |
45 | shl ecx,16 |
84 | shl ecx,16 |
46 | mov cx,[RMenuH] |
85 | mov cx,[RMenuH] |
47 | mov edx,0177CCFFh |
86 | mov edx,01000000h |
48 | mov esi,01000000h |
87 | mov esi,01000000h |
49 | xor eax,eax |
88 | xor eax,eax |
50 | int 40h |
89 | int 40h |
- | 90 | ||
- | 91 | and ebx,0FFFFh ;ä®®¢ë© ¯àאַ㣮«ì¨ª |
|
- | 92 | inc bx |
|
- | 93 | and ecx,0FFFFh |
|
- | 94 | inc cx |
|
- | 95 | mcall 13,,,[sc.work] |
|
- | 96 | ||
- | 97 | cmp [SelIcon],-1 ;¥á«¨ ª«¨ª ¯® ¨ª®ª¥, â® ¯ãªâë ¯®«ì§®¢ â¥«ï ¥ ã¦ë |
|
51 | 98 | jne .NoDrawUserBut |
|
52 | ;----------- |
99 | ;----------- |
53 | mov ecx,[NumUserButt] |
100 | mov ecx,[NumUserButt] |
54 | .DrawUB: |
101 | .DrawUB: |
55 | push ecx |
102 | push ecx |
56 | 103 | ||
57 | mov eax,[NumUserButt] |
104 | mov eax,[NumUserButt] |
58 | sub eax,ecx |
105 | sub eax,ecx |
59 | mov edx,eax ;button ID |
106 | mov edx,eax ;button ID |
- | 107 | or edx,60000000h |
|
60 | shl eax,4+16 ;*16*10000h |
108 | shl eax,4+16 ;*16*10000h |
61 | mov ecx,eax |
109 | mov ecx,eax |
62 | mov cx,16 |
110 | mov cx,16 |
63 | 111 | ||
64 | xor ebx,ebx |
112 | xor ebx,ebx |
65 | mov bx,[RMenuW] |
113 | mov bx,[RMenuW] |
66 | mov esi,[sc.work] ;[RBMenuColor];0888888h |
114 | mov esi,[sc.work] |
67 | mcall 8 |
115 | mcall 8 ;®¯à¥¤¥«¨«¨ |
68 | 116 | ||
69 | mov ebx,50000h |
117 | mov ebx,50000h |
70 | shr ecx,16 |
118 | shr ecx,16 |
71 | mov bx,cx |
119 | mov bx,cx |
72 | add bx,5 |
120 | add bx,5 |
73 | 121 | ||
74 | mov ecx,80000000h |
122 | mov ecx,80000000h |
75 | 123 | ||
76 | mov eax,[NumUserButt] |
124 | mov eax,[NumUserButt] |
77 | sub eax,[esp] |
125 | sub eax,[esp] |
78 | mov edx,[RBUser+eax*8] |
126 | mov edx,[RBUser+eax*8] |
79 | - | ||
80 | mcall 4 |
127 | mcall 4 ;¯®¤¯¨á «¨ |
81 | 128 | ||
82 | pop ecx |
129 | pop ecx |
83 | loop .DrawUB |
130 | loop .DrawUB |
84 | 131 | ||
85 | ;----------- |
132 | ;----------- |
- | 133 | .NoDrawUserBut: |
|
- | 134 | ;®¯à¥¤¥«¥¨¥ ª®¯®ª ¤«ï ¨ª®®ª |
|
86 | xor ebx,ebx |
135 | xor ebx,ebx |
87 | mov bx,[RMenuW] |
136 | mov bx,[RMenuW] |
88 | mov cx,[RMenuH] |
- | |
89 | sub cx,[RMenuHsb] |
- | |
90 | push ecx |
- | |
91 | mov dx,cx |
- | |
92 | shl ecx,16 |
- | |
93 | mov cx,dx |
- | |
94 | - | ||
95 | ;¯¥à¢ ï à §¤¥«¨â¥«ì ï «¨¨ï |
- | |
96 | ; mcall 38,,,[RBMenuColor];0888888h |
- | |
97 | mcall 38,,,[sc.work] |
- | |
98 | add ecx,00010001h |
- | |
99 | mcall ,,, |
- | |
- | 137 | ||
- | 138 | xor eax,eax |
|
100 | 139 | cmp [SelIcon],-1 |
|
101 | ;------------ |
140 | jne @f |
- | 141 | mov eax,[NumUserButt] |
|
102 | mov ecx,[esp] |
142 | @@: |
- | 143 | shl eax,4 |
|
103 | add ecx,2 |
144 | mov cx,ax |
104 | shl ecx,16 |
145 | shl ecx,16 |
- | 146 | mov cx,16 |
|
- | 147 | push ecx ;®âáî¤ à¨á®¢ âì ª®¯ª¨ (¯® ¢ëá®â¥) |
|
- | 148 | ||
- | 149 | ||
- | 150 | mcall 8,,,60000000h or idbRRedrawFon,[sc.work] |
|
- | 151 | add ecx,16*10000h |
|
- | 152 | mcall ,,,60000000h or idbRAlign |
|
- | 153 | add ecx,16*10000h |
|
- | 154 | mcall ,,,60000000h or idbRFixIcons |
|
- | 155 | add ecx,16*10000h |
|
- | 156 | ||
- | 157 | cmp dword[SelIcon],-1 |
|
105 | mov cx,16 |
- | |
106 | 158 | je @f |
|
107 | ; mcall 8,,,idbRRedrawFon,[RBMenuColor];0888888h ;3 ª®¯ª¨ ¢â®à®£® ¡«®ª |
159 | |
108 | mcall 8,,,idbRRedrawFon,[sc.work] |
160 | mcall ,,,60000000h or idbRDel, |
109 | add ecx,00100000h |
161 | add ecx,16*10000h |
- | 162 | mcall ,,,60000000h or idbRProp, |
|
110 | mcall ,,,idbRAlign |
163 | jmp .endRM1 |
- | 164 | @@: |
|
- | 165 | mcall ,,,60000000h or idbRAdd, |
|
- | 166 | .endRM1: |
|
- | 167 | ||
- | 168 | ;¯®¤¯¨á¨ ª ª®¯ª ¬ |
|
- | 169 | xor eax,eax |
|
- | 170 | cmp [SelIcon],-1 |
|
- | 171 | jne @f |
|
111 | add ecx,00100000h |
172 | mov eax,[NumUserButt] |
112 | mcall ,,,idbRFixIcons |
173 | @@: |
- | 174 | shl eax,4 |
|
113 | 175 | mov ebx,50000h |
|
114 | mov ebx,50000h |
176 | mov bx,ax |
115 | mov bx,word[esp] |
177 | |
116 | add bx,2+5 |
178 | add bx,5 |
117 | mcall 4,,80000000h,RMenuRedrawFon |
179 | mcall 4,,80000000h,RMenuRedrawFon |
118 | add ebx,16 |
180 | add ebx,16 |
119 | mcall ,,,RMenuAlign |
181 | mcall ,,,RMenuAlign |
120 | 182 | ||
121 | add ebx,16 |
183 | add ebx,16 |
122 | cmp [bFixIcons],0 |
184 | cmp [bFixIcons],0 |
123 | jne @f |
185 | jne @f |
124 | mov edx,RMenuOffMoving |
186 | mov edx,RMenuOffMoving |
125 | jmp .RBWR1 |
187 | jmp .RBWR1 |
126 | @@: |
188 | @@: |
127 | mov edx,RMenuOnMoving |
189 | mov edx,RMenuOnMoving |
128 | .RBWR1: |
190 | .RBWR1: |
129 | mcall |
191 | mcall |
- | 192 | add ebx,16 |
|
130 | - | ||
131 | ;------------ |
- | |
132 | xor ebx,ebx ;¢â®à ï à §¤¥«¨â¥«ì ï «¨¨ï |
- | |
133 | mov bx,[RMenuW] |
- | |
134 | mov ecx,[esp] |
- | |
135 | add ecx,16*3+2 |
- | |
136 | mov dx,cx |
- | |
137 | shl ecx,16 |
- | |
138 | mov cx,dx |
- | |
139 | ; mcall 38,,,[RBMenuColor];0888888h |
- | |
140 | mcall 38,,,[sc.work] |
- | |
141 | add ecx,00010001h |
- | |
142 | mcall ,,, |
- | |
143 | ;------------ |
- | |
144 | ;1 ¨«¨ 2 ª®¯ª¨ âà¥â쥣® ¡«®ª |
- | |
145 | mov ecx,[esp] |
- | |
146 | add ecx,16*3+4 |
- | |
147 | shl ecx,16 |
- | |
148 | mov cx,16 |
193 | |
149 | cmp dword[SelIcon],-1 |
194 | cmp dword[SelIcon],-1 |
150 | je @f |
195 | je @f |
151 | - | ||
152 | ; mcall 8,,,idbRDel,[RBMenuColor];0888888h |
- | |
153 | mcall 8,,,idbRDel,[sc.work] |
- | |
154 | add ecx,00100000h |
- | |
155 | ; mcall ,,,idbRProp,[RBMenuColor];0888888h |
- | |
156 | mcall ,,,idbRProp,[sc.work] |
- | |
157 | - | ||
158 | mov ebx,50000h |
- | |
159 | mov bx,word[esp] |
- | |
160 | add bx,16*3+4+5 |
196 | |
161 | mcall 4,,80000000h,RMenuDel |
197 | mcall ,,,RMenuDel |
162 | add bx,16 |
198 | add bx,16 |
163 | mcall ,, ,RMenuProp |
- | |
164 | 199 | mcall ,,,RMenuProp |
|
165 | jmp .endRM |
200 | jmp .endRM2 |
166 | @@: |
- | |
167 | - | ||
168 | ; mcall 8,,,idbRAdd,[RBMenuColor];0888888h |
- | |
169 | mcall 8,,,idbRAdd,[sc.work] |
- | |
170 | mov ebx,50000h |
- | |
171 | mov bx,word[esp] |
201 | @@: |
172 | add bx,16*3+4+5 |
- | |
173 | mcall 4,,80000000h,RMenuAdd |
202 | |
174 | 203 | mcall ,,,RMenuAdd |
|
175 | .endRM: |
204 | .endRM2: |
176 | 205 | ||
177 | pop ecx |
206 | pop ecx |
178 | mcall 12,2 ;RedrawWinEnd |
207 | mcall 12,2 ;RedrawWinEnd |
179 | 208 | ||
180 | mcall 9,RBProcInfo,-1 ;GetThreadInfo RBProcInfo,-1 |
209 | mcall 9,RBProcInfo,-1 ;GetThreadInfo RBProcInfo,-1 |
181 | mcall 18,21,dword[RBProcInfo+30] |
210 | mcall 18,21,dword[RBProcInfo+30] |
182 | m2m dword[RBSlot],eax |
211 | m2m dword[RBSlot],eax |
183 | 212 | ||
184 | RBWMessages: |
213 | RBWMessages: |
185 | mcall 10 ;WaitMessage |
214 | mcall 10 ;WaitMessage |
186 | dec eax |
215 | dec eax |
187 | jz RBWRedraw |
216 | jz RBWRedraw |
188 | sub eax,2 |
217 | sub eax,2 |
189 | jz RBWButton |
218 | jz RBWButton |
190 | sub eax,3 |
219 | sub eax,3 |
191 | jz RBWMouse |
220 | jz RBWMouse |
192 | jmp RBWMessages |
221 | jmp RBWMessages |
193 | 222 | ||
194 | RBWButton: |
223 | RBWButton: |
195 | mcall 17 ;GetButtonPressed |
224 | mcall 17 ;GetButtonPressed |
196 | shr eax,8 |
225 | shr eax,8 |
197 | cmp eax,idbRRedrawFon |
226 | cmp eax,idbRRedrawFon |
198 | jz RBRedrawFon |
227 | jz RBRedrawFon |
199 | cmp eax,idbRAlign |
228 | cmp eax,idbRAlign |
200 | jz RBAlign |
229 | jz RBAlign |
201 | cmp eax,idbRFixIcons |
230 | cmp eax,idbRFixIcons |
202 | jz RBFixIcons |
231 | jz RBFixIcons |
203 | cmp eax,idbRAdd |
232 | cmp eax,idbRAdd |
204 | jz RBAdd |
233 | jz RBAdd |
205 | cmp eax,idbRDel |
234 | cmp eax,idbRDel |
206 | jz RBDelete |
235 | jz RBDelete |
207 | cmp eax,idbRProp |
236 | cmp eax,idbRProp |
208 | jz RBPropeties |
237 | jz RBPropeties |
209 | 238 | ||
210 | cmp eax,[NumUserButt] |
239 | cmp eax,[NumUserButt] |
211 | ja @f |
240 | ja @f |
212 | 241 | ||
213 | mov eax,[RBUser+eax*8+4] |
242 | mov eax,[RBUser+eax*8+4] |
214 | mov dword[fiRunProg+8],0 |
243 | mov dword[fiRunProg+8],0 |
215 | mov dword[fiRunProg+21],eax |
244 | mov dword[fiRunProg+21],eax |
216 | mcall 70,fiRunProg |
245 | mcall 70,fiRunProg |
217 | @@: |
246 | @@: |
218 | jmp RBWExit |
247 | jmp RBWExit |
219 | 248 | ||
220 | RBWMouse: |
249 | RBWMouse: |
- | 250 | cmp [PredItem],-1 |
|
- | 251 | je @f |
|
- | 252 | mov eax,[PredItem] |
|
- | 253 | xor ebx,ebx |
|
- | 254 | mov bx,[RMenuW] |
|
- | 255 | mov cx,ax |
|
- | 256 | shl ecx,16 |
|
- | 257 | mov cx,ax |
|
- | 258 | mcall 38,,,[sc.work] |
|
- | 259 | add ecx,00100010h |
|
- | 260 | mcall ,,,[sc.work] |
|
- | 261 | @@: |
|
- | 262 | call ClickInWin |
|
- | 263 | jnc @f |
|
- | 264 | mcall 37,1 ;¯®«®¦¥¨¥ ¬ëè¨ ®â®á¨â¥«ì® ®ª |
|
- | 265 | and eax,0FFF0h |
|
- | 266 | mov [PredItem],eax |
|
- | 267 | xor ebx,ebx |
|
- | 268 | mov bx,[RMenuW] |
|
- | 269 | mov cx,ax |
|
- | 270 | shl ecx,16 |
|
- | 271 | mov cx,ax |
|
- | 272 | mcall 38,,,[sc.workL] |
|
- | 273 | add ecx,00100010h |
|
- | 274 | mcall ,,,[sc.workH] |
|
- | 275 | @@: |
|
- | 276 | ||
- | 277 | ||
221 | mcall 37,2 ;GetMouseKey |
278 | mcall 37,2 ;GetMouseKey |
222 | test eax,111b |
279 | test eax,111b |
223 | jz RBWMessages |
280 | jz RBWMessages |
224 | mcall 37,0 ;GetMousePos |
- | |
225 | xor ebx,ebx |
- | |
226 | mov bx,ax ;y |
- | |
227 | shr eax,16 ;x |
- | |
228 | - | ||
229 | xor ecx,ecx |
- | |
230 | mov cx,bx |
- | |
231 | mov bx,ax |
- | |
232 | 281 | ||
233 | mcall 34 |
- | |
234 | cmp eax,[RBSlot] |
282 | call ClickInWin |
235 | je RBWMessages |
283 | jc RBWMessages |
236 | 284 | ||
237 | RBWExit: |
285 | RBWExit: |
238 | mcall 68,13,[RBUser] |
286 | mcall 68,13,[RBUser] |
239 | mov [RButtonActiv],0 |
287 | mov [RButtonActiv],0 |
240 | mcall -1 ;ExitProcess |
288 | mcall -1 ;ExitProcess |
241 | 289 | ||
242 | 290 | ||
243 | RBRedrawFon: |
291 | RBRedrawFon: |
244 | mcall 15,3 |
292 | mcall 15,3 |
245 | jmp RBWExit |
293 | jmp RBWExit |
246 | 294 | ||
247 | RBAlign: |
295 | RBAlign: |
248 | call AlignIcons |
296 | call AlignIcons |
249 | 297 | ||
250 | m2m [PIcoDB],[BegData] |
298 | m2m [PIcoDB],[BegData] |
251 | stdcall [ini_enum_sections],IconIni,Ini_SavePos |
299 | stdcall [ini_enum_sections],IconIni,Ini_SavePos |
252 | 300 | ||
253 | mov dword[fiRunProg+8],WarningSave |
301 | mov dword[fiRunProg+8],WarningSave |
254 | mov dword[fiRunProg+21],pthNotify |
302 | mov dword[fiRunProg+21],pthNotify |
255 | mcall 70,fiRunProg |
303 | mcall 70,fiRunProg |
256 | mov [bNotSave],0 |
304 | mov [bNotSave],0 |
257 | 305 | ||
258 | jmp RBRedrawFon |
306 | jmp RBRedrawFon |
259 | 307 | ||
260 | RBFixIcons: |
308 | RBFixIcons: |
261 | xor dword[bFixIcons],1 |
309 | xor dword[bFixIcons],1 |
262 | 310 | ||
263 | cmp [bNotSave],0 |
311 | cmp [bNotSave],0 |
264 | je @f |
312 | je @f |
265 | 313 | ||
266 | mov dword[fiRunProg+8],WarningSave |
314 | mov dword[fiRunProg+8],WarningSave |
267 | mov dword[fiRunProg+21],pthNotify |
315 | mov dword[fiRunProg+21],pthNotify |
268 | mcall 70,fiRunProg |
316 | mcall 70,fiRunProg |
269 | mov [bNotSave],0 |
317 | mov [bNotSave],0 |
270 | 318 | ||
271 | @@: |
319 | @@: |
272 | jmp RBWExit |
320 | jmp RBWExit |
273 | 321 | ||
274 | RBAdd: |
322 | RBAdd: |
275 | cmp [DlgAddActiv],1 |
323 | cmp [DlgAddActiv],1 |
276 | je RBWSetActivWin |
324 | je RBWSetActivWin |
277 | mov [DlgAddActiv],1 |
325 | mov [DlgAddActiv],1 |
278 | 326 | ||
279 | mcall 51,1,DlgAdd,stack_dlg ;CreateThread DlgAdd,stack_dlg |
327 | mcall 51,1,DlgAdd,stack_dlg ;CreateThread DlgAdd,stack_dlg |
280 | jmp RBWExit |
328 | jmp RBWExit |
281 | 329 | ||
282 | RBDelete: |
330 | RBDelete: |
283 | 331 | ||
284 | mov eax,[SelIcon] |
332 | mov eax,[SelIcon] |
285 | mov eax,[IconsOffs+eax*4] |
333 | mov eax,[IconsOffs+eax*4] |
286 | stdcall [ini_del_section],IconIni,eax |
334 | stdcall [ini_del_section],IconIni,eax |
287 | 335 | ||
288 | stdcall DelIcon,[SelIcon] |
336 | stdcall DelIcon,[SelIcon] |
289 | ; mov dword[fiStdIco],2 |
337 | ; mov dword[fiStdIco],2 |
290 | ; m2m dword[fInfo+12],dword[SizeData] |
338 | ; m2m dword[fInfo+12],dword[SizeData] |
291 | ; mcall 70,fInfo |
339 | ; mcall 70,fInfo |
292 | 340 | ||
293 | mov dword[fiRunProg+8],WarningSave |
341 | mov dword[fiRunProg+8],WarningSave |
294 | mov dword[fiRunProg+21],pthNotify |
342 | mov dword[fiRunProg+21],pthNotify |
295 | mcall 70,fiRunProg |
343 | mcall 70,fiRunProg |
296 | mov [bNotSave],0 |
344 | mov [bNotSave],0 |
297 | 345 | ||
298 | jmp RBRedrawFon |
346 | jmp RBRedrawFon |
299 | 347 | ||
300 | RBPropeties: |
348 | RBPropeties: |
301 | cmp [DlgAddActiv],1 |
349 | cmp [DlgAddActiv],1 |
302 | je RBWSetActivWin |
350 | je RBWSetActivWin |
303 | mov [DlgAddActiv],1 |
351 | mov [DlgAddActiv],1 |
304 | 352 | ||
305 | mcall 51,1,DlgProp,stack_dlg ;CreateThread DlgProp,stack_dlg |
353 | mcall 51,1,DlgProp,stack_dlg ;CreateThread DlgProp,stack_dlg |
306 | jmp RBWExit |
354 | jmp RBWExit |
307 | 355 | ||
308 | RBWSetActivWin: |
356 | RBWSetActivWin: |
309 | mcall 18,3,[slotDlgAdd] |
357 | mcall 18,3,[slotDlgAdd] |
310 | jmp RBWExit |
358 | jmp RBWExit |
- | 359 | ||
- | 360 | proc ClickInWin ;Carry flag = 1, ¥á«¨ ª«¨ª ¢ ®ª¥ |
|
- | 361 | mcall 37,0 ;GetMousePos |
|
- | 362 | xor ebx,ebx |
|
- | 363 | mov bx,ax ;y |
|
- | 364 | shr eax,16 ;x |
|
- | 365 | ||
- | 366 | xor ecx,ecx |
|
- | 367 | mov cx,bx |
|
- | 368 | mov bx,ax |
|
- | 369 | ||
- | 370 | mcall 34 |
|
- | 371 | cmp eax,[RBSlot] |
|
- | 372 | jne @f |
|
- | 373 | stc |
|
- | 374 | ret |
|
- | 375 | @@: |
|
- | 376 | clc |
|
- | 377 | ret |
|
- | 378 | endp |
|
311 | 379 | ||
312 | 380 | ||
313 | proc AlignIcons |
381 | proc AlignIcons |
314 | local posX:WORD,\ |
382 | local posX:WORD,\ |
315 | posY:WORD,\ |
383 | posY:WORD,\ |
316 | negatX:WORD,\ |
384 | negatX:WORD,\ |
317 | negatY:WORD |
385 | negatY:WORD |
318 | 386 | ||
319 | xor ebx,ebx |
387 | xor ebx,ebx |
320 | 388 | ||
321 | mov ecx,[MaxNumIcon] |
389 | mov ecx,[MaxNumIcon] |
322 | test ecx,ecx |
390 | test ecx,ecx |
323 | jnz .AlignIco |
391 | jnz .AlignIco |
324 | ret |
392 | ret |
325 | .AlignIco: |
393 | .AlignIco: |
326 | push ecx |
394 | push ecx |
327 | or ecx,-1 |
395 | or ecx,-1 |
328 | mov edi,dword[IconsOffs+ebx] |
396 | mov edi,dword[IconsOffs+ebx] |
329 | xor eax,eax |
397 | xor eax,eax |
330 | repne scasb |
398 | repne scasb |
331 | repne scasb |
399 | repne scasb |
332 | repne scasb |
400 | repne scasb |
333 | repne scasb |
401 | repne scasb |
334 | 402 | ||
335 | mov dword[negatX],0 |
403 | mov dword[negatX],0 |
336 | 404 | ||
337 | ;-------- ¯à¥®¡à §ã¥¬ ª®®à¤¨ âë ¢ ¯®«®¦¨â¥«ìë¥ |
405 | ;-------- ¯à¥®¡à §ã¥¬ ª®®à¤¨ âë ¢ ¯®«®¦¨â¥«ìë¥ |
338 | mov ax,[edi+2] |
406 | mov ax,[edi+2] |
339 | test ax,8000h |
407 | test ax,8000h |
340 | jz @f |
408 | jz @f |
341 | neg ax |
409 | neg ax |
342 | mov word[negatX],1 |
410 | mov word[negatX],1 |
343 | @@: |
411 | @@: |
344 | mov [posX],ax |
412 | mov [posX],ax |
345 | 413 | ||
346 | mov ax,[edi] |
414 | mov ax,[edi] |
347 | test ax,8000h |
415 | test ax,8000h |
348 | jz @f |
416 | jz @f |
349 | neg ax |
417 | neg ax |
350 | mov word[negatY],1 |
418 | mov word[negatY],1 |
351 | @@: |
419 | @@: |
352 | mov [posY],ax |
420 | mov [posY],ax |
353 | 421 | ||
354 | ;----- |
422 | ;----- |
355 | mov ax,[posY] |
423 | mov ax,[posY] |
356 | mov dx,ALIGN_SIZE |
424 | mov dx,ALIGN_SIZE |
357 | 425 | ||
358 | cmp ax,dx |
426 | cmp ax,dx |
359 | jb .AI0 |
427 | jb .AI0 |
360 | @@: sub ax,dx |
428 | @@: sub ax,dx |
361 | cmp ax,dx |
429 | cmp ax,dx |
362 | jae @b |
430 | jae @b |
363 | .AI0: |
431 | .AI0: |
364 | 432 | ||
365 | mov dx,ax |
433 | mov dx,ax |
366 | cmp dx,ALIGN_SIZE/2 |
434 | cmp dx,ALIGN_SIZE/2 |
367 | jb .AI1 |
435 | jb .AI1 |
368 | 436 | ||
369 | mov ax,ALIGN_SIZE |
437 | mov ax,ALIGN_SIZE |
370 | sub ax,dx |
438 | sub ax,dx |
371 | add [posY],ax |
439 | add [posY],ax |
372 | 440 | ||
373 | jmp .AI2 |
441 | jmp .AI2 |
374 | .AI1: |
442 | .AI1: |
375 | sub [posY],dx |
443 | sub [posY],dx |
376 | .AI2: |
444 | .AI2: |
377 | ;----- |
445 | ;----- |
378 | mov ax,[posX] |
446 | mov ax,[posX] |
379 | mov dx,ALIGN_SIZE |
447 | mov dx,ALIGN_SIZE |
380 | 448 | ||
381 | cmp ax,dx |
449 | cmp ax,dx |
382 | jb .AI3 |
450 | jb .AI3 |
383 | @@: sub ax,dx |
451 | @@: sub ax,dx |
384 | cmp ax,dx |
452 | cmp ax,dx |
385 | jae @b |
453 | jae @b |
386 | .AI3: |
454 | .AI3: |
387 | 455 | ||
388 | mov dx,ax |
456 | mov dx,ax |
389 | cmp dx,ALIGN_SIZE/2 |
457 | cmp dx,ALIGN_SIZE/2 |
390 | jb .AI4 |
458 | jb .AI4 |
391 | 459 | ||
392 | mov ax,ALIGN_SIZE |
460 | mov ax,ALIGN_SIZE |
393 | sub ax,dx |
461 | sub ax,dx |
394 | add [posX],ax |
462 | add [posX],ax |
395 | 463 | ||
396 | jmp .AI5 |
464 | jmp .AI5 |
397 | .AI4: |
465 | .AI4: |
398 | sub [posX],dx |
466 | sub [posX],dx |
399 | .AI5: |
467 | .AI5: |
400 | 468 | ||
401 | ;----- ¯à¥®¡à §®¢ ¨¥ § ¤ ¨ ¯®¯à ¢ª ¢ ®âà¨æ ⥫ìëå ª®®à¤¨ â |
469 | ;----- ¯à¥®¡à §®¢ ¨¥ § ¤ ¨ ¯®¯à ¢ª ¢ ®âà¨æ ⥫ìëå ª®®à¤¨ â |
402 | mov ax,[posX] |
470 | mov ax,[posX] |
403 | 471 | ||
404 | cmp [negatX],1 |
472 | cmp [negatX],1 |
405 | jne @f |
473 | jne @f |
406 | neg ax |
474 | neg ax |
407 | inc ax |
475 | inc ax |
408 | jmp .AI6 |
476 | jmp .AI6 |
409 | @@: |
477 | @@: |
410 | 478 | ||
411 | mov dx,[ScreenX] |
479 | mov dx,[ScreenX] |
412 | shr dx,1 |
480 | shr dx,1 |
413 | cmp ax,dx |
481 | cmp ax,dx |
414 | jbe .AI6 |
482 | jbe .AI6 |
415 | sub ax,[ScreenX] |
483 | sub ax,[ScreenX] |
416 | .AI6: |
484 | .AI6: |
417 | mov word[edi+2],ax |
485 | mov word[edi+2],ax |
418 | 486 | ||
419 | 487 | ||
420 | mov ax,[posY] |
488 | mov ax,[posY] |
421 | cmp [negatY],1 |
489 | cmp [negatY],1 |
422 | jne @f |
490 | jne @f |
423 | neg ax |
491 | neg ax |
424 | inc ax |
492 | inc ax |
425 | jmp .AI7 |
493 | jmp .AI7 |
426 | @@: |
494 | @@: |
427 | 495 | ||
428 | mov dx,[ScreenY] |
496 | mov dx,[ScreenY] |
429 | shr dx,1 |
497 | shr dx,1 |
430 | cmp ax,dx |
498 | cmp ax,dx |
431 | jbe .AI7 |
499 | jbe .AI7 |
432 | sub ax,[ScreenY] |
500 | sub ax,[ScreenY] |
433 | .AI7: |
501 | .AI7: |
434 | mov word[edi],ax |
502 | mov word[edi],ax |
435 | 503 | ||
436 | ;-------- |
504 | ;-------- |
437 | 505 | ||
438 | 506 | ||
439 | 507 | ||
440 | pop ecx |
508 | pop ecx |
441 | add ebx,4 |
509 | add ebx,4 |
442 | dec ecx |
510 | dec ecx |
443 | jnz .AlignIco |
511 | jnz .AlignIco |
444 | ; loop .AlignIco |
512 | ; loop .AlignIco |
445 | 513 | ||
446 | 514 | ||
447 | ; mov dword[fInfo],2 |
515 | ; mov dword[fInfo],2 |
448 | ; mcall 70,fInfo |
516 | ; mcall 70,fInfo |
449 | ret |
517 | ret |
450 | endp |
518 | endp |
451 | 519 | ||
452 | ;------------------------------------------------------------------------------- |
520 | ;------------------------------------------------------------------------------- |
453 | proc GetUserBut stdcall,f_name,sec_name,key_name,key_value |
521 | proc GetUserBut stdcall,f_name,sec_name,key_name,key_value |
454 | cmp [NumUserButt],16 |
522 | cmp [NumUserButt],16 |
455 | jne @f |
523 | jne @f |
456 | ret |
524 | ret |
457 | @@: |
525 | @@: |
458 | 526 | ||
459 | push ebx esi edi |
527 | push ebx esi edi |
460 | - | ||
461 | mov edi,[key_name] |
- | |
462 | mov esi,keyMenuColor |
- | |
463 | @@: lodsb |
- | |
464 | scasb |
- | |
465 | jne @f |
- | |
466 | test al,al |
- | |
467 | jnz @b |
- | |
468 | - | ||
469 | stdcall [ini_get_color],[f_name],[sec_name],[key_name],0888888h |
- | |
470 | mov [RBMenuColor],eax |
- | |
471 | ret |
- | |
472 | @@: |
- | |
473 | 528 | ||
474 | mov edi,[key_name] ;®¯à¥¤¥«ï¥¬ è¨à¨ã ¬¥î |
529 | mov edi,[key_name] ;®¯à¥¤¥«ï¥¬ è¨à¨ã ¬¥î |
475 | xor eax,eax |
530 | xor eax,eax |
476 | or ecx,-1 |
531 | or ecx,-1 |
477 | repne scasb |
532 | repne scasb |
478 | sub edi,[key_name] |
533 | sub edi,[key_name] |
479 | mov eax,edi |
534 | mov eax,edi |
480 | shl eax,1 |
535 | shl eax,1 |
481 | lea eax,[eax*2+eax+5*2] |
536 | lea eax,[eax*2+eax+5*2] |
482 | cmp ax,[RMenuW] |
537 | cmp ax,[RMenuW] |
483 | jbe @f |
538 | jbe @f |
484 | mov [RMenuW],ax |
539 | mov [RMenuW],ax |
485 | @@: |
540 | @@: |
486 | cmp [RMenuW],MinRMenuW |
541 | cmp [RMenuW],MinRMenuW |
487 | jae @f |
542 | jae @f |
488 | mov [RMenuW],MinRMenuW |
543 | mov [RMenuW],MinRMenuW |
489 | @@: |
544 | @@: |
490 | 545 | ||
491 | mov ebx,[NumUserButt] |
546 | mov ebx,[NumUserButt] |
492 | 547 | ||
493 | mov esi,[key_name] |
548 | mov esi,[key_name] |
494 | mov edi,[RBUser+ebx*8] |
549 | mov edi,[RBUser+ebx*8] |
495 | @@: lodsb |
550 | @@: lodsb |
496 | stosb |
551 | stosb |
497 | test al,al |
552 | test al,al |
498 | jnz @b |
553 | jnz @b |
499 | 554 | ||
500 | ;debug_newline |
555 | ;debug_newline |
501 | 556 | ||
502 | 557 | ||
503 | mov [RBUser+ebx*8+4],edi |
558 | mov [RBUser+ebx*8+4],edi |
504 | mov esi,[key_value] |
559 | mov esi,[key_value] |
505 | @@: lodsb |
560 | @@: lodsb |
506 | stosb |
561 | stosb |
507 | test al,al |
562 | test al,al |
508 | jnz @b |
563 | jnz @b |
509 | 564 | ||
510 | mov [RBUser+ebx*8+8],edi |
565 | mov [RBUser+ebx*8+8],edi |
511 | 566 | ||
512 | inc [NumUserButt] |
567 | inc [NumUserButt] |
513 | add [RMenuH],16 |
- | |
514 | 568 | ||
515 | pop edi esi ebx |
569 | pop edi esi ebx |
516 | mov eax,1 |
570 | mov eax,1 |
517 | ret |
571 | ret |
518 | endp |
572 | endp |
519 | 573 | ||
520 | proc Ini_SavePos stdcall,f_name,sec_name |
574 | proc Ini_SavePos stdcall,f_name,sec_name |
521 | push ebx edi esi |
575 | push ebx edi esi |
522 | 576 | ||
523 | xor ebx,ebx |
577 | xor ebx,ebx |
524 | .SearchSect: |
578 | .SearchSect: |
525 | mov edi,[IconsOffs+ebx*4] |
579 | mov edi,[IconsOffs+ebx*4] |
526 | mov esi,[sec_name] |
580 | mov esi,[sec_name] |
527 | @@: |
581 | @@: |
528 | lodsb |
582 | lodsb |
529 | scasb |
583 | scasb |
530 | jne @f |
584 | jne @f |
531 | test al,al |
585 | test al,al |
532 | jnz @b |
586 | jnz @b |
533 | 587 | ||
534 | jmp .IcoDataFound |
588 | jmp .IcoDataFound |
535 | @@: |
589 | @@: |
536 | 590 | ||
537 | inc ebx |
591 | inc ebx |
538 | cmp ebx,[MaxNumIcon] |
592 | cmp ebx,[MaxNumIcon] |
539 | jb .SearchSect |
593 | jb .SearchSect |
540 | 594 | ||
541 | mov eax,1 |
595 | mov eax,1 |
542 | pop esi edi ebx |
596 | pop esi edi ebx |
543 | ret |
597 | ret |
544 | 598 | ||
545 | .IcoDataFound: |
599 | .IcoDataFound: |
546 | or ecx,-1 |
600 | or ecx,-1 |
547 | repne scasb |
601 | repne scasb |
548 | repne scasb |
602 | repne scasb |
549 | repne scasb |
603 | repne scasb |
550 | 604 | ||
551 | ;int3 |
605 | ;int3 |
552 | movzx eax,word[edi+2] |
606 | movzx eax,word[edi+2] |
553 | test eax,8000h |
607 | test eax,8000h |
554 | jz @f |
608 | jz @f |
555 | or eax,0FFFF0000h |
609 | or eax,0FFFF0000h |
556 | @@: |
610 | @@: |
557 | 611 | ||
558 | stdcall [ini_set_int],[f_name],[sec_name],keyX,eax |
612 | stdcall [ini_set_int],[f_name],[sec_name],keyX,eax |
559 | 613 | ||
560 | movzx eax,word[edi] |
614 | movzx eax,word[edi] |
561 | test eax,8000h |
615 | test eax,8000h |
562 | jz @f |
616 | jz @f |
563 | or eax,0FFFF0000h |
617 | or eax,0FFFF0000h |
564 | @@: |
618 | @@: |
565 | 619 | ||
566 | stdcall [ini_set_int],[f_name],[sec_name],keyY,eax |
620 | stdcall [ini_set_int],[f_name],[sec_name],keyY,eax |
567 | 621 | ||
568 | mov eax,1 |
622 | mov eax,1 |
569 | pop esi edi ebx |
623 | pop esi edi ebx |
570 | ret |
624 | ret |
571 | endp |
625 | endp |