Subversion Repositories Kolibri OS

Rev

Rev 833 | Rev 1100 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 833 Rev 1098
Line -... Line 1...
-
 
1
; 01.06.09 - Š®¬¯®­¥­âë ¡¥àãâìáï ¨§ á¨á⥬­®© ¡¨¡«¨®â¥ª¨ 
1
; €¢â®à ¯à®£à ¬¬ë …¢â¨å®¢ Œ ªá¨¬ (Maxxxx32)
2
; €¢â®à ¯à®£à ¬¬ë …¢â¨å®¢ Œ ªá¨¬ (Maxxxx32)
2
; 24.07.2008  ®¡­®¢«¥­ editbox
3
; 24.07.2008  ®¡­®¢«¥­ editbox
3
; 01.02.07 - ®¡­®¢«ñ­ editbox
4
; 01.02.07 - ®¡­®¢«ñ­ editbox
4
; 31.01.07 - ¢áñ ⥯¥àì à¨áã¥âáï ®â­®á¨â¥«ì­® ª«¨¥­â᪮© ®¡« áâ¨
5
; 31.01.07 - ¢áñ ⥯¥àì à¨áã¥âáï ®â­®á¨â¥«ì­® ª«¨¥­â᪮© ®¡« áâ¨
5
macro draw_status text_ptr
-
 
6
{
-
 
7
        mov     [status.text],dword text_ptr
-
 
8
        call    send_draw_status
-
 
9
}
-
 
Line -... Line 6...
-
 
6
 
-
 
7
title equ 'Screenshooter v 0.91' ; ‡ £®«®¢®ª ®ª­ 
-
 
8
include '../../develop/libraries/box_lib/trunk/load_lib.mac'
-
 
9
include '../../develop/libraries/box_lib/trunk/editbox_ex.mac'
-
 
10
;include '../../develop/examples/editbox/trunk/editbox.inc'
-
 
11
include '../../macros.inc'
-
 
12
include 'scrshoot.mac'
-
 
13
include 'txtbut.inc'
-
 
14
include 'label.inc'
-
 
15
include 'textwork.inc'
-
 
16
 
-
 
17
;include 'macros.inc'  ; ¢áâ ¢«ï¥¬ ¬ ªà®áë
-
 
18
;        meos_header  cmdstr ; ¢áâ ¢«ï¥¬ § £®«®¢®ª ¯à®£à ¬¬ë
-
 
19
use32                
-
 
20
    org 0x0
-
 
21
    db 'MENUET01'
-
 
22
    dd 0x1
-
 
23
    dd start
-
 
24
    dd i_end
-
 
25
    dd i_end
-
 
26
    dd i_end
-
 
27
    dd cmdstr
Line 10... Line -...
10
 
-
 
11
 
28
    dd cur_dir_path
12
title equ 'Screenshooter v 0.9' ; ‡ £®«®¢®ª ®ª­ 
-
 
13
include 'macros.inc'  ; ¢áâ ¢«ï¥¬ ¬ ªà®áë
29
 
14
        meos_header  cmdstr ; ¢áâ ¢«ï¥¬ § £®«®¢®ª ¯à®£à ¬¬ë
30
align 4
-
 
31
include 'scrwin.inc'  ; ¢áâ ¢«ï¥¬ ª®¤ ®ª­  ¯à¤¯à®á¬®âà 
15
include 'scrwin.inc'  ; ¢áâ ¢«ï¥¬ ª®¤ ®ª­  ¯à¤¯à®á¬®âà 
32
include 'scrsavef.inc'; ¢áâ ¢«ï¥¬ ¯à®æ¥¤ãàã á®åà ­¥­¨ï ä ©« 
16
include 'scrsavef.inc'; ¢áâ ¢«ï¥¬ ¯à®æ¥¤ãàã á®åà ­¥­¨ï ä ©« 
33
 
17
        use_edit_box                            ; \
34
        @use_library
18
        use_txt_button                          ;  |
-
 
19
        use_label                               ;  |-- GUI ª®¬¯®­¥­âë ¨ ­¥ª®â®àë¥ ¯à®æ¥¤ãàë
35
        use_txt_button                          ;  |
20
        use_check_box                           ;  |
36
        use_label                               ;  |-- GUI ª®¬¯®­¥­âë ¨ ­¥ª®â®àë¥ ¯à®æ¥¤ãàë
21
        use_text_work                           ; /
37
        use_text_work                           ; /
22
include 'gp.inc'
38
include 'gp.inc'
23
include 'srectwin.inc'
39
include 'srectwin.inc'
-
 
40
include 'lang.inc'
-
 
41
;--- ­ ç «® ¯à®£à ¬¬ë ---
-
 
42
align 4
-
 
43
start:
-
 
44
sys_load_library  library_name, cur_dir_path, library_path, system_path, \
-
 
45
err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i
-
 
46
;if return code =-1 then exit, else nornary work
-
 
47
;        cmp     eax,-1
-
 
48
        inc     eax
-
 
49
        test    eax,eax
-
 
50
        jz      close
-
 
51
;;;;;;;;;;;;;;;; init memory 68/11
24
include 'lang.inc'
52
        mov     eax,68
-
 
53
        mov     ebx,11
-
 
54
        mcall
-
 
55
        test    eax,eax
25
;--- ­ ç «® ¯à®£à ¬¬ë ---
56
        jz      close
26
        app_start
57
 
27
        ;mov     al,[gs:1280*4*1024]
58
        ;mov     al,[gs:1280*4*1024]
28
                    ; ãáâ ­ ¢«¨¢ ¥¬ ipc ¡ãää¥à
59
                    ; ãáâ ­ ¢«¨¢ ¥¬ ipc ¡ãää¥à
29
        push    60
60
        push    60
30
        pop     eax
61
        pop     eax
31
        ;mov     ebx,1
62
        ;mov     ebx,1
32
        xor     ebx,ebx
63
        xor     ebx,ebx
33
        inc     ebx
64
        inc     ebx
34
        mov     ecx,app_ipc
65
        mov     ecx,app_ipc
Line 35... Line 66...
35
        mov     edx,32
66
        mov     edx,32
36
        int     0x40
67
        mcall
37
 
68
 
38
        push    66   ; ãáâ ­ ¢«¨¢ ¥¬ £«®¡ «ì­ãî £®àïçãî ª« ¢¨èã
69
        push    66   ; ãáâ ­ ¢«¨¢ ¥¬ £«®¡ «ì­ãî £®àïçãî ª« ¢¨èã
39
        pop     eax
70
        pop     eax
40
        push    eax
71
        push    eax
41
        mov     ebx,4
72
        mov     ebx,4
Line 42... Line 73...
42
        mov     cl,55    ; 55 - PrintScrn
73
        mov     cl,55    ; 55 - PrintScrn
43
        xor     edx,edx
74
        xor     edx,edx
44
        int     0x40
75
        mcall
Line 73... Line 104...
73
        cmp     ah,55
104
        cmp     ah,55
74
        jne     @f
105
        jne     @f
75
        call    shoot
106
        call    shoot
76
        jmp     still
107
        jmp     still
77
@@:
108
@@:
78
        key_edit_boxes editboxes,editboxes_end
109
;        key_edit_boxes editboxes,editboxes_end
-
 
110
        push    dword edit1
-
 
111
        call    [edit_box_key]
-
 
112
 
-
 
113
        push    dword edit2
-
 
114
        call    [edit_box_key]
-
 
115
 
-
 
116
        push    dword edit3
-
 
117
        call    [edit_box_key]
-
 
118
 
-
 
119
        push    dword edit4
-
 
120
        call    [edit_box_key]
-
 
121
 
79
        jmp     still
122
        jmp     still
80
button:
123
button:
81
        get_pressed_button
124
        get_pressed_button
82
        cmp     ah,1
125
        cmp     ah,1
83
        je      p_close
126
        je      p_close
Line 85... Line 128...
85
        jmp     still
128
        jmp     still
86
mouse:
129
mouse:
87
        get_active_window
130
        get_active_window
88
        cmp     eax,[slot_n]
131
        cmp     eax,[slot_n]
89
        jne     still
132
        jne     still
-
 
133
;----------------------------------
-
 
134
        push    dword edit1
-
 
135
        call    [edit_box_mouse]
-
 
136
        push    dword edit2
-
 
137
        call    [edit_box_mouse]
-
 
138
        push    dword edit3
-
 
139
        call    [edit_box_mouse]
-
 
140
        push    dword edit4
-
 
141
        call    [edit_box_mouse]
-
 
142
;----------------------------------
-
 
143
        push    dword ch1
-
 
144
        call    [check_box_mouse]
-
 
145
        push    dword ch2
-
 
146
        call    [check_box_mouse]
-
 
147
        push    dword ch3
-
 
148
        call    [check_box_mouse]
-
 
149
        push    dword ch4
-
 
150
        call    [check_box_mouse]
-
 
151
        push    dword ch5
-
 
152
        call    [check_box_mouse]
-
 
153
        push    dword ch6
-
 
154
        call    [check_box_mouse]
-
 
155
        push    dword use_rect
-
 
156
        call    [check_box_mouse]
-
 
157
;-----------------------------------
90
        mouse_check_boxes check_boxes,check_boxes_end
158
;        mouse_check_boxes check_boxes,check_boxes_end
91
        mouse_edit_boxes editboxes,editboxes_end
159
;        mouse_edit_boxes editboxes,editboxes_end
92
        jmp     still
160
        jmp     still
93
ipc:
161
ipc:
94
        cmp     word [app_ipc+8],2
162
        cmp     word [app_ipc+8],2
95
        jne     @f
163
        jne     @f
96
        min_window
164
        min_window
Line 101... Line 169...
101
        call    dr_st
169
        call    dr_st
Line 102... Line 170...
102
 
170
 
103
.clear_ipc:
171
.clear_ipc:
104
        cld
172
        cld
105
        xor     eax,eax
173
        xor     eax,eax
106
        movr     ecx,32
174
        mov     ecx,32
107
        mov     edi,app_ipc
175
        mov     edi,app_ipc
108
        rep     stosb
176
        rep     stosb
Line 109... Line 177...
109
        jmp     still
177
        jmp     still
110
 
178
 
Line 111... Line 179...
111
p_close:
179
p_close:
112
        btr     dword [flags],1
180
        btr     dword [flags],1
113
 
181
 
114
        bt      dword [flags],3
182
        bt      dword [flags],3
115
        jnc     @f
183
        jnc     @f
116
        movr    eax,18
184
        mov    eax,18
117
        mov     ebx,eax
185
        mov     ebx,eax
Line 118... Line 186...
118
        mov     ecx,[set_rect_window_pid]
186
        mov     ecx,[set_rect_window_pid]
119
        int     0x40
187
        mcall
Line 131... Line 199...
131
        get_skin_height
199
        get_skin_height
132
        mov     ebx,100*65536+320
200
        mov     ebx,100*65536+320
133
        mov     ecx,100*65536+220
201
        mov     ecx,100*65536+220
134
        add     cx,ax
202
        add     cx,ax
135
        mov     edx,[sc.work]
203
        mov     edx,[sc.work]
136
        add     edx,0x34000000;0x33000000
204
        or      edx,0x34000000;0x33000000
137
        xor     esi,esi
205
        xor     esi,esi
138
        ;xor     edi,edi
206
        ;xor     edi,edi
139
        mov     edi,grab_text
207
        mov     edi,grab_text
140
        xor     eax,eax
208
        xor     eax,eax
141
        int     0x40
209
        mcall
Line 142... Line 210...
142
 
210
 
143
        movr     eax,47             ; ¢ë¢®¤¨¬ ç¨á«  ¢ ®ª­®
211
        mov     eax,47             ; ¢ë¢®¤¨¬ ç¨á«  ¢ ®ª­®
144
        mov     bx,4
212
        mov     bx,4
145
        shl     ebx,16
213
        shl     ebx,16
146
        movsx   ecx,word [scr.width] ; è¨à¨­  íªà ­ 
214
        movsx   ecx,word [scr.width] ; è¨à¨­  íªà ­ 
147
        mov     dx,95
215
        mov     dx,95
148
        shl     edx,16
216
        shl     edx,16
149
        mov     dx,[label1.top]
217
        mov     dx,[label1.top]
150
        push    dx
218
        push    dx
151
        mov     esi,[sc.work_text]
219
        mov     esi,[sc.work_text]
152
        int     0x40
220
        mcall
153
        movsx   ecx,word [scr.height]   ; ¢ëá®â  íªà ­ 
221
        movsx   ecx,word [scr.height]   ; ¢ëá®â  íªà ­ 
154
        mov     dx,[label2.top]
222
        mov     dx,[label2.top]
155
        int     0x40
223
        mcall
156
        mov     bx,2
224
        mov     bx,2
157
        shl     ebx,16
225
        shl     ebx,16
158
        movsx   ecx,word [scr.bitspp]   ; ¡¨â ­  ¯¨ªá¥«ì
226
        movsx   ecx,word [scr.bitspp]   ; ¡¨â ­  ¯¨ªá¥«ì
159
        mov     dx,240
227
        mov     dx,240
160
        shl     edx,16
228
        shl     edx,16
161
        pop     dx
229
        pop     dx
162
        int     0x40
230
        mcall
163
        mov     bx,6
231
        mov     bx,6
164
        shl     ebx,16
232
        shl     ebx,16
165
        mov     ecx,[scr.bytesps]       ; ¡ ©â ­  áâபã
233
        mov     ecx,[scr.bytesps]       ; ¡ ©â ­  áâபã
166
        mov     dx,[label2.top]
234
        mov     dx,[label2.top]
Line 167... Line 235...
167
        int     0x40
235
        mcall
168
 
236
 
Line 169... Line 237...
169
        call    draw_number      ; ¯à®à¨á®¢ë¢ ¥¬ ­®¬¥à á­¨¬ª 
237
        call    draw_number      ; ¯à®à¨á®¢ë¢ ¥¬ ­®¬¥à á­¨¬ª 
170
        call    dr_st
238
        call    dr_st
-
 
239
 
-
 
240
        draw_labels labels,labels_end            ; ¬¥âª¨
-
 
241
;        draw_edit_boxes editboxes,editboxes_end  ; edit_box
-
 
242
;------ show check editbox -----------
-
 
243
        push    dword edit1
-
 
244
        call    [edit_box_draw]
-
 
245
        push    dword edit2                                                                                                  
-
 
246
        call    [edit_box_draw]
-
 
247
        push    dword edit3
-
 
248
        call    [edit_box_draw]
-
 
249
        push    dword edit4
171
 
250
        call    [edit_box_draw]
172
        draw_labels labels,labels_end            ; ¬¥âª¨
251
;------ end check all editbox -------
-
 
252
 
-
 
253
        draw_txt_buttons buttons,buttons_end     ; ª­®¯ª¨
-
 
254
;        draw_check_boxes check_boxes,check_boxes_end ; ä« ¦ª¨
-
 
255
;------ check all checkbox ---------
-
 
256
        push    dword ch1
-
 
257
        call    [check_box_draw]
-
 
258
        push    dword ch2
-
 
259
        call    [check_box_draw]        
-
 
260
        push    dword ch3
-
 
261
        call    [check_box_draw]
-
 
262
        push    dword ch4
-
 
263
        call    [check_box_draw]
-
 
264
        push    dword ch5
-
 
265
        call    [check_box_draw]
-
 
266
        push    dword ch6
-
 
267
        call    [check_box_draw]
-
 
268
        push    dword use_rect
173
        draw_edit_boxes editboxes,editboxes_end  ; edit_box
269
        call    [check_box_draw]
174
        draw_txt_buttons buttons,buttons_end     ; ª­®¯ª¨
270
;------ end check all checkbox ------
Line 175... Line 271...
175
        draw_check_boxes check_boxes,check_boxes_end ; ä« ¦ª¨
271
 
176
stop_draw_window      ; ª®­¥æ ¯¥à¥à¨á®¢ª¨
272
stop_draw_window      ; ª®­¥æ ¯¥à¥à¨á®¢ª¨
Line 229... Line 325...
229
@@:
325
@@:
230
ret
326
ret
Line 231... Line 327...
231
 
327
 
232
;--- ¯®«ãç¨âì ¯ ¬ïâì ¤«ï á­¨¬ª  ---
328
;--- ¯®«ãç¨âì ¯ ¬ïâì ¤«ï á­¨¬ª  ---
-
 
329
get_mem_for_shoot:
233
get_mem_for_shoot:
330
;clean memory
-
 
331
        mov     ecx,dword [scr_buf.ptr]
-
 
332
        mov     ebx,13
-
 
333
        mov     eax,68
-
 
334
        mcall
234
        mov     [scr_buf.ptr],dword __app_end
335
 
235
        bt      dword [use_rect.flags],1 ; ä®âª âì ®¡« áâì íªà ­ 
336
        bt      dword [use_rect.flags],1 ; ä®âª âì ®¡« áâì íªà ­ 
236
        jc      .use_area
337
        jc      .use_area
237
        movzx   ecx, word [scr.width]
338
        movzx   ecx, word [scr.width]
238
        movzx   ebx, word [scr.height]
339
        movzx   ebx, word [scr.height]
Line 242... Line 343...
242
        movzx   ecx, word [rect.width]
343
        movzx   ecx, word [rect.width]
243
        movzx   ebx, word [rect.height]
344
        movzx   ebx, word [rect.height]
244
@@:
345
@@:
245
        imul    ecx,ebx
346
        imul    ecx,ebx
246
        lea     ecx,[ecx*3]
347
        lea     ecx,[ecx*3]
247
        add     ecx,__app_end
348
;        add     ecx,i_end
-
 
349
        mov     ebx,12
-
 
350
        mov     eax,68
-
 
351
        mcall
-
 
352
        mov     [scr_buf.ptr],eax
-
 
353
        add     eax,ecx
248
        mov     [scr_buf.end_ptr],ecx
354
        mov     [scr_buf.end_ptr],ecx
249
        xor     ebx,ebx
-
 
250
        inc     ebx
-
 
251
        mov     eax,64
-
 
252
        int     0x40
-
 
253
ret
355
ret
Line 254... Line 356...
254
 
356
 
255
;--- ᮤ âì ®ª­® ¯à®¥¤¯à®á¬®âà  ---
357
;--- ᮤ âì ®ª­® ¯à®¥¤¯à®á¬®âà  ---
256
show_scr_window:
358
show_scr_window:
257
pusha
359
pusha
258
        bt      dword [flags],0
360
        bt      dword [flags],0
259
        jnc     @f
361
        jnc     @f
260
        mov     eax,51
362
        mov     eax,51
261
        xor     ebx,ebx
363
        xor     ebx,ebx
262
        inc     ebx
364
        inc     ebx
263
        movr     ecx,scr_window
365
        mov     ecx,scr_window
264
        mov     edx,__app_end-1000
366
        mov     edx,i_end_tread-1000
265
        int     0x40
367
        mcall
266
@@:
368
@@:
267
popa
369
popa
Line 268... Line 370...
268
ret
370
ret
Line 278... Line 380...
278
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ ⥪ã饣® ­®¬¥à  ---
380
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ ⥪ã饣® ­®¬¥à  ---
279
draw_number:
381
draw_number:
280
        mov     edi,sign_n_input
382
        mov     edi,sign_n_input
281
        call    zstr_to_int
383
        call    zstr_to_int
282
        mov     [sign_n],al
384
        mov     [sign_n],al
283
        movr     eax,13
385
        mov     eax,13
284
        mov     ebx,150*65536+96
386
        mov     ebx,150*65536+96
285
        mov     cx,[label9.top]
387
        mov     cx,[label9.top]
286
        shl     ecx,16
388
        shl     ecx,16
287
        mov     cx,10
389
        mov     cx,10
288
        mov     edx,[sc.work]
390
        mov     edx,[sc.work]
289
        int     0x40
391
        mcall
290
        movr     eax,47
392
        mov     eax,47
291
        movsx   bx,byte [sign_n]
393
        movsx   bx,byte [sign_n]
292
        shl     ebx,16
394
        shl     ebx,16
293
        mov     ecx,[cur_number]
395
        mov     ecx,[cur_number]
294
        mov     dx,150
396
        mov     dx,150
295
        shl     edx,16
397
        shl     edx,16
296
        mov     dx,[label9.top]
398
        mov     dx,[label9.top]
297
        mov     esi,[sc.work_text]
399
        mov     esi,[sc.work_text]
298
        int     0x40
400
        mcall
299
ret
401
ret
Line 300... Line 402...
300
 
402
 
301
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª  ¢â®áꥬª¨ ---
403
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª  ¢â®áꥬª¨ ---
302
start_autoshoot:
404
start_autoshoot:
303
        bts     dword [flags],1
405
        bts     dword [flags],1
304
        jc      @f
406
        jc      @f
305
        movr     eax,51
407
        mov     eax,51
306
        ;mov     ebx,1
408
        ;mov     ebx,1
307
        xor     ebx,ebx
409
        xor     ebx,ebx
308
        inc     ebx
410
        inc     ebx
309
        mov     ecx,autoshoot
411
        mov     ecx,autoshoot
310
        mov     edx,__app_end-512
412
        mov     edx,i_end_tread-512
311
        int     0x40
413
        mcall
312
@@:
414
@@:
Line 313... Line 415...
313
ret
415
ret
314
 
416
 
Line 322... Line 424...
322
        mov     ecx,[slot_n]
424
        mov     ecx,[slot_n]
323
        activ_window
425
        activ_window
324
.next:
426
.next:
325
        bt      dword [flags],1
427
        bt      dword [flags],1
326
        jnc     close
428
        jnc     close
327
        movr     eax,60
429
        mov     eax,60
328
        movr     ebx,2
430
        mov     ebx,2
329
        mov     ecx,[app.pid]
431
        mov     ecx,[app.pid]
330
        mov     edx,messages.draw_number
432
        mov     edx,messages.draw_number
331
        mov     esi,2
433
        mov     esi,2
332
        int     0x40
434
        mcall
333
        call    shoot
435
        call    shoot
334
        jmp     autoshoot.next
436
        jmp     autoshoot.next
Line 335... Line 437...
335
 
437
 
336
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ áâப¨ á®áâ®ï­¨ï ---
438
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ áâப¨ á®áâ®ï­¨ï ---
337
; (¤®«¦­  ¢ë§ë¢ âìáï ¯®â®ª®¬ £« ¢­®£® ®ª­ )
439
; (¤®«¦­  ¢ë§ë¢ âìáï ¯®â®ª®¬ £« ¢­®£® ®ª­ )
338
dr_st:
440
dr_st:
339
        movr     eax,38              ; ®â१®ª
441
        mov     eax,38              ; ®â१®ª
340
        mov     ebx,0*65536+310
442
        mov     ebx,0*65536+310
341
        mov     ecx,198*65536+198
443
        mov     ecx,198*65536+198
342
        mov     edx,[sc.work_graph]
444
        mov     edx,[sc.work_graph]
Line 343... Line 445...
343
        int     0x40
445
        mcall
344
 
446
 
345
        movr     eax,13              ; ¯®«®áª 
447
        mov     eax,13              ; ¯®«®áª 
346
        mov     bx,310
448
        mov     bx,310
347
        mov     ecx,199*65536+15
449
        mov     ecx,199*65536+15
Line 348... Line 450...
348
        mov     edx,[sc.work]
450
        mov     edx,[sc.work]
349
        int     0x40
451
        mcall
350
 
452
 
Line 351... Line 453...
351
        mov     edi,status
453
        mov     edi,status
352
        call    draw_label
454
        call    draw_label
353
ret
455
ret
354
 
456
 
355
;--- ¯à®æ¥¤ãà  ¯®«ã祭¨ï ­®¬¥à  á«®â  ¯®â®ª  ---
457
;--- ¯à®æ¥¤ãà  ¯®«ã祭¨ï ­®¬¥à  á«®â  ¯®â®ª  ---
356
; ¢å®¤ ebx - ¡ãää¥à 1024 ¡ ©â
458
; ¢å®¤ ebx - ¡ãää¥à 1024 ¡ ©â
357
; ¢ë室 ecx - ­®¬¥à á«®â 
459
; ¢ë室 ecx - ­®¬¥à á«®â 
358
get_slot_n:
460
get_slot_n:
Line 359... Line 461...
359
        movr     eax,9
461
        mov     eax,9
360
        xor     ecx,ecx
462
        xor     ecx,ecx
361
        dec     ecx
463
        dec     ecx
362
        int     0x40
464
        mcall
363
 
465
 
364
        mov     edx,[ebx+30]
466
        mov     edx,[ebx+30]
365
        xor     ecx,ecx
467
        xor     ecx,ecx
366
@@:
468
@@:
367
        movr     eax,9
469
        mov     eax,9
368
        inc     ecx
470
        inc     ecx
369
        int     0x40
471
        mcall
Line 386... Line 488...
386
        bts     dword [flags],2
488
        bts     dword [flags],2
387
        jc      .running
489
        jc      .running
388
        bt      dword [flags],1
490
        bt      dword [flags],1
389
        jc      .running
491
        jc      .running
Line 390... Line 492...
390
 
492
 
391
        movr     eax,51
493
        mov     eax,51
392
        ;mov     ebx,1
494
        ;mov     ebx,1
393
        xor     ebx,ebx
495
        xor     ebx,ebx
394
        inc     ebx
496
        inc     ebx
395
        int     0x40
497
        mcall
396
.running:
498
.running:
Line 397... Line 499...
397
ret
499
ret
398
 
500
 
399
;--- ¯®â®ª, ¤¥« î騩 1 á­¨¬®ª ---
501
;--- ¯®â®ª, ¤¥« î騩 1 á­¨¬®ª ---
400
one_shoot_thread:
502
one_shoot_thread:
401
        mov     ecx,[slot_n]
503
        mov     ecx,[slot_n]
402
        activ_window
504
        activ_window
403
        bt      dword [ch1.flags],1   ; ¬¨­¨¬¨§¨à®¢ âì ®ª­® ?
505
        bt      dword [ch1.flags],1   ; ¬¨­¨¬¨§¨à®¢ âì ®ª­® ?
404
        jnc      @f
506
        jnc      @f
405
        movr     eax,60
507
        mov     eax,60
406
        movr     ebx,2
508
        mov     ebx,2
407
        mov     ecx,[app.pid]
509
        mov     ecx,[app.pid]
408
        mov     edx,messages.min_window
510
        mov     edx,messages.min_window
409
        mov     esi,2
511
        mov     esi,2
410
        int     0x40
512
        mcall
411
@@:
513
@@:
412
        call    shoot
514
        call    shoot
Line 413... Line 515...
413
        btr     dword [flags],2
515
        btr     dword [flags],2
414
        jmp     close
516
        jmp     close
415
 
517
 
416
;--- ¯à®æ¥¤ãà , ®â¯à ¢«ïîé ï £« ¢­®¬ã ®ª­ã á®®¡é¥­¨¥ ® ¯¥à¥à¨á®¢ª¥
518
;--- ¯à®æ¥¤ãà , ®â¯à ¢«ïîé ï £« ¢­®¬ã ®ª­ã á®®¡é¥­¨¥ ® ¯¥à¥à¨á®¢ª¥
417
; áâப¨ á®áâ®ï­¨ï ---
519
; áâப¨ á®áâ®ï­¨ï ---
418
send_draw_status:
520
send_draw_status:
419
        movr     eax,60
521
        mov     eax,60
420
        movr     ebx,2
522
        mov     ebx,2
421
        mov     ecx,[app.pid]
523
        mov     ecx,[app.pid]
422
        mov     edx,messages.draw_status
524
        mov     edx,messages.draw_status
Line 423... Line 525...
423
        mov     esi,2
525
        mov     esi,2
424
        int     0x40
526
        mcall
425
ret
527
ret
Line 434... Line 536...
434
 
536
 
435
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª ®ª­  ãáâ ­®¢ª¨ ®¡« á⨠áꥬª¨ ---
537
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª ®ª­  ãáâ ­®¢ª¨ ®¡« á⨠áꥬª¨ ---
436
show_set_rect_window:
538
show_set_rect_window:
437
        bts     dword [flags],3
539
        bts     dword [flags],3
438
        jc      @f
540
        jc      @f
439
        movr     eax,51
541
        mov     eax,51
440
        xor     ebx,ebx
542
        xor     ebx,ebx
441
        inc     ebx
543
        inc     ebx
442
        mov     ecx,set_rect_window
544
        mov     ecx,set_rect_window
443
        mov     edx,set_rect_window_esp
545
        mov     edx,set_rect_window_esp
Line 444... Line 546...
444
        int     0x40
546
        mcall
445
 
547
 
Line 446... Line 548...
446
        mov     [set_rect_window_pid],eax
548
        mov     [set_rect_window_pid],eax
447
ret
549
ret
448
 
550
 
449
@@:
551
@@:
450
        movr    eax,18
552
        mov    eax,18
451
        mov     ebx,eax
553
        mov     ebx,eax
452
        mov     ecx,[set_rect_window_pid]
554
        mov     ecx,[set_rect_window_pid]
Line 453... Line 555...
453
        int     0x40
555
        mcall
454
        btr     dword [flags],3
556
        btr     dword [flags],3
455
ret
557
ret
456
 
558
 
457
;--- ¯®«ã祭¨¥ ¨­ä®à¬ æ¨¨ ®¡  ªâ¨¢­®¬ ®ª­¥ ---
559
;--- ¯®«ã祭¨¥ ¨­ä®à¬ æ¨¨ ®¡  ªâ¨¢­®¬ ®ª­¥ ---
Line 458... Line 560...
458
get_active_window_info:
560
get_active_window_info:
459
        movr    eax,18
561
        mov    eax,18
460
        movr    ebx,7
562
        mov    ebx,7
461
        int     0x40
563
        mcall
462
 
564
 
Line 463... Line 565...
463
        mov     ecx,eax
565
        mov     ecx,eax
464
        movr    eax,9
566
        mov     eax,9
465
        mov     ebx,active_app
567
        mov     ebx,active_app
Line 491... Line 593...
491
label10 label 5,185,0,text.10
593
label10 label 5,185,0,text.10
492
status label 5,201,0,no_shoot
594
status label 5,201,0,no_shoot
493
labels_end:
595
labels_end:
Line 494... Line 596...
494
 
596
 
495
editboxes:
597
editboxes:
496
edit1 edit_box 300,5,35,cl_white,0xaabbcc,0,0,0,1024,ed_buffer.1,ed_focus        ; ¯ãâì ª ä ©«ã
598
edit1 edit_box 300,5,35,cl_white,0xaabbcc,0,0,0,300,ed_buffer.1,ed_focus,10,10        ; ¯ãâì ª ä ©«ã
497
edit2 edit_box 35,75,134,cl_white,0xaabbcc,0,0,0,9,ed_buffer.2,ed_figure_only    ; § ¤¥à¦ª 
599
edit2 edit_box 35,75,134,cl_white,0xaabbcc,0,0,0,9,ed_buffer.2,ed_figure_only,3,3         ; § ¤¥à¦ª 
498
edit3 edit_box 35,165,164,cl_white,0xaabbcc,0,0,0,9,ed_buffer.3,ed_figure_only
600
edit3 edit_box 35,165,164,cl_white,0xaabbcc,0,0,0,9,ed_buffer.3,ed_figure_only    ;  ¢â®­ã¬¥à æ¨ï
499
edit4 edit_box 16,165,181,cl_white,0xaabbcc,0,0,0,1,sign_n_input,ed_figure_only,1
601
edit4 edit_box 16,165,181,cl_white,0xaabbcc,0,0,0,1,sign_n_input,ed_figure_only,1
Line 500... Line 602...
500
editboxes_end:
602
editboxes_end:
501
 
603
 
Line 508... Line 610...
508
but6 txt_button 145,160,15,85,7,0,0,but_text.6,stop_autoshoot     ; ®áâ ­®¢¨âì  ¢â®áêñ¬ªã
610
but6 txt_button 145,160,15,85,7,0,0,but_text.6,stop_autoshoot      ; ®áâ ­®¢¨âì  ¢â®áêñ¬ªã
509
but7 txt_button 40,205,10,150,8,0,0,but_text.7,show_set_rect_window ; § ¤ âì ®¡« áâì
611
but7 txt_button 40,205,10,150,8,0,0,but_text.7,show_set_rect_window ; § ¤ âì ®¡« áâì
510
buttons_end:
612
buttons_end:
Line 511... Line 613...
511
 
613
 
512
check_boxes:
614
check_boxes:
513
ch1 check_box 5,105,cl_white,0,0,ch_text.1,(ch_text.2-ch_text.1)  ; ᢥà­ãâì ®ª­®
615
ch1 check_box 5,105,5,11,cl_white,0,0,ch_text.1,(ch_text.2-ch_text.1),ch_flag_en  ; ᢥà­ãâì ®ª­®
514
ch2 check_box 5,120,cl_white,0,0,ch_text.2,(ch_text.3-ch_text.2)  ; § â¥¬ ᤥ« âì  ªâ¨¢­ë¬
616
ch2 check_box 5,120,5,11,cl_white,0,0,ch_text.2,(ch_text.3-ch_text.2),ch_flag_en  ; § â¥¬ ᤥ« âì  ªâ¨¢­ë¬
515
ch3 check_box 145,105,cl_white,0,0,ch_text.3,(ch_text.4-ch_text.3) ; ¯®ª § âì á­¨¬®ª
617
ch3 check_box 145,105,5,11,cl_white,0,0,ch_text.3,(ch_text.4-ch_text.3),ch_flag_en ; ¯®ª § âì á­¨¬®ª
516
ch4 check_box 5,135,cl_white,0,0,ch_text.4,(ch_text.5-ch_text.4)  ;
618
ch4 check_box 5,135,5,11,cl_white,0,0,ch_text.4,(ch_text.5-ch_text.4),ch_flag_en   ; § ¤¥à¦ª 
517
ch5 check_box 5,150,cl_white,0,0,ch_text.5,(ch_text.6-ch_text.5)
619
ch5 check_box 5,150,5,11,cl_white,0,0,ch_text.5,(ch_text.6-ch_text.5)
518
ch6 check_box 5,165,cl_white,0,0,ch_text.6,(ch_text.7-ch_text.6)
620
ch6 check_box 5,165,5,11,cl_white,0,0,ch_text.6,(ch_text.7-ch_text.6),ch_flag_en
519
use_rect check_box 145,150,cl_white,0,0,ch_text.7,(ch_text.8-ch_text.7) ; ¨á¯. ®¡« áâì
621
use_rect check_box 145,150,5,11,cl_white,0,0,ch_text.7,(ch_text.8-ch_text.7) ; ¨á¯. ®¡« áâì
520
;  ¢â®­ã¬¥à æ¨ï
622
;  ¢â®­ã¬¥à æ¨ï
Line 521... Line 623...
521
check_boxes_end:
623
check_boxes_end:
522
 
624
 
Line 608... Line 710...
608
bad_file_name db 'File name is wrong',0
710
bad_file_name db 'File name is wrong',0
609
disk_filled db 'Disk is full',0
711
disk_filled db 'Disk is full',0
610
bad_fat_table db 'FAT table destroyed',0
712
bad_fat_table db 'FAT table destroyed',0
611
ac_den db 'Access denied',0
713
ac_den db 'Access denied',0
612
device_er db 'Device error',0
714
device_er db 'Device error',0
613
not_shooted db 'Make photo !!!',0
715
not_shooted db 'Make a photo !!!',0
614
no_file_name db 'Enter file name !!!',0
716
no_file_name db 'Enter file name !!!',0
615
invalid_rect db 'Wrong area size',0
717
invalid_rect db 'Wrong area size',0
Line 616... Line 718...
616
 
718
 
Line 617... Line 719...
617
end if
719
end if
618
 
720
 
Line 619... Line 721...
619
sign_n_input:
721
sign_n_input:
-
 
722
        db      '2',0
Line 620... Line 723...
620
        db      '2',0
723
 
621
 
724
app_ipc ipc_buffer 32
622
app_ipc ipc_buffer 32
725
align 4
Line -... Line 726...
-
 
726
 
-
 
727
mouse_flag: dd 0x0
623
 
728
structure_of_potock:
Line 624... Line 729...
624
mouse_flag: dd 0x0
729
rb 100
Line 625... Line 730...
625
structure_of_potock:
730
 
Line 654... Line 759...
654
.end          dd      ?
759
.end          dd      ?
Line 655... Line 760...
655
 
760
 
656
set_rect_window_pid dd ?
761
set_rect_window_pid dd ?
Line -... Line 762...
-
 
762
set_rect_window_slot dd ?
-
 
763
 
-
 
764
align 4
-
 
765
 
-
 
766
ed_buffer:
-
 
767
.1: db '/sys/*.bmp',0
-
 
768
rb 287
-
 
769
.2: db '100',0
-
 
770
 rb 6
-
 
771
.3:  rb 10
-
 
772
 
657
set_rect_window_slot dd ?
773
 
658
 
774
align 4
659
rect_input_buffer:
775
rect_input_buffer:
660
.left rb 6
776
.left rb 6
661
.top  rb 6
777
.top  rb 6
Line 662... Line 778...
662
.width  rb 6
778
.width  rb 6
Line 663... Line -...
663
.height rb 6
-
 
664
 
-
 
665
cmdstr rb 257
-
 
666
 
779
.height rb 6
Line 667... Line 780...
667
ed_buffer:
780
 
668
.1: rb 1025
781
cmdstr rb 257
Line 669... Line 782...
669
.2: rb 10
782
 
Line 677... Line 790...
677
.left dw ?
790
.left dw ?
678
.top dw ?
791
.top dw ?
679
.height dw ?
792
.height dw ?
680
.width dw ?
793
.width dw ?
Line 681... Line -...
681
 
-
 
682
 
794
 
683
sc sys_color_table
795
sc sys_color_table
684
app procinfo        ; ¨­ä®à¬ æ¨ï ® £« ¢­®¬ ®ª­¥
796
app procinfo        ; ¨­ä®à¬ æ¨ï ® £« ¢­®¬ ®ª­¥
685
active_app procinfo ; ¨­ä®à¬ æ¨ï ®¡  ªâ¨¢­®¬ ®ª­¥
797
active_app procinfo ; ¨­ä®à¬ æ¨ï ®¡  ªâ¨¢­®¬ ®ª­¥
686
set_rect_window_procinfo procinfo  ; ¨­ä®à¬ æ¨ï ®¡ ®ª­¥ ®¡« áâ¨
798
set_rect_window_procinfo procinfo  ; ¨­ä®à¬ æ¨ï ®¡ ®ª­¥ ®¡« áâ¨
687
shoot_esp rb 512                   ; á⥪ ¯®â®ª  ä®âª ­ìï
799
shoot_esp rb 512                   ; á⥪ ¯®â®ª  ä®âª ­ìï
688
set_rect_window_esp rb 512         ; á⥪ ®ª­  ®¡« áâ¨
-
 
689
        app_end    ; ª®­¥æ ¯à®£à ¬¬ë
800
set_rect_window_esp rb 512         ; á⥪ ®ª­  ®¡« áâ¨
-
 
801
;        app_end    ; ª®­¥æ ¯à®£à ¬¬ë
-
 
802
align 4
-
 
803
cur_dir_path    rb 4096
-
 
804
library_path    rb 4096
-
 
805
i_end_tread:
-
 
806
rb 1024
-
 
807
align 4
-
 
808
i_end:
690
809