Subversion Repositories Kolibri OS

Rev

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: