Subversion Repositories Kolibri OS

Rev

Rev 1214 | Rev 1373 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1214 Rev 1228
1
; 01.06.09 - Š®¬¯®­¥­âë ¡¥àãâìáï ¨§ á¨á⥬­®© ¡¨¡«¨®â¥ª¨ 
1
; 01.06.09 - Š®¬¯®­¥­âë ¡¥àãâìáï ¨§ á¨á⥬­®© ¡¨¡«¨®â¥ª¨ 
2
; €¢â®à ¯à®£à ¬¬ë …¢â¨å®¢ Œ ªá¨¬ (Maxxxx32)
2
; €¢â®à ¯à®£à ¬¬ë …¢â¨å®¢ Œ ªá¨¬ (Maxxxx32)
3
; 24.07.2008  ®¡­®¢«¥­ editbox
3
; 24.07.2008  ®¡­®¢«¥­ editbox
4
; 01.02.07 - ®¡­®¢«ñ­ editbox
4
; 01.02.07 - ®¡­®¢«ñ­ editbox
5
; 31.01.07 - ¢áñ ⥯¥àì à¨áã¥âáï ®â­®á¨â¥«ì­® ª«¨¥­â᪮© ®¡« áâ¨
5
; 31.01.07 - ¢áñ ⥯¥àì à¨áã¥âáï ®â­®á¨â¥«ì­® ª«¨¥­â᪮© ®¡« áâ¨
6
 
6
 
7
title equ 'Screenshooter v 0.91' ; ‡ £®«®¢®ª ®ª­ 
7
title equ 'Screenshooter v 0.92' ; ‡ £®«®¢®ª ®ª­ 
8
include '../../develop/libraries/box_lib/load_lib.mac'
8
include '../../develop/libraries/box_lib/load_lib.mac'
9
include '../../develop/libraries/box_lib/asm/trunk/editbox_ex.mac'
9
include '../../develop/libraries/box_lib/asm/trunk/editbox_ex.mac'
10
;include '../../develop/examples/editbox/trunk/editbox.inc'
10
;include '../../develop/examples/editbox/trunk/editbox.inc'
11
include '../../macros.inc'
11
include '../../macros.inc'
12
include 'scrshoot.mac'
-
 
13
include 'txtbut.inc'
12
include 'txtbut.inc'
14
include 'label.inc'
13
include 'label.inc'
15
include 'textwork.inc'
14
include 'textwork.inc'
-
 
15
include 'scrshoot.mac'
16
 
16
 
17
;include 'macros.inc'  ; ¢áâ ¢«ï¥¬ ¬ ªà®áë
17
;include 'macros.inc'  ; ¢áâ ¢«ï¥¬ ¬ ªà®áë
18
;        meos_header  cmdstr ; ¢áâ ¢«ï¥¬ § £®«®¢®ª ¯à®£à ¬¬ë
18
;        meos_header  cmdstr ; ¢áâ ¢«ï¥¬ § £®«®¢®ª ¯à®£à ¬¬ë
19
use32                
19
use32                
20
    org 0x0
20
    org 0x0
21
    db 'MENUET01'
21
    db 'MENUET01'
22
    dd 0x1
22
    dd 0x1
23
    dd start
23
    dd start
24
    dd i_end
24
    dd i_end
25
    dd i_end
25
    dd i_end
26
    dd i_end
26
    dd i_end
27
    dd cmdstr
27
    dd cmdstr
28
    dd cur_dir_path
28
    dd cur_dir_path
29
 
29
 
30
align 4
30
align 4
31
include 'scrwin.inc'  ; ¢áâ ¢«ï¥¬ ª®¤ ®ª­  ¯à¤¯à®á¬®âà 
-
 
32
include 'scrsavef.inc'; ¢áâ ¢«ï¥¬ ¯à®æ¥¤ãàã á®åà ­¥­¨ï ä ©« 
-
 
33
 
-
 
34
        @use_library
31
        @use_library
35
        use_txt_button                          ;  |
32
        use_txt_button                          ;  |
36
        use_label                               ;  |-- GUI ª®¬¯®­¥­âë ¨ ­¥ª®â®àë¥ ¯à®æ¥¤ãàë
33
        use_label                               ;  |-- GUI ª®¬¯®­¥­âë ¨ ­¥ª®â®àë¥ ¯à®æ¥¤ãàë
37
        use_text_work                           ; /
34
        use_text_work                           ; /
-
 
35
include 'scrwin.inc'  ; ¢áâ ¢«ï¥¬ ª®¤ ®ª­  ¯à¤¯à®á¬®âà 
-
 
36
include 'scrsavef.inc'; ¢áâ ¢«ï¥¬ ¯à®æ¥¤ãàã á®åà ­¥­¨ï ä ©« 
-
 
37
 
38
include 'gp.inc'
38
include 'gp.inc'
39
include 'srectwin.inc'
39
include 'srectwin.inc'
40
include 'lang.inc'
40
include 'lang.inc'
41
;--- ­ ç «® ¯à®£à ¬¬ë ---
41
;--- ­ ç «® ¯à®£à ¬¬ë ---
42
align 4
42
align 4
43
start:
43
start:
44
sys_load_library  library_name, cur_dir_path, library_path, system_path, \
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
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
46
;if return code =-1 then exit, else nornary work
47
;        cmp     eax,-1
47
;        cmp     eax,-1
48
        inc     eax
48
        inc     eax
49
        test    eax,eax
49
        test    eax,eax
50
        jz      close
50
        jz      close
51
;;;;;;;;;;;;;;;; init memory 68/11
51
;;;;;;;;;;;;;;;; init memory 68/11
52
        mov     eax,68
52
        mov     eax,68
53
        mov     ebx,11
53
        mov     ebx,11
54
        mcall
54
        mcall
55
        test    eax,eax
55
        test    eax,eax
56
        jz      close
56
        jz      close
57
 
57
 
58
        ;mov     al,[gs:1280*4*1024]
58
        ;mov     al,[gs:1280*4*1024]
59
                    ; ãáâ ­ ¢«¨¢ ¥¬ ipc ¡ãää¥à
59
                    ; ãáâ ­ ¢«¨¢ ¥¬ ipc ¡ãää¥à
60
        push    60
60
        push    60
61
        pop     eax
61
        pop     eax
62
        ;mov     ebx,1
62
        ;mov     ebx,1
63
        xor     ebx,ebx
63
        xor     ebx,ebx
64
        inc     ebx
64
        inc     ebx
65
        mov     ecx,app_ipc
65
        mov     ecx,app_ipc
66
        mov     edx,32
66
        mov     edx,32
67
        mcall
67
        mcall
68
 
68
 
69
        push    66   ; ãáâ ­ ¢«¨¢ ¥¬ £«®¡ «ì­ãî £®àïçãî ª« ¢¨èã
69
        push    66   ; ãáâ ­ ¢«¨¢ ¥¬ £«®¡ «ì­ãî £®àïçãî ª« ¢¨èã
70
        pop     eax
70
        pop     eax
71
        push    eax
71
        push    eax
72
        mov     ebx,4
72
        mov     ebx,4
73
        mov     cl,55    ; 55 - PrintScrn
73
        mov     cl,55    ; 55 - PrintScrn
74
        xor     edx,edx
74
        xor     edx,edx
75
        mcall
75
        mcall
76
 
76
 
77
        mov     ebx,app
77
        mov     ebx,app
78
        call    get_slot_n
78
        call    get_slot_n
79
        mov     [slot_n],ecx
79
        mov     [slot_n],ecx
80
 
80
 
81
        ; ãáâ ­ ¢«¨¢ ¥¬ ¬ áªã ᮡë⨩
81
        ; ãáâ ­ ¢«¨¢ ¥¬ ¬ áªã ᮡë⨩
82
        set_events_mask (evm_redraw+evm_key+evm_button+evm_mouse+evm_ipc)
82
        set_events_mask (evm_redraw+evm_key+evm_button+evm_mouse+evm_ipc)
83
 
83
 
84
; á ¯à룠¥¬ ¯à¨ ª ¦¤®© ¯¥à¥à¨á®¢ª¥
84
; á ¯à룠¥¬ ¯à¨ ª ¦¤®© ¯¥à¥à¨á®¢ª¥
85
red:
85
red:
86
        get_procinfo app   ; ¯®«ãç ¥¬ ¨­ä®à¬ æ¨î ® ¯à®æ¥áá¥
86
        get_procinfo app   ; ¯®«ãç ¥¬ ¨­ä®à¬ æ¨î ® ¯à®æ¥áá¥
87
        get_sys_colors sc  ; ¯®«ãç ¥¬ á¨á⥬­ë¥ 梥â 
87
        get_sys_colors sc  ; ¯®«ãç ¥¬ á¨á⥬­ë¥ 梥â 
88
 
88
 
89
        ; ãáâ ­ ¢«¨¢ ¥¬ á¨á⥬­ë¥ æ¢¥â  ã GUI ª®¬¯®­¥­â®¢
89
        ; ãáâ ­ ¢«¨¢ ¥¬ á¨á⥬­ë¥ æ¢¥â  ã GUI ª®¬¯®­¥­â®¢
90
        txt_but_set_sys_color buttons,buttons_end,sc             ; \
90
        txt_but_set_sys_color buttons,buttons_end,sc             ; \
91
        labels_set_sys_color labels,labels_end,sc                ; |
91
        labels_set_sys_color labels,labels_end,sc                ; |
92
        check_boxes_set_sys_color check_boxes,check_boxes_end,sc ; |
92
        check_boxes_set_sys_color check_boxes,check_boxes_end,sc ; |
93
        edit_boxes_set_sys_color editboxes,editboxes_end,sc      ; /
93
        edit_boxes_set_sys_color editboxes,editboxes_end,sc      ; /
94
 
94
 
95
        get_screen_prop scr ; ¯®«ãç ¥¬ ¨­ä®à¬ æ¨î ®¡ íªà ­¥
95
        get_screen_prop scr ; ¯®«ãç ¥¬ ¨­ä®à¬ æ¨î ®¡ íªà ­¥
96
        call    draw_window ; ¯¥à¥à¨á®¢ë¢ ¥¬ ®ª­®
96
        call    draw_window ; ¯¥à¥à¨á®¢ë¢ ¥¬ ®ª­®
97
still:
97
still:
98
        wait_event red,key,button,mouse,ipc,still ; ¦¤¥¬ ᮡë⨩
98
        wait_event red,key,button,mouse,ipc,still ; ¦¤¥¬ ᮡë⨩
99
 
99
 
100
key:
100
key:
101
        get_key
101
        get_key
102
        cmp     al,2
102
        cmp     al,2
103
        jne     @f
103
        jne     @f
104
        cmp     ah,55
104
        cmp     ah,55
105
        jne     @f
105
        jne     @f
106
        call    shoot
106
        call    shoot
107
        jmp     still
107
        jmp     still
108
@@:
108
@@:
109
;        key_edit_boxes editboxes,editboxes_end
109
;        key_edit_boxes editboxes,editboxes_end
110
        push    dword edit1
110
        push    dword edit1
111
        call    [edit_box_key]
111
        call    [edit_box_key]
112
 
112
 
113
        push    dword edit2
113
        push    dword edit2
114
        call    [edit_box_key]
114
        call    [edit_box_key]
115
 
115
 
116
        push    dword edit3
116
        push    dword edit3
117
        call    [edit_box_key]
117
        call    [edit_box_key]
118
 
118
 
119
        push    dword edit4
119
        push    dword edit4
120
        call    [edit_box_key]
120
        call    [edit_box_key]
121
 
121
 
122
        jmp     still
122
        jmp     still
123
button:
123
button:
124
        get_pressed_button
124
        get_pressed_button
125
        cmp     ah,1
125
        cmp     ah,1
126
        je      p_close
126
        je      p_close
127
        txt_but_ev buttons,buttons_end
127
        txt_but_ev buttons,buttons_end
128
        jmp     still
128
        jmp     still
129
mouse:
129
mouse:
130
        get_active_window
130
        get_active_window
131
        cmp     eax,[slot_n]
131
        cmp     eax,[slot_n]
132
        jne     still
132
        jne     still
133
;----------------------------------
133
;----------------------------------
134
        push    dword edit1
134
        push    dword edit1
135
        call    [edit_box_mouse]
135
        call    [edit_box_mouse]
136
        push    dword edit2
136
        push    dword edit2
137
        call    [edit_box_mouse]
137
        call    [edit_box_mouse]
138
        push    dword edit3
138
        push    dword edit3
139
        call    [edit_box_mouse]
139
        call    [edit_box_mouse]
140
        push    dword edit4
140
        push    dword edit4
141
        call    [edit_box_mouse]
141
        call    [edit_box_mouse]
142
;----------------------------------
142
;----------------------------------
143
        push    dword ch1
143
        push    dword ch1
144
        call    [check_box_mouse]
144
        call    [check_box_mouse]
145
        push    dword ch2
145
        push    dword ch2
146
        call    [check_box_mouse]
146
        call    [check_box_mouse]
147
        push    dword ch3
147
        push    dword ch3
148
        call    [check_box_mouse]
148
        call    [check_box_mouse]
149
        push    dword ch4
149
        push    dword ch4
150
        call    [check_box_mouse]
150
        call    [check_box_mouse]
151
        push    dword ch5
151
        push    dword ch5
152
        call    [check_box_mouse]
152
        call    [check_box_mouse]
153
        push    dword ch6
153
        push    dword ch6
154
        call    [check_box_mouse]
154
        call    [check_box_mouse]
155
        push    dword use_rect
155
        push    dword use_rect
156
        call    [check_box_mouse]
156
        call    [check_box_mouse]
157
;-----------------------------------
157
;-----------------------------------
158
;        mouse_check_boxes check_boxes,check_boxes_end
158
;        mouse_check_boxes check_boxes,check_boxes_end
159
;        mouse_edit_boxes editboxes,editboxes_end
159
;        mouse_edit_boxes editboxes,editboxes_end
160
        jmp     still
160
        jmp     still
161
ipc:
161
ipc:
162
        cmp     word [app_ipc+8],2
162
        cmp     word [app_ipc+8],2
163
        jne     @f
163
        jne     @f
164
        min_window
164
        min_window
165
        jmp     .clear_ipc
165
        jmp     .clear_ipc
166
@@:
166
@@:
167
        cmp     word [app_ipc+8],3
167
        cmp     word [app_ipc+8],3
168
        jne     @f
168
        jne     @f
169
	mov     ecx,[slot_n]
169
	mov     ecx,[slot_n]
170
        activ_window
170
        activ_window
171
        jmp     .clear_ipc
171
        jmp     .clear_ipc
172
@@:
172
@@:
173
        call    draw_number
173
        call    draw_number
174
        call    dr_st
174
        call    dr_st
175
 
175
 
176
.clear_ipc:
176
.clear_ipc:
177
        cld
177
        cld
178
        xor     eax,eax
178
        xor     eax,eax
179
        mov     ecx,32/4
179
        mov     ecx,32/4
180
        mov     edi,app_ipc
180
        mov     edi,app_ipc
181
        rep     stosd
181
        rep     stosd
182
        jmp     still
182
        jmp     still
183
 
183
 
184
p_close:
184
p_close:
185
        btr     dword [flags],1
185
        btr     dword [flags],1
186
 
186
 
187
        bt      dword [flags],3
187
        bt      dword [flags],3
188
        jnc     @f
188
        jnc     @f
189
        mov    eax,18
189
        mov    eax,18
190
        mov     ebx,eax
190
        mov     ebx,eax
191
        mov     ecx,[set_rect_window_pid]
191
        mov     ecx,[set_rect_window_pid]
192
        mcall
192
        mcall
193
@@:
193
@@:
194
 
194
 
195
close:
195
close:
196
        app_close
196
        app_close
197
 
197
 
198
;--------------------------------------------------------------------
198
;--------------------------------------------------------------------
199
;--- ¯à®®æ¥¤ãà  ¯¥à¥à¨á®¢ª¨ £« ¢­®£® ®ª­  ---------------------------
199
;--- ¯à®®æ¥¤ãà  ¯¥à¥à¨á®¢ª¨ £« ¢­®£® ®ª­  ---------------------------
200
;--------------------------------------------------------------------
200
;--------------------------------------------------------------------
201
draw_window:
201
draw_window:
202
start_draw_window        ; ­ ç «® ¯¥à¥à¨á®¢ª¨
202
start_draw_window        ; ­ ç «® ¯¥à¥à¨á®¢ª¨
203
        ; ®¯à¥¤¥«ï¥¬ ®ª­®
203
        ; ®¯à¥¤¥«ï¥¬ ®ª­®
204
        get_skin_height
204
        get_skin_height
205
        mov     ebx,100*65536+320
205
        mov     ebx,100*65536+320
206
        mov     ecx,100*65536+220
206
        mov     ecx,100*65536+220
207
        add     cx,ax
207
        add     cx,ax
208
        mov     edx,[sc.work]
208
        mov     edx,[sc.work]
209
        or      edx,0x34000000;0x33000000
209
        or      edx,0x34000000;0x33000000
210
        xor     esi,esi
210
        xor     esi,esi
211
        ;xor     edi,edi
211
        ;xor     edi,edi
212
        mov     edi,grab_text
212
        mov     edi,grab_text
213
        xor     eax,eax
213
        xor     eax,eax
214
        mcall
214
        mcall
215
 
215
 
216
        mov     eax,47             ; ¢ë¢®¤¨¬ ç¨á«  ¢ ®ª­®
216
        mov     eax,47             ; ¢ë¢®¤¨¬ ç¨á«  ¢ ®ª­®
217
        mov     bx,4
217
        mov     bx,4
218
        shl     ebx,16
218
        shl     ebx,16
219
        movsx   ecx,word [scr.width] ; è¨à¨­  íªà ­ 
219
        movsx   ecx,word [scr.width] ; è¨à¨­  íªà ­ 
220
        mov     dx,95
220
        mov     dx,95
221
        shl     edx,16
221
        shl     edx,16
222
        mov     dx,[label1.top]
222
        mov     dx,[label1.top]
223
        push    dx
223
        push    dx
224
        mov     esi,[sc.work_text]
224
        mov     esi,[sc.work_text]
225
        mcall
225
        mcall
226
        movsx   ecx,word [scr.height]   ; ¢ëá®â  íªà ­ 
226
        movsx   ecx,word [scr.height]   ; ¢ëá®â  íªà ­ 
227
        mov     dx,[label2.top]
227
        mov     dx,[label2.top]
228
        mcall
228
        mcall
229
        mov     bx,2
229
        mov     bx,2
230
        shl     ebx,16
230
        shl     ebx,16
231
        movsx   ecx,word [scr.bitspp]   ; ¡¨â ­  ¯¨ªá¥«ì
231
        movsx   ecx,word [scr.bitspp]   ; ¡¨â ­  ¯¨ªá¥«ì
232
        mov     dx,240
232
        mov     dx,240
233
        shl     edx,16
233
        shl     edx,16
234
        pop     dx
234
        pop     dx
235
        mcall
235
        mcall
236
        mov     bx,6
236
        mov     bx,6
237
        shl     ebx,16
237
        shl     ebx,16
238
        mov     ecx,[scr.bytesps]       ; ¡ ©â ­  áâபã
238
        mov     ecx,[scr.bytesps]       ; ¡ ©â ­  áâபã
239
        mov     dx,[label2.top]
239
        mov     dx,[label2.top]
240
        mcall
240
        mcall
241
 
241
 
242
        call    draw_number      ; ¯à®à¨á®¢ë¢ ¥¬ ­®¬¥à á­¨¬ª 
242
        call    draw_number      ; ¯à®à¨á®¢ë¢ ¥¬ ­®¬¥à á­¨¬ª 
243
        call    dr_st
243
        call    dr_st
244
 
244
 
245
        draw_labels labels,labels_end            ; ¬¥âª¨
245
        draw_labels labels,labels_end            ; ¬¥âª¨
246
;        draw_edit_boxes editboxes,editboxes_end  ; edit_box
246
;        draw_edit_boxes editboxes,editboxes_end  ; edit_box
247
;------ show check editbox -----------
247
;------ show check editbox -----------
248
        push    dword edit1
248
        push    dword edit1
249
        call    [edit_box_draw]
249
        call    [edit_box_draw]
250
        push    dword edit2                                                                                                  
250
        push    dword edit2                                                                                                  
251
        call    [edit_box_draw]
251
        call    [edit_box_draw]
252
        push    dword edit3
252
        push    dword edit3
253
        call    [edit_box_draw]
253
        call    [edit_box_draw]
254
        push    dword edit4
254
        push    dword edit4
255
        call    [edit_box_draw]
255
        call    [edit_box_draw]
256
;------ end check all editbox -------
256
;------ end check all editbox -------
257
 
257
 
258
        draw_txt_buttons buttons,buttons_end     ; ª­®¯ª¨
258
        draw_txt_buttons buttons,buttons_end     ; ª­®¯ª¨
259
;        draw_check_boxes check_boxes,check_boxes_end ; ä« ¦ª¨
259
;        draw_check_boxes check_boxes,check_boxes_end ; ä« ¦ª¨
260
;------ check all checkbox ---------
260
;------ check all checkbox ---------
261
        push    dword ch1
261
        push    dword ch1
262
        call    [check_box_draw]
262
        call    [check_box_draw]
263
        push    dword ch2
263
        push    dword ch2
264
        call    [check_box_draw]        
264
        call    [check_box_draw]        
265
        push    dword ch3
265
        push    dword ch3
266
        call    [check_box_draw]
266
        call    [check_box_draw]
267
        push    dword ch4
267
        push    dword ch4
268
        call    [check_box_draw]
268
        call    [check_box_draw]
269
        push    dword ch5
269
        push    dword ch5
270
        call    [check_box_draw]
270
        call    [check_box_draw]
271
        push    dword ch6
271
        push    dword ch6
272
        call    [check_box_draw]
272
        call    [check_box_draw]
273
        push    dword use_rect
273
        push    dword use_rect
274
        call    [check_box_draw]
274
        call    [check_box_draw]
275
;------ end check all checkbox ------
275
;------ end check all checkbox ------
276
 
276
 
277
stop_draw_window      ; ª®­¥æ ¯¥à¥à¨á®¢ª¨
277
stop_draw_window      ; ª®­¥æ ¯¥à¥à¨á®¢ª¨
278
ret
278
ret
279
 
279
 
280
shoot:
280
shoot:
281
        bt      dword [ch4.flags],1   ; ¢ª«î祭  «¨ § ¤¥à¦ª  ?
281
        bt      dword [ch4.flags],1   ; ¢ª«î祭  «¨ § ¤¥à¦ª  ?
282
        jnc     @f
282
        jnc     @f
283
        draw_status delay_now
283
        draw_status delay_now
284
        mov     edi,ed_buffer.2
284
        mov     edi,ed_buffer.2
285
        call    zstr_to_int
285
        call    zstr_to_int
286
        mov     ebx,eax
286
        mov     ebx,eax
287
        delay
287
        delay
288
@@:
288
@@:
289
        call    get_mem_for_shoot; ¯®«ãç ¥¬ ¯ ¬ïâì ¤«ï á­¨¬ª 
289
        call    get_mem_for_shoot; ¯®«ãç ¥¬ ¯ ¬ïâì ¤«ï á­¨¬ª 
290
 
290
 
291
 
291
 
292
        bts     dword [flags],0       ; ­ã«¥¢®© ä« £ - á­¨¬®ª ¥áâì ¢ ¯ ¬ïâ¨
292
        bts     dword [flags],0       ; ­ã«¥¢®© ä« £ - á­¨¬®ª ¥áâì ¢ ¯ ¬ïâ¨
293
 
293
 
294
        ; ¤¥« ¥¬ á­¨¬®ª
294
        ; ¤¥« ¥¬ á­¨¬®ª
295
        draw_status shooting
295
        draw_status shooting
296
        mov     esi,scr
296
        mov     esi,scr
297
        mov     edi,[scr_buf.ptr]
297
        mov     edi,[scr_buf.ptr]
298
        call    copy_screen_to_image
298
        call    copy_screen_to_image
299
 
299
 
300
        bt      dword [use_rect.flags],1
300
        bt      dword [use_rect.flags],1
301
        jc      .use_rect
301
        jc      .use_rect
302
        push    dword [scr]
302
        push    dword [scr]
303
        jmp     @f
303
        jmp     @f
304
.use_rect:
304
.use_rect:
305
        push    dword [rect.height]
305
        push    dword [rect.height]
306
@@:
306
@@:
307
        pop     dword [scr_buf.size]
307
        pop     dword [scr_buf.size]
308
 
308
 
309
        bt      dword [ch5.flags],1  ; ¢ª«î祭® «¨  ¢â®á®åà ­¥­¨¥ ?
309
        bt      dword [ch5.flags],1  ; ¢ª«î祭® «¨  ¢â®á®åà ­¥­¨¥ ?
310
        jnc     @f
310
        jnc     @f
311
        call    save_file
311
        call    save_file
312
@@:
312
@@:
313
        draw_status     shooted_ok
313
        draw_status     shooted_ok
314
 
314
 
315
        bt      dword [flags],1
315
        bt      dword [flags],1
316
        jnc     @f
316
        jnc     @f
317
        ret
317
        ret
318
@@:
318
@@:
319
 
319
 
320
        bt      dword [ch2.flags],1  ; ¯®ª § âì ®ª­® ¯à¥¤¯à®á¬®âà  ?
320
        bt      dword [ch2.flags],1  ; ¯®ª § âì ®ª­® ¯à¥¤¯à®á¬®âà  ?
321
        jnc     @f
321
        jnc     @f
322
 
322
 
323
        call    show_scr_window
323
        call    show_scr_window
324
	ret
324
	ret
325
@@:
325
@@:
326
        bt      word [ch3.flags],1   ; ¢®ááâ ­®¢¨âì ®ª­® ?
326
        bt      word [ch3.flags],1   ; ¢®ááâ ­®¢¨âì ®ª­® ?
327
        jnc     @f
327
        jnc     @f
328
 
328
 
329
        delay 100
329
        delay 100
330
        mov     ecx,[slot_n]
330
        mov     ecx,[slot_n]
331
        activ_window
331
        activ_window
332
@@:
332
@@:
333
ret
333
ret
334
 
334
 
335
;--- ¯®«ãç¨âì ¯ ¬ïâì ¤«ï á­¨¬ª  ---
335
;--- ¯®«ãç¨âì ¯ ¬ïâì ¤«ï á­¨¬ª  ---
336
get_mem_for_shoot:
336
get_mem_for_shoot:
337
;clean memory
337
;clean memory
338
        mov     ecx,dword [scr_buf.ptr]
338
        mov     ecx,dword [scr_buf.ptr]
339
        mov     ebx,13
339
        mov     ebx,13
340
        mov     eax,68
340
        mov     eax,68
341
        mcall
341
        mcall
342
 
342
 
343
        bt      dword [use_rect.flags],1 ; ä®âª âì ®¡« áâì íªà ­ 
343
        bt      dword [use_rect.flags],1 ; ä®âª âì ®¡« áâì íªà ­ 
344
        jc      .use_area
344
        jc      .use_area
345
        movzx   ecx, word [scr.width]
345
        movzx   ecx, word [scr.width]
346
        movzx   ebx, word [scr.height]
346
        movzx   ebx, word [scr.height]
347
        jmp     @f
347
        jmp     @f
348
.use_area:
348
.use_area:
349
        call    read_rect
349
        call    read_rect
350
        movzx   ecx, word [rect.width]
350
        movzx   ecx, word [rect.width]
351
        movzx   ebx, word [rect.height]
351
        movzx   ebx, word [rect.height]
352
@@:
352
@@:
353
        imul    ecx,ebx
353
        imul    ecx,ebx
354
        lea     ecx,[ecx*3]
354
        lea     ecx,[ecx*3]
355
;        add     ecx,i_end
355
;        add     ecx,i_end
356
        mov     ebx,12
356
        mov     ebx,12
357
        mov     eax,68
357
        mov     eax,68
358
        mcall
358
        mcall
359
        mov     [scr_buf.ptr],eax
359
        mov     [scr_buf.ptr],eax
360
        add     eax,ecx
360
        add     eax,ecx
361
        mov     [scr_buf.end_ptr],ecx
361
        mov     [scr_buf.end_ptr],ecx
362
ret
362
ret
363
 
363
 
364
;--- ᮤ âì ®ª­® ¯à®¥¤¯à®á¬®âà  ---
364
;--- ᮤ âì ®ª­® ¯à®¥¤¯à®á¬®âà  ---
365
show_scr_window:
365
show_scr_window:
366
pusha
366
pusha
367
        bt      dword [flags],0
367
        bt      dword [flags],0
368
        jnc     @f
368
        jnc     @f
369
        mov     eax,51
369
        mov     eax,51
370
        xor     ebx,ebx
370
        xor     ebx,ebx
371
        inc     ebx
371
        inc     ebx
372
        mov     ecx,scr_window
372
        mov     ecx,scr_window
373
        mov     edx,i_end_tread-1000
373
        mov     edx,i_end_tread-1000
374
        mcall
374
        mcall
375
@@:
375
@@:
376
popa
376
popa
377
ret
377
ret
378
 
378
 
379
;--- ¯à®ç¨â âì ¨ ­ à¨á®¢ âì ⥪ã騩 ­®¬¥à ---
379
;--- ¯à®ç¨â âì ¨ ­ à¨á®¢ âì ⥪ã騩 ­®¬¥à ---
380
apply_number:
380
apply_number:
381
        mov     edi,ed_buffer.3
381
        mov     edi,ed_buffer.3
382
        call    zstr_to_int
382
        call    zstr_to_int
383
        mov     [cur_number],eax
383
        mov     [cur_number],eax
384
        call    draw_number
384
        call    draw_number
385
ret
385
ret
386
 
386
 
387
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ ⥪ã饣® ­®¬¥à  ---
387
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ ⥪ã饣® ­®¬¥à  ---
388
draw_number:
388
draw_number:
389
        mov     edi,sign_n_input
389
        mov     edi,sign_n_input
390
        call    zstr_to_int
390
        call    zstr_to_int
391
        mov     [sign_n],al
391
        mov     [sign_n],al
392
        mov     eax,13
392
        mov     eax,13
393
        mov     ebx,150*65536+96
393
        mov     ebx,150*65536+96
394
        mov     cx,[label9.top]
394
        mov     cx,[label9.top]
395
        shl     ecx,16
395
        shl     ecx,16
396
        mov     cx,10
396
        mov     cx,10
397
        mov     edx,[sc.work]
397
        mov     edx,[sc.work]
398
        mcall
398
        mcall
399
        mov     eax,47
399
        mov     eax,47
400
        movsx   bx,byte [sign_n]
400
        movsx   bx,byte [sign_n]
401
        shl     ebx,16
401
        shl     ebx,16
402
        mov     ecx,[cur_number]
402
        mov     ecx,[cur_number]
403
        mov     dx,150
403
        mov     dx,150
404
        shl     edx,16
404
        shl     edx,16
405
        mov     dx,[label9.top]
405
        mov     dx,[label9.top]
406
        mov     esi,[sc.work_text]
406
        mov     esi,[sc.work_text]
407
        mcall
407
        mcall
408
ret
408
ret
409
 
409
 
410
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª  ¢â®áꥬª¨ ---
410
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª  ¢â®áꥬª¨ ---
411
start_autoshoot:
411
start_autoshoot:
412
        bts     dword [flags],1
412
        bts     dword [flags],1
413
        jc      @f
413
        jc      @f
414
        mov     eax,51
414
        mov     eax,51
415
        ;mov     ebx,1
415
        ;mov     ebx,1
416
        xor     ebx,ebx
416
        xor     ebx,ebx
417
        inc     ebx
417
        inc     ebx
418
        mov     ecx,autoshoot
418
        mov     ecx,autoshoot
419
        mov     edx,i_end_tread-512
419
        mov     edx,i_end_tread-512
420
        mcall
420
        mcall
421
@@:
421
@@:
422
ret
422
ret
423
 
423
 
424
;--- ®áâ ­ ¢«¨¢ ¥â íâ®â ¯®â®ª ---
424
;--- ®áâ ­ ¢«¨¢ ¥â íâ®â ¯®â®ª ---
425
stop_autoshoot:
425
stop_autoshoot:
426
        btr     dword [flags],1
426
        btr     dword [flags],1
427
ret
427
ret
428
 
428
 
429
;--- 横« ¯®â®ª   ¢â®áꥬª¨ ---
429
;--- 横« ¯®â®ª   ¢â®áꥬª¨ ---
430
autoshoot:
430
autoshoot:
431
        mov     ecx,[slot_n]
431
        mov     ecx,[slot_n]
432
        activ_window
432
        activ_window
433
.next:
433
.next:
434
        bt      dword [flags],1
434
        bt      dword [flags],1
435
        jnc     close
435
        jnc     close
436
        mov     eax,60
436
        mov     eax,60
437
        mov     ebx,2
437
        mov     ebx,2
438
        mov     ecx,[app.pid]
438
        mov     ecx,[app.pid]
439
        mov     edx,messages.draw_number
439
        mov     edx,messages.draw_number
440
        mov     esi,2
440
        mov     esi,2
441
        mcall
441
        mcall
442
        call    shoot
442
        call    shoot
443
        jmp     autoshoot.next
443
        jmp     autoshoot.next
444
 
444
 
445
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ áâப¨ á®áâ®ï­¨ï ---
445
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ áâப¨ á®áâ®ï­¨ï ---
446
; (¤®«¦­  ¢ë§ë¢ âìáï ¯®â®ª®¬ £« ¢­®£® ®ª­ )
446
; (¤®«¦­  ¢ë§ë¢ âìáï ¯®â®ª®¬ £« ¢­®£® ®ª­ )
447
dr_st:
447
dr_st:
448
        mov     eax,38              ; ®â१®ª
448
        mov     eax,38              ; ®â१®ª
449
        mov     ebx,0*65536+310
449
        mov     ebx,0*65536+310
450
        mov     ecx,198*65536+198
450
        mov     ecx,198*65536+198
451
        mov     edx,[sc.work_graph]
451
        mov     edx,[sc.work_graph]
452
        mcall
452
        mcall
453
 
453
 
454
        mov     eax,13              ; ¯®«®áª 
454
        mov     eax,13              ; ¯®«®áª 
455
        mov     bx,310
455
        mov     bx,310
456
        mov     ecx,199*65536+15
456
        mov     ecx,199*65536+15
457
        mov     edx,[sc.work]
457
        mov     edx,[sc.work]
458
        mcall
458
        mcall
459
 
459
 
460
        mov     edi,status
460
        mov     edi,status
461
        call    draw_label
461
        call    draw_label
462
ret
462
ret
463
 
463
 
464
;--- ¯à®æ¥¤ãà  ¯®«ã祭¨ï ­®¬¥à  á«®â  ¯®â®ª  ---
464
;--- ¯à®æ¥¤ãà  ¯®«ã祭¨ï ­®¬¥à  á«®â  ¯®â®ª  ---
465
; ¢å®¤ ebx - ¡ãää¥à 1024 ¡ ©â
465
; ¢å®¤ ebx - ¡ãää¥à 1024 ¡ ©â
466
; ¢ë室 ecx - ­®¬¥à á«®â 
466
; ¢ë室 ecx - ­®¬¥à á«®â 
467
get_slot_n:
467
get_slot_n:
468
        mov     eax,9
468
        mov     eax,9
469
        xor     ecx,ecx
469
        xor     ecx,ecx
470
        dec     ecx
470
        dec     ecx
471
        mcall
471
        mcall
472
 
472
 
473
        mov     edx,[ebx+30]
473
        mov     edx,[ebx+30]
474
        xor     ecx,ecx
474
        xor     ecx,ecx
475
@@:
475
@@:
476
        mov     eax,9
476
        mov     eax,9
477
        inc     ecx
477
        inc     ecx
478
        mcall
478
        mcall
479
        cmp     [ebx+30],edx
479
        cmp     [ebx+30],edx
480
        je      @f
480
        je      @f
481
        jmp     @b
481
        jmp     @b
482
@@:
482
@@:
483
ret
483
ret
484
 
484
 
485
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª, ¤¥« î騩 1 á­¨¬®ª ---
485
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª, ¤¥« î騩 1 á­¨¬®ª ---
486
one_shoot:
486
one_shoot:
487
        mov     ecx,one_shoot_thread
487
        mov     ecx,one_shoot_thread
488
        mov     edx,shoot_esp
488
        mov     edx,shoot_esp
489
        jmp     @f
489
        jmp     @f
490
;--- ¯à®æ¥¤à , § ¯ã᪠îé ï ¯®â®ª, á®åà ­ïî騩 á­¨¬®ª ---
490
;--- ¯à®æ¥¤à , § ¯ã᪠îé ï ¯®â®ª, á®åà ­ïî騩 á­¨¬®ª ---
491
save_shoot:
491
save_shoot:
492
        mov     ecx,save_shoot_thread
492
        mov     ecx,save_shoot_thread
493
        mov     edx,shoot_esp
493
        mov     edx,shoot_esp
494
@@:
494
@@:
495
        bts     dword [flags],2
495
        bts     dword [flags],2
496
        jc      .running
496
        jc      .running
497
        bt      dword [flags],1
497
        bt      dword [flags],1
498
        jc      .running
498
        jc      .running
499
 
499
 
500
        mov     eax,51
500
        mov     eax,51
501
        ;mov     ebx,1
501
        ;mov     ebx,1
502
        xor     ebx,ebx
502
        xor     ebx,ebx
503
        inc     ebx
503
        inc     ebx
504
        mcall
504
        mcall
505
.running:
505
.running:
506
ret
506
ret
507
 
507
 
508
;--- ¯®â®ª, ¤¥« î騩 1 á­¨¬®ª ---
508
;--- ¯®â®ª, ¤¥« î騩 1 á­¨¬®ª ---
509
one_shoot_thread:
509
one_shoot_thread:
510
        mov     ecx,[slot_n]
510
        mov     ecx,[slot_n]
511
        activ_window
511
        activ_window
512
        bt      dword [ch1.flags],1   ; ¬¨­¨¬¨§¨à®¢ âì ®ª­® ?
512
        bt      dword [ch1.flags],1   ; ¬¨­¨¬¨§¨à®¢ âì ®ª­® ?
513
        jnc      @f
513
        jnc      @f
514
        mov     eax,60
514
        mov     eax,60
515
        mov     ebx,2
515
        mov     ebx,2
516
        mov     ecx,[app.pid]
516
        mov     ecx,[app.pid]
517
        mov     edx,messages.min_window
517
        mov     edx,messages.min_window
518
        mov     esi,2
518
        mov     esi,2
519
        mcall
519
        mcall
520
@@:
520
@@:
521
        call    shoot
521
        call    shoot
522
        btr     dword [flags],2
522
        btr     dword [flags],2
523
        jmp     close
523
        jmp     close
524
 
524
 
525
;--- ¯à®æ¥¤ãà , ®â¯à ¢«ïîé ï £« ¢­®¬ã ®ª­ã á®®¡é¥­¨¥ ® ¯¥à¥à¨á®¢ª¥
525
;--- ¯à®æ¥¤ãà , ®â¯à ¢«ïîé ï £« ¢­®¬ã ®ª­ã á®®¡é¥­¨¥ ® ¯¥à¥à¨á®¢ª¥
526
; áâப¨ á®áâ®ï­¨ï ---
526
; áâப¨ á®áâ®ï­¨ï ---
527
send_draw_status:
527
send_draw_status:
528
        mov     eax,60
528
        mov     eax,60
529
        mov     ebx,2
529
        mov     ebx,2
530
        mov     ecx,[app.pid]
530
        mov     ecx,[app.pid]
531
        mov     edx,messages.draw_status
531
        mov     edx,messages.draw_status
532
        mov     esi,2
532
        mov     esi,2
533
        mcall
533
        mcall
534
ret
534
ret
535
 
535
 
536
;--- ¯®â®ª, á®åà ­ï ä ©« ---
536
;--- ¯®â®ª, á®åà ­ï ä ©« ---
537
save_shoot_thread:
537
save_shoot_thread:
538
        mov     ecx,[slot_n]
538
        mov     ecx,[slot_n]
539
        activ_window
539
        activ_window
540
        call    save_file
540
        call    save_file
541
        btr     dword [flags],2
541
        btr     dword [flags],2
542
        jmp     close
542
        jmp     close
543
 
543
 
544
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª ®ª­  ãáâ ­®¢ª¨ ®¡« á⨠áꥬª¨ ---
544
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª ®ª­  ãáâ ­®¢ª¨ ®¡« á⨠áꥬª¨ ---
545
show_set_rect_window:
545
show_set_rect_window:
546
        bts     dword [flags],3
546
        bts     dword [flags],3
547
        jc      @f
547
        jc      @f
548
        mov     eax,51
548
        mov     eax,51
549
        xor     ebx,ebx
549
        xor     ebx,ebx
550
        inc     ebx
550
        inc     ebx
551
        mov     ecx,set_rect_window
551
        mov     ecx,set_rect_window
552
        mov     edx,set_rect_window_esp
552
        mov     edx,set_rect_window_esp
553
        mcall
553
        mcall
554
 
554
 
555
        mov     [set_rect_window_pid],eax
555
        mov     [set_rect_window_pid],eax
556
ret
556
ret
557
 
557
 
558
@@:
558
@@:
559
        mov    eax,18
559
        mov     eax,18
560
        mov     ebx,eax
560
        mov     ebx,eax
561
        mov     ecx,[set_rect_window_pid]
561
        mov     ecx,[set_rect_window_pid]
562
        mcall
562
        mcall
563
        btr     dword [flags],3
563
        btr     dword [flags],3
564
ret
564
ret
565
 
565
 
566
;--- ¯®«ã祭¨¥ ¨­ä®à¬ æ¨¨ ®¡  ªâ¨¢­®¬ ®ª­¥ ---
566
;--- ¯®«ã祭¨¥ ¨­ä®à¬ æ¨¨ ®¡  ªâ¨¢­®¬ ®ª­¥ ---
567
get_active_window_info:
567
get_active_window_info:
568
        mov    eax,18
568
        mov    eax,18
569
        mov    ebx,7
569
        mov    ebx,7
570
        mcall
570
        mcall
571
 
571
 
572
        mov     ecx,eax
572
        mov     ecx,eax
573
        mov     eax,9
573
        mov     eax,9
574
        mov     ebx,active_app
574
        mov     ebx,active_app
575
        mcall
575
        mcall
576
ret
576
ret
577
 
577
 
578
;====================================================================
578
;====================================================================
579
;=== ¤ ­­ë¥ ¯à®£à ¬¬ë ===============================================
579
;=== ¤ ­­ë¥ ¯à®£à ¬¬ë ===============================================
580
;====================================================================
580
;====================================================================
581
messages:
581
messages:
582
.draw_number dw 0
582
.draw_number dw 0
583
.draw_status dw 1
583
.draw_status dw 1
584
.min_window  dw 2
584
.min_window  dw 2
585
.act_window  dw 3
585
.act_window  dw 3
586
 
586
 
587
grab_text:
587
grab_text:
588
        db      title,0
588
        db      title,0
589
 
589
 
590
labels:
590
labels:
591
label1 label 5,5,0,text.1   ; è¨à¨­  íªà ­ 
591
label1 label 5,5,0,text.1   ; è¨à¨­  íªà ­ 
592
label2 label 5,15,0,text.2   ; ¢ëá®â  íªà ­ 
592
label2 label 5,15,0,text.2   ; ¢ëá®â  íªà ­ 
593
label3 label 5,25,0,text.3   ; ¢¢¥¤¨â¥ ¨¬ï ä ©« 
593
label3 label 5,25,0,text.3   ; ¢¢¥¤¨â¥ ¨¬ï ä ©« 
594
label4 label 150,5,0,text.4  ; ¡¨â ­  ¯¨ªá¥«ì
594
label4 label 150,5,0,text.4  ; ¡¨â ­  ¯¨ªá¥«ì
595
label5 label 150,15,0,text.5  ; ¡ ©â ­  áâபã
595
label5 label 150,15,0,text.5  ; ¡ ©â ­  áâபã
596
label6 label 115,138,0,text.6  ; 100 = 1 ᥪ.
596
label6 label 115,138,0,text.6  ; 100 = 1 ᥪ.
597
;label7 label 10,190,0,text.7
597
;label7 label 10,190,0,text.7
598
;label8 label 10,225,0,text.8
598
;label8 label 10,225,0,text.8
599
label9 label 5,52,0,text.9   ; ­®¬¥à ⥪ã饣® ᨬª 
599
label9 label 5,52,0,text.9   ; ­®¬¥à ⥪ã饣® ᨬª 
600
label10 label 5,185,0,text.10
600
label10 label 5,185,0,text.10
601
status label 5,201,0,no_shoot
601
status label 5,201,0,no_shoot
602
labels_end:
602
labels_end:
603
 
603
 
604
editboxes:
604
editboxes:
605
edit1 edit_box 300,5,35,cl_white,0xaabbcc,0,0,0,300,ed_buffer.1,mouse_dd,ed_focus,10,10        ; ¯ãâì ª ä ©«ã
605
edit1 edit_box 300,5,35,cl_white,0,0,0,0,300,ed_buffer.1,mouse_dd,ed_focus,10,10        ; ¯ãâì ª ä ©«ã
606
edit2 edit_box 35,75,134,cl_white,0xaabbcc,0,0,0,9,ed_buffer.2,mouse_dd,ed_figure_only,3,3         ; § ¤¥à¦ª 
606
edit2 edit_box 35,75,134,cl_white,0,0,0,0,9,ed_buffer.2,mouse_dd,ed_figure_only,3,3         ; § ¤¥à¦ª 
607
edit3 edit_box 35,165,164,cl_white,0xaabbcc,0,0,0,9,ed_buffer.3,mouse_dd,ed_figure_only    ;  ¢â®­ã¬¥à æ¨ï
607
edit3 edit_box 35,165,164,cl_white,0,0,0,0,9,ed_buffer.3,mouse_dd,ed_figure_only    ;  ¢â®­ã¬¥à æ¨ï
608
edit4 edit_box 16,165,181,cl_white,0xaabbcc,0,0,0,1,sign_n_input,mouse_dd,ed_figure_only,1
608
edit4 edit_box 16,165,181,cl_white,0,0,0,0,1,sign_n_input,mouse_dd,ed_figure_only,1
609
editboxes_end:
609
editboxes_end:
610
 
610
 
611
buttons:
611
buttons:
612
but1 txt_button 150,5,15,65,2,0,0,but_text.1,one_shoot             ; ᤥ« âì á­¨¬®ª
612
but1 txt_button 150,5,15,65,2,0,0,but_text.1,one_shoot             ; ᤥ« âì á­¨¬®ª
613
but2 txt_button 145,160,15,65,3,0,0,but_text.2,save_shoot          ; á®åà ­¨âì á­¨¬®ª
613
but2 txt_button 145,160,15,65,3,0,0,but_text.2,save_shoot          ; á®åà ­¨âì á­¨¬®ª
614
but3 txt_button 140,115,12,120,4,0,0,but_text.3,show_scr_window    ; ¯®ª § âì á­¨¬®ª
614
but3 txt_button 140,115,12,120,4,0,0,but_text.3,show_scr_window    ; ¯®ª § âì á­¨¬®ª
615
but4 txt_button 80,205,15,163,5,0,0,but_text.4,apply_number        ; ¯à¨¬¥­¨âì ­®¬¥à
615
but4 txt_button 80,205,15,163,5,0,0,but_text.4,apply_number        ; ¯à¨¬¥­¨âì ­®¬¥à
616
but5 txt_button 150,5,15,85,6,0,0,but_text.5,start_autoshoot       ; ­ ç âì  ¢â®áêñ¬ªã
616
but5 txt_button 150,5,15,85,6,0,0,but_text.5,start_autoshoot       ; ­ ç âì  ¢â®áêñ¬ªã
617
but6 txt_button 145,160,15,85,7,0,0,but_text.6,stop_autoshoot      ; ®áâ ­®¢¨âì  ¢â®áêñ¬ªã
617
but6 txt_button 145,160,15,85,7,0,0,but_text.6,stop_autoshoot      ; ®áâ ­®¢¨âì  ¢â®áêñ¬ªã
618
but7 txt_button 40,205,10,150,8,0,0,but_text.7,show_set_rect_window ; § ¤ âì ®¡« áâì
618
but7 txt_button 40,205,10,150,8,0,0,but_text.7,show_set_rect_window ; § ¤ âì ®¡« áâì
619
buttons_end:
619
buttons_end:
620
 
620
 
621
check_boxes:
621
check_boxes:
622
ch1 check_box 5,105,5,11,cl_white,0,0,ch_text.1,(ch_text.2-ch_text.1),ch_flag_en  ; ᢥà­ãâì ®ª­®
622
ch1 check_box 5,105,5,11,cl_white,0,0,ch_text.1,(ch_text.2-ch_text.1),ch_flag_en  ; ᢥà­ãâì ®ª­®
623
ch2 check_box 5,120,5,11,cl_white,0,0,ch_text.2,(ch_text.3-ch_text.2),ch_flag_en  ; § â¥¬ ᤥ« âì  ªâ¨¢­ë¬
623
ch2 check_box 5,120,5,11,cl_white,0,0,ch_text.2,(ch_text.3-ch_text.2),ch_flag_en  ; § â¥¬ ᤥ« âì  ªâ¨¢­ë¬
624
ch3 check_box 145,105,5,11,cl_white,0,0,ch_text.3,(ch_text.4-ch_text.3),ch_flag_en ; ¯®ª § âì á­¨¬®ª
624
ch3 check_box 145,105,5,11,cl_white,0,0,ch_text.3,(ch_text.4-ch_text.3),ch_flag_en ; ¯®ª § âì á­¨¬®ª
625
ch4 check_box 5,135,5,11,cl_white,0,0,ch_text.4,(ch_text.5-ch_text.4),ch_flag_en   ; § ¤¥à¦ª 
625
ch4 check_box 5,135,5,11,cl_white,0,0,ch_text.4,(ch_text.5-ch_text.4),ch_flag_en   ; § ¤¥à¦ª 
626
ch5 check_box 5,150,5,11,cl_white,0,0,ch_text.5,(ch_text.6-ch_text.5)
626
ch5 check_box 5,150,5,11,cl_white,0,0,ch_text.5,(ch_text.6-ch_text.5)
627
ch6 check_box 5,165,5,11,cl_white,0,0,ch_text.6,(ch_text.7-ch_text.6),ch_flag_en
627
ch6 check_box 5,165,5,11,cl_white,0,0,ch_text.6,(ch_text.7-ch_text.6),ch_flag_en
628
use_rect check_box 145,150,5,11,cl_white,0,0,ch_text.7,(ch_text.8-ch_text.7) ; ¨á¯. ®¡« áâì
628
use_rect check_box 145,150,5,11,cl_white,0,0,ch_text.7,(ch_text.8-ch_text.7) ; ¨á¯. ®¡« áâì
629
;  ¢â®­ã¬¥à æ¨ï
629
;  ¢â®­ã¬¥à æ¨ï
630
check_boxes_end:
630
check_boxes_end:
631
 
631
 
632
if lang eq ru
632
if lang eq ru
633
text:
633
text:
634
.2 db '‚ëá®â  íªà ­ :',0
634
.2 db '‚ëá®â  íªà ­ :',0
635
.1 db '˜¨à¨­  íªà ­ :',0
635
.1 db '˜¨à¨­  íªà ­ :',0
636
.3 db '‚¢¥¤¨â¥ ¯®«­ë© ¯ãâì ª ä ©«ã:',0
636
.3 db '‚¢¥¤¨â¥ ¯®«­ë© ¯ãâì ª ä ©«ã:',0
637
.4 db '¨â ­  ¯¨ªá¥«ì:',0
637
.4 db '¨â ­  ¯¨ªá¥«ì:',0
638
.5 db ' ©â ­  áâபã:',0
638
.5 db ' ©â ­  áâபã:',0
639
.6 db '100 = 1 ᥪ㭤 ',0
639
.6 db '100 = 1 ᥪ㭤 ',0
640
;.7: db '‚¢¥¤¨â¥ ¨¬ï ä ©« :',0
640
;.7: db '‚¢¥¤¨â¥ ¨¬ï ä ©« :',0
641
;.8: db '‚¬¥áâ® "*" ¢ ¨¬¥­¨ ä ©«  ¡ã¤¥â ¢áâ ¢«ïâìáï ­®¬¥à.',0
641
;.8: db '‚¬¥áâ® "*" ¢ ¨¬¥­¨ ä ©«  ¡ã¤¥â ¢áâ ¢«ïâìáï ­®¬¥à.',0
642
.9 db '®¬¥à ⥪ã饣® á­¨¬ª :',0
642
.9 db '®¬¥à ⥪ã饣® á­¨¬ª :',0
643
.10 db 'Š®«¨ç¥á⢮ §­ ª®¢ ¢ ­®¬¥à¥:',0
643
.10 db 'Š®«¨ç¥á⢮ §­ ª®¢ ¢ ­®¬¥à¥:',0
644
 
644
 
645
but_text:
645
but_text:
646
.1 db '‘¤¥« âì á­¨¬®ª íªà ­ ',0
646
.1 db '‘¤¥« âì á­¨¬®ª íªà ­ ',0
647
.2 db '‘®åà ­¨âì á­¨¬®ª íªà ­ ',0
647
.2 db '‘®åà ­¨âì á­¨¬®ª íªà ­ ',0
648
.3 db '®ª § âì á­¨¬®ª ᥩç á',0
648
.3 db '®ª § âì á­¨¬®ª ᥩç á',0
649
.4 db 'à¨¬¥­¨âì',0
649
.4 db 'à¨¬¥­¨âì',0
650
.5 db ' ç âì  ¢â®áꥬªã',0
650
.5 db ' ç âì  ¢â®áꥬªã',0
651
.6 db 'Žáâ ­®¢¨âì  ¢â®áꥬªã',0
651
.6 db 'Žáâ ­®¢¨âì  ¢â®áꥬªã',0
652
.7 db '§ ¤ âì',0
652
.7 db '§ ¤ âì',0
653
 
653
 
654
ch_text:
654
ch_text:
655
.1 db '‘¢¥à­ãâì ®ª­®';,0
655
.1 db '‘¢¥à­ãâì ®ª­®';,0
656
.2 db '®ª § âì á­¨¬®ª';,0
656
.2 db '®ª § âì á­¨¬®ª';,0
657
.3 db '§ â¥¬ ᤥ« âì  ªâ¨¢­ë¬';,0
657
.3 db '§ â¥¬ ᤥ« âì  ªâ¨¢­ë¬';,0
658
.4 db '‡ ¤¥à¦ª :';,0
658
.4 db '‡ ¤¥à¦ª :';,0
659
.5 db '€¢â®á®åà ­¥­¨¥';,0
659
.5 db '€¢â®á®åà ­¥­¨¥';,0
660
.6 db '€¢â®­ã¬¥à æ¨ï, ­ ç¨­ ï á';,0
660
.6 db '€¢â®­ã¬¥à æ¨ï, ­ ç¨­ ï á';,0
661
.7 db 'Ž¡« áâì'
661
.7 db 'Ž¡« áâì'
662
.8:
662
.8:
663
 
663
 
664
no_shoot db '‘­¨¬®ª ­¥ ᤥ« ­',0
664
no_shoot db '‘­¨¬®ª ­¥ ᤥ« ­',0
665
shooting db '”®â®£à ä¨à®¢ ­¨¥...',0
665
shooting db '”®â®£à ä¨à®¢ ­¨¥...',0
666
shooted_ok db '‘­¨¬®ª ᤥ« ­',0
666
shooted_ok db '‘­¨¬®ª ᤥ« ­',0
667
saving db '‘®åà ­¥­¨¥...',0
667
saving db '‘®åà ­¥­¨¥...',0
668
saved_ok db '‘­¨¬®ª á®åà ­¥­',0
668
saved_ok db '‘­¨¬®ª á®åà ­¥­',0
669
delay_now db '‡ ¤¥à¦ª ...',0
669
delay_now db '‡ ¤¥à¦ª ...',0
670
bad_file_name db 'ˆ¬ï ä ©«  ¢¢¥¤¥­® ­¥¢¥à­®',0
670
bad_file_name db 'ˆ¬ï ä ©«  ¢¢¥¤¥­® ­¥¢¥à­®',0
671
disk_filled db '„¨áª § ¯®«­¥­',0
671
disk_filled db '„¨áª § ¯®«­¥­',0
672
bad_fat_table db '’ ¡«¨æ  FAT à §àã襭 ',0
672
bad_fat_table db '’ ¡«¨æ  FAT à §àã襭 ',0
673
ac_den db '„®áâ㯠§ ¯à¥é¥­',0
673
ac_den db '„®áâ㯠§ ¯à¥é¥­',0
674
device_er db 'Žè¨¡ª  ãáâனá⢠',0
674
device_er db 'Žè¨¡ª  ãáâனá⢠',0
675
not_shooted db '‘¤¥« ©â¥ á­¨¬®ª !!!',0
675
not_shooted db '‘¤¥« ©â¥ á­¨¬®ª !!!',0
676
no_file_name db '‚¢¥¤¨â¥ ¨¬ï ä ©«  !!!',0
676
no_file_name db '‚¢¥¤¨â¥ ¨¬ï ä ©«  !!!',0
677
invalid_rect db '¥¤®¯ãáâ¨¬ë¥ à §¬¥àë ®¡« áâ¨',0
677
invalid_rect db '¥¤®¯ãáâ¨¬ë¥ à §¬¥àë ®¡« áâ¨',0
678
 
678
 
679
else
679
else
680
text:
680
text:
681
.2 db 'Screen width:',0
681
.2 db 'Screen width:',0
682
.1 db 'Screen height:',0
682
.1 db 'Screen height:',0
683
.3 db 'Enter full path to the file:',0
683
.3 db 'Enter full path to the file:',0
684
.4 db 'Bits per pixel:',0
684
.4 db 'Bits per pixel:',0
685
.5 db 'Bytes per line:',0
685
.5 db 'Bytes per line:',0
686
.6 db '100 = 1 second',0
686
.6 db '100 = 1 second',0
687
;.7: db 'Enter name of file:',0
687
;.7: db 'Enter name of file:',0
688
;.8: db 'Instead of "*" in filename the number will be included.',0
688
;.8: db 'Instead of "*" in filename the number will be included.',0
689
.9 db 'Current photo number:',0
689
.9 db 'Current photo number:',0
690
.10 db 'Amount of digits in number:',0
690
.10 db 'Amount of digits in number:',0
691
 
691
 
692
but_text:
692
but_text:
693
.1 db 'Make screen photo',0
693
.1 db 'Make screen photo',0
694
.2 db 'Save screen photo',0
694
.2 db 'Save screen photo',0
695
.3 db 'Show photo now',0
695
.3 db 'Show photo now',0
696
.4 db 'Apply',0
696
.4 db 'Apply',0
697
.5 db 'Start autoshooting',0
697
.5 db 'Start autoshooting',0
698
.6 db 'Stop autoshooting',0
698
.6 db 'Stop autoshooting',0
699
.7 db 'Set',0
699
.7 db 'Set',0
700
 
700
 
701
ch_text:
701
ch_text:
702
.1 db 'Minimize window';,0
702
.1 db 'Minimize window';,0
703
.2 db 'Show photo';,0
703
.2 db 'Show photo';,0
704
.3 db 'then make active';,0
704
.3 db 'then make active';,0
705
.4 db 'Delay:';,0
705
.4 db 'Delay:';,0
706
.5 db 'Autosave';,0
706
.5 db 'Autosave';,0
707
.6 db 'Start numeration from';,0
707
.6 db 'Start numeration from';,0
708
.7 db 'Area'
708
.7 db 'Area'
709
.8:
709
.8:
710
 
710
 
711
no_shoot db 'There is no photo',0
711
no_shoot db 'There is no photo',0
712
shooting db 'Photographing...',0
712
shooting db 'Photographing...',0
713
shooted_ok db 'Photo created',0
713
shooted_ok db 'Photo created',0
714
saving db 'Saving...',0
714
saving db 'Saving...',0
715
saved_ok db 'Photo saved',0
715
saved_ok db 'Photo saved',0
716
delay_now db 'Delay...',0
716
delay_now db 'Delay...',0
717
bad_file_name db 'File name is wrong',0
717
bad_file_name db 'File name is wrong',0
718
disk_filled db 'Disk is full',0
718
disk_filled db 'Disk is full',0
719
bad_fat_table db 'FAT table destroyed',0
719
bad_fat_table db 'FAT table destroyed',0
720
ac_den db 'Access denied',0
720
ac_den db 'Access denied',0
721
device_er db 'Device error',0
721
device_er db 'Device error',0
722
not_shooted db 'Make a photo !!!',0
722
not_shooted db 'Make a photo !!!',0
723
no_file_name db 'Enter file name !!!',0
723
no_file_name db 'Enter file name !!!',0
724
invalid_rect db 'Wrong area size',0
724
invalid_rect db 'Wrong area size',0
725
 
725
 
726
end if
726
end if
727
 
727
 
728
sign_n_input:
728
sign_n_input:
729
        db      '2',0
729
        db      '2',0
730
 
730
 
731
app_ipc ipc_buffer 32
731
app_ipc ipc_buffer 32
732
align 4
732
align 4
733
 
733
 
734
mouse_flag: dd 0x0
734
mouse_flag: dd 0x0
735
structure_of_potock:
735
structure_of_potock:
736
rb 100
736
rb 100
737
 
737
 
738
align 4
738
align 4
739
 
739
 
740
cur_number        dd      ?
740
cur_number        dd      ?
741
 
741
 
742
sign_n        db      ?
742
sign_n        db      ?
743
 
743
 
744
slot_n        dd ?
744
slot_n        dd ?
745
 
745
 
746
flags        dd ?
746
flags        dd ?
747
 
747
 
748
scr_buf:
748
scr_buf:
749
.ptr        dd      ?
749
.ptr        dd      ?
750
.end_ptr        dd      ?
750
.end_ptr        dd      ?
751
.size:
751
.size:
752
.height        dw      ?
752
.height        dw      ?
753
.width        dw      ?
753
.width        dw      ?
754
 
754
 
755
fs_struc:
755
fs_struc:
756
.funk_n        dd      ?
756
.funk_n        dd      ?
757
        dd      ?
757
        dd      ?
758
        dd      ?
758
        dd      ?
759
.bytes_to_write  dd      ?
759
.bytes_to_write  dd      ?
760
.data_ptr        dd    ?,?
760
.data_ptr        dd    ?,?
761
.fn_ptr        dd      ?
761
.fn_ptr        dd      ?
762
 
762
 
763
sf_buf:
763
sf_buf:
764
.bmp_header   dd      ?
764
.bmp_header   dd      ?
765
.bmp_area     dd      ?
765
.bmp_area     dd      ?
766
.end          dd      ?
766
.end          dd      ?
767
 
767
 
768
set_rect_window_pid dd ?
768
set_rect_window_pid dd ?
769
set_rect_window_slot dd ?
769
set_rect_window_slot dd ?
770
 
770
 
771
align 4
771
align 4
772
 
772
 
773
ed_buffer:
773
ed_buffer:
774
.1: db '/sys/*.bmp',0
774
.1: db '/sys/*.bmp',0
775
rb 287
775
rb 287
776
.2: db '100',0
776
.2: db '100',0
777
 rb 6
777
 rb 6
778
.3:  rb 10
778
.3:  rb 10
779
 
779
 
780
 
780
 
781
align 4
781
align 4
782
rect_input_buffer:
782
rect_input_buffer:
783
.left rb 6
783
.left rb 6
784
.top  rb 6
784
.top  rb 6
785
.width  rb 6
785
.width  rb 6
786
.height rb 6
786
.height rb 6
787
 
787
 
788
cmdstr rb 257
788
cmdstr rb 257
789
 
789
 
790
align 4
790
align 4
791
 
791
 
792
file_name:
792
file_name:
793
        rb      1058
793
        rb      1058
794
 
794
 
795
scr screen_prop
795
scr screen_prop
796
rect:
796
rect:
797
.left dw ?
797
.left dw ?
798
.top dw ?
798
.top dw ?
799
.height dw ?
799
.height dw ?
800
.width dw ?
800
.width dw ?
801
 
801
 
802
sc sys_color_table
802
sc sys_color_table
803
app procinfo        ; ¨­ä®à¬ æ¨ï ® £« ¢­®¬ ®ª­¥
803
app procinfo        ; ¨­ä®à¬ æ¨ï ® £« ¢­®¬ ®ª­¥
804
active_app procinfo ; ¨­ä®à¬ æ¨ï ®¡  ªâ¨¢­®¬ ®ª­¥
804
active_app procinfo ; ¨­ä®à¬ æ¨ï ®¡  ªâ¨¢­®¬ ®ª­¥
805
set_rect_window_procinfo procinfo  ; ¨­ä®à¬ æ¨ï ®¡ ®ª­¥ ®¡« áâ¨
805
set_rect_window_procinfo procinfo  ; ¨­ä®à¬ æ¨ï ®¡ ®ª­¥ ®¡« áâ¨
806
shoot_esp rb 512                   ; á⥪ ¯®â®ª  ä®âª ­ìï
806
shoot_esp rb 512                   ; á⥪ ¯®â®ª  ä®âª ­ìï
807
set_rect_window_esp rb 512         ; á⥪ ®ª­  ®¡« áâ¨
807
set_rect_window_esp rb 512         ; á⥪ ®ª­  ®¡« áâ¨
808
;        app_end    ; ª®­¥æ ¯à®£à ¬¬ë
808
;        app_end    ; ª®­¥æ ¯à®£à ¬¬ë
809
mouse_dd	rd 1
809
mouse_dd	rd 1
810
align 4
810
align 4
811
cur_dir_path    rb 4096
811
cur_dir_path    rb 4096
812
library_path    rb 4096
812
library_path    rb 4096
813
i_end_tread:
813
i_end_tread:
814
rb 1024
814
rb 1024
815
align 4
815
align 4
816
i_end:
816
i_end: