Subversion Repositories Kolibri OS

Rev

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

Rev 1685 Rev 1702
1
;
1
;
2
;   Screenshooter for Kolibri
2
;   Screenshooter for Kolibri
3
;
3
;
4
; version:	1.0
4
; version:	1.0
5
; last update:  08/09/2010
5
; last update:  08/09/2010
6
; written by:   Marat Zakiyanov aka Mario79, aka Mario
6
; written by:   Marat Zakiyanov aka Mario79, aka Mario
7
; changes:      select path for save with OpenDialog,
7
; changes:      select path for save with OpenDialog,
8
;               bag fix for threads stacks
8
;               bag fix for threads stacks
9
;---------------------------------------------------------------------
9
;---------------------------------------------------------------------
10
; 01.06.09 - Š®¬¯®­¥­âë ¡¥àãâìáï ¨§ á¨á⥬­®© ¡¨¡«¨®â¥ª¨ 
10
; 01.06.09 - Š®¬¯®­¥­âë ¡¥àãâìáï ¨§ á¨á⥬­®© ¡¨¡«¨®â¥ª¨ 
11
; €¢â®à ¯à®£à ¬¬ë …¢â¨å®¢ Œ ªá¨¬ (Maxxxx32)
11
; €¢â®à ¯à®£à ¬¬ë …¢â¨å®¢ Œ ªá¨¬ (Maxxxx32)
12
; 24.07.2008  ®¡­®¢«¥­ editbox
12
; 24.07.2008  ®¡­®¢«¥­ editbox
13
; 01.02.07 - ®¡­®¢«ñ­ editbox
13
; 01.02.07 - ®¡­®¢«ñ­ editbox
14
; 31.01.07 - ¢áñ ⥯¥àì à¨áã¥âáï ®â­®á¨â¥«ì­® ª«¨¥­â᪮© ®¡« áâ¨
14
; 31.01.07 - ¢áñ ⥯¥àì à¨áã¥âáï ®â­®á¨â¥«ì­® ª«¨¥­â᪮© ®¡« áâ¨
15
; 02.11.10 - ˆá¯®«ì§ã¥âáï checkbox ¢¥àᨨ 2
15
; 02.11.10 - ˆá¯®«ì§ã¥âáï checkbox ¢¥àᨨ 2
16
 
16
 
17
title equ 'Screenshooter v 1.0' ; ‡ £®«®¢®ª ®ª­ 
17
title equ 'Screenshooter v 1.0' ; ‡ £®«®¢®ª ®ª­ 
18
include '../../develop/libraries/box_lib/load_lib.mac'
18
include '../../develop/libraries/box_lib/load_lib.mac'
19
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
19
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
20
;include '../../develop/examples/editbox/trunk/editbox.inc'
20
;include '../../develop/examples/editbox/trunk/editbox.inc'
-
 
21
include '../../config.inc'		;for nightbuild
21
include '../../macros.inc'
22
include '../../macros.inc'
22
include 'txtbut.inc'
23
include 'txtbut.inc'
23
include 'label.inc'
24
include 'label.inc'
24
include 'textwork.inc'
25
include 'textwork.inc'
25
include 'scrshoot.mac'
26
include 'scrshoot.mac'
26
 
27
 
27
;include 'macros.inc'  ; ¢áâ ¢«ï¥¬ ¬ ªà®áë
28
;include 'macros.inc'  ; ¢áâ ¢«ï¥¬ ¬ ªà®áë
28
;        meos_header  cmdstr ; ¢áâ ¢«ï¥¬ § £®«®¢®ª ¯à®£à ¬¬ë
29
;        meos_header  cmdstr ; ¢áâ ¢«ï¥¬ § £®«®¢®ª ¯à®£à ¬¬ë
29
use32		     
30
use32		     
30
    org 0x0
31
    org 0x0
31
    db 'MENUET01'
32
    db 'MENUET01'
32
    dd 0x1
33
    dd 0x1
33
    dd start
34
    dd start
34
    dd IM_END
35
    dd IM_END
35
    dd i_end
36
    dd i_end
36
    dd stacktop
37
    dd stacktop
37
    dd cmdstr
38
    dd cmdstr
38
    dd cur_dir_path
39
    dd cur_dir_path
39
 
40
 
40
align 4
41
align 4
41
	@use_library
42
	@use_library
42
	use_txt_button				;  |
43
	use_txt_button				;  |
43
	use_label				;  |-- GUI ª®¬¯®­¥­âë ¨ ­¥ª®â®àë¥ ¯à®æ¥¤ãàë
44
	use_label				;  |-- GUI ª®¬¯®­¥­âë ¨ ­¥ª®â®àë¥ ¯à®æ¥¤ãàë
44
	use_text_work				; /
45
	use_text_work				; /
45
include 'scrwin.inc'  ; ¢áâ ¢«ï¥¬ ª®¤ ®ª­  ¯à¤¯à®á¬®âà 
46
include 'scrwin.inc'  ; ¢áâ ¢«ï¥¬ ª®¤ ®ª­  ¯à¤¯à®á¬®âà 
46
include 'scrsavef.inc'; ¢áâ ¢«ï¥¬ ¯à®æ¥¤ãàã á®åà ­¥­¨ï ä ©« 
47
include 'scrsavef.inc'; ¢áâ ¢«ï¥¬ ¯à®æ¥¤ãàã á®åà ­¥­¨ï ä ©« 
47
 
48
 
48
include 'gp.inc'
49
include 'gp.inc'
49
include 'srectwin.inc'
50
include 'srectwin.inc'
50
include 'lang.inc'
51
include 'lang.inc'
51
 
52
 
52
macro get_sys_colors col_buf
53
macro get_sys_colors col_buf
53
{
54
{
54
	;mov     eax,48
55
	;mov     eax,48
55
	push	48
56
	push	48
56
	pop	eax
57
	pop	eax
57
	;mov     ebx,3
58
	;mov     ebx,3
58
	push	3
59
	push	3
59
	pop	ebx
60
	pop	ebx
60
	;mov     ecx,col_buf
61
	;mov     ecx,col_buf
61
	push	col_buf
62
	push	col_buf
62
	pop	ecx
63
	pop	ecx
63
	;mov     edx,40
64
	;mov     edx,40
64
	push	40
65
	push	40
65
	pop	edx
66
	pop	edx
66
	mcall
67
	mcall
67
}
68
}
68
 
69
 
69
;--- ­ ç «® ¯à®£à ¬¬ë ---
70
;--- ­ ç «® ¯à®£à ¬¬ë ---
70
align 4
71
align 4
71
start:
72
start:
72
;sys_load_library  library_name, cur_dir_path, library_path, system_path, \
73
;sys_load_library  library_name, cur_dir_path, library_path, system_path, \
73
;err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i
74
;err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i
74
 
75
 
75
load_libraries l_libs_start,end_l_libs
76
load_libraries l_libs_start,end_l_libs
76
 
77
 
77
;if return code =-1 then exit, else nornary work
78
;if return code =-1 then exit, else nornary work
78
;        cmp     eax,-1
79
;        cmp     eax,-1
79
	inc	eax
80
	inc	eax
80
	test	eax,eax
81
	test	eax,eax
81
	jz	close
82
	jz	close
82
;;;;;;;;;;;;;;;; init memory 68/11
83
;;;;;;;;;;;;;;;; init memory 68/11
83
	mov	eax,68
84
	mov	eax,68
84
	mov	ebx,11
85
	mov	ebx,11
85
	mcall
86
	mcall
86
	test	eax,eax
87
	test	eax,eax
87
	jz	close
88
	jz	close
88
 
89
 
89
;---------------------------------------------------------------------	
90
;---------------------------------------------------------------------	
90
	mov	edi,filename_area
91
	mov	edi,filename_area
91
	mov	esi,start_temp_file_name
92
	mov	esi,start_temp_file_name
92
	xor	eax,eax
93
	xor	eax,eax
93
	cld
94
	cld
94
@@:
95
@@:
95
	lodsb
96
	lodsb
96
	stosb
97
	stosb
97
	test	eax,eax
98
	test	eax,eax
98
	jnz	@b
99
	jnz	@b
99
 
100
 
100
 
101
 
101
	mov	edi,fname_buf
102
	mov	edi,fname_buf
102
	mov	esi,ed_buffer.1
103
	mov	esi,ed_buffer.1
103
	xor	eax,eax
104
	xor	eax,eax
104
	cld
105
	cld
105
@@:
106
@@:
106
	lodsb
107
	lodsb
107
	stosb
108
	stosb
108
	test	eax,eax
109
	test	eax,eax
109
	jnz	@b
110
	jnz	@b
110
	
111
	
111
;OpenDialog	initialisation
112
;OpenDialog	initialisation
112
	push    dword OpenDialog_data
113
	push    dword OpenDialog_data
113
	call    [OpenDialog_Init]
114
	call    [OpenDialog_Init]
114
 
115
 
115
; prepare for PathShow
116
; prepare for PathShow
116
	push	dword PathShow_data_1
117
	push	dword PathShow_data_1
117
	call	[PathShow_prepare]
118
	call	[PathShow_prepare]
118
;---------------------------------------------------------------------	
119
;---------------------------------------------------------------------	
119
	;mov     al,[gs:1280*4*1024]
120
	;mov     al,[gs:1280*4*1024]
120
		    ; ãáâ ­ ¢«¨¢ ¥¬ ipc ¡ãää¥à
121
		    ; ãáâ ­ ¢«¨¢ ¥¬ ipc ¡ãää¥à
121
	push	60
122
	push	60
122
	pop	eax
123
	pop	eax
123
	;mov     ebx,1
124
	;mov     ebx,1
124
	xor	ebx,ebx
125
	xor	ebx,ebx
125
	inc	ebx
126
	inc	ebx
126
	mov	ecx,app_ipc
127
	mov	ecx,app_ipc
127
	mov	edx,32
128
	mov	edx,32
128
	mcall
129
	mcall
129
 
130
 
130
	push	66   ; ãáâ ­ ¢«¨¢ ¥¬ £«®¡ «ì­ãî £®àïçãî ª« ¢¨èã
131
	push	66   ; ãáâ ­ ¢«¨¢ ¥¬ £«®¡ «ì­ãî £®àïçãî ª« ¢¨èã
131
	pop	eax
132
	pop	eax
132
	push	eax
133
	push	eax
133
	mov	ebx,4
134
	mov	ebx,4
134
	mov	cl,55	 ; 55 - PrintScrn
135
	mov	cl,55	 ; 55 - PrintScrn
135
	xor	edx,edx
136
	xor	edx,edx
136
	mcall
137
	mcall
137
 
138
 
138
	mov	ebx,app
139
	mov	ebx,app
139
	call	get_slot_n
140
	call	get_slot_n
140
	mov	[slot_n],ecx
141
	mov	[slot_n],ecx
141
 
142
 
142
	; ãáâ ­ ¢«¨¢ ¥¬ ¬ áªã ᮡë⨩
143
	; ãáâ ­ ¢«¨¢ ¥¬ ¬ áªã ᮡë⨩
143
	set_events_mask (evm_redraw+evm_key+evm_button+evm_mouse+evm_ipc)
144
	set_events_mask (evm_redraw+evm_key+evm_button+evm_mouse+evm_ipc)
144
;¨­¨æ¨ «¨§ æ¨ï checkboxes
145
;¨­¨æ¨ «¨§ æ¨ï checkboxes
145
	init_checkboxes2	check_boxes,check_boxes_end
146
	init_checkboxes2	check_boxes,check_boxes_end
146
 
147
 
147
; á ¯à룠¥¬ ¯à¨ ª ¦¤®© ¯¥à¥à¨á®¢ª¥
148
; á ¯à룠¥¬ ¯à¨ ª ¦¤®© ¯¥à¥à¨á®¢ª¥
148
red:
149
red:
149
	get_procinfo app   ; ¯®«ãç ¥¬ ¨­ä®à¬ æ¨î ® ¯à®æ¥áá¥
150
	get_procinfo app   ; ¯®«ãç ¥¬ ¨­ä®à¬ æ¨î ® ¯à®æ¥áá¥
150
	get_sys_colors sc  ; ¯®«ãç ¥¬ á¨á⥬­ë¥ 梥â 
151
	get_sys_colors sc  ; ¯®«ãç ¥¬ á¨á⥬­ë¥ 梥â 
151
 
152
 
152
	; ãáâ ­ ¢«¨¢ ¥¬ á¨á⥬­ë¥ æ¢¥â  ã GUI ª®¬¯®­¥­â®¢
153
	; ãáâ ­ ¢«¨¢ ¥¬ á¨á⥬­ë¥ æ¢¥â  ã GUI ª®¬¯®­¥­â®¢
153
	txt_but_set_sys_color buttons,buttons_end,sc		 ; \
154
	txt_but_set_sys_color buttons,buttons_end,sc		 ; \
154
	labels_set_sys_color labels,labels_end,sc		 ; |
155
	labels_set_sys_color labels,labels_end,sc		 ; |
155
	check_boxes_set_sys_color2 check_boxes,check_boxes_end,sc; |
156
	check_boxes_set_sys_color2 check_boxes,check_boxes_end,sc; |
156
;	check_boxes_set_sys_color check_boxes,check_boxes_end,sc ; |
157
;	check_boxes_set_sys_color check_boxes,check_boxes_end,sc ; |
157
	edit_boxes_set_sys_color editboxes,editboxes_end,sc	 ; /
158
	edit_boxes_set_sys_color editboxes,editboxes_end,sc	 ; /
158
 
159
 
159
	get_screen_prop scr ; ¯®«ãç ¥¬ ¨­ä®à¬ æ¨î ®¡ íªà ­¥
160
	get_screen_prop scr ; ¯®«ãç ¥¬ ¨­ä®à¬ æ¨î ®¡ íªà ­¥
160
	call	draw_window ; ¯¥à¥à¨á®¢ë¢ ¥¬ ®ª­®
161
	call	draw_window ; ¯¥à¥à¨á®¢ë¢ ¥¬ ®ª­®
161
still:
162
still:
162
	wait_event red,key,button,mouse,ipc,still ; ¦¤¥¬ ᮡë⨩
163
	wait_event red,key,button,mouse,ipc,still ; ¦¤¥¬ ᮡë⨩
163
 
164
 
164
key:
165
key:
165
	get_key
166
	get_key
166
	cmp	al,2
167
	cmp	al,2
167
	jne	@f
168
	jne	@f
168
	cmp	ah,55
169
	cmp	ah,55
169
	jne	still
170
	jne	still
170
	mov	[PrintScreen],1
171
	mov	[PrintScreen],1
171
	call	shoot
172
	call	shoot
172
	mov	[PrintScreen],0
173
	mov	[PrintScreen],0
173
	jmp	still
174
	jmp	still
174
@@:
175
@@:
175
;        key_edit_boxes editboxes,editboxes_end
176
;        key_edit_boxes editboxes,editboxes_end
176
;	push	dword edit1
177
;	push	dword edit1
177
;	call	[edit_box_key]
178
;	call	[edit_box_key]
178
 
179
 
179
	push	dword edit2
180
	push	dword edit2
180
	call	[edit_box_key]
181
	call	[edit_box_key]
181
 
182
 
182
	push	dword edit3
183
	push	dword edit3
183
	call	[edit_box_key]
184
	call	[edit_box_key]
184
 
185
 
185
	push	dword edit4
186
	push	dword edit4
186
	call	[edit_box_key]
187
	call	[edit_box_key]
187
 
188
 
188
	jmp	still
189
	jmp	still
189
button:
190
button:
190
	get_pressed_button
191
	get_pressed_button
191
	cmp	ah,1
192
	cmp	ah,1
192
	je	p_close
193
	je	p_close
193
	txt_but_ev buttons,buttons_end
194
	txt_but_ev buttons,buttons_end
194
	jmp	still
195
	jmp	still
195
mouse:
196
mouse:
196
	get_active_window
197
	get_active_window
197
	cmp	eax,[slot_n]
198
	cmp	eax,[slot_n]
198
	jne	still
199
	jne	still
199
;----------------------------------
200
;----------------------------------
200
;	push	dword edit1
201
;	push	dword edit1
201
;	call	[edit_box_mouse]
202
;	call	[edit_box_mouse]
202
	push	dword edit2
203
	push	dword edit2
203
	call	[edit_box_mouse]
204
	call	[edit_box_mouse]
204
	push	dword edit3
205
	push	dword edit3
205
	call	[edit_box_mouse]
206
	call	[edit_box_mouse]
206
	push	dword edit4
207
	push	dword edit4
207
	call	[edit_box_mouse]
208
	call	[edit_box_mouse]
208
;----------------------------------
209
;----------------------------------
209
	checkboxes_mouse2	check_boxes,check_boxes_end
210
	checkboxes_mouse2	check_boxes,check_boxes_end
210
;	push	dword ch1
211
;	push	dword ch1
211
;	call	[check_box_mouse]
212
;	call	[check_box_mouse]
212
;	push	dword ch2
213
;	push	dword ch2
213
;	call	[check_box_mouse]
214
;	call	[check_box_mouse]
214
;	push	dword ch3
215
;	push	dword ch3
215
;	call	[check_box_mouse]
216
;	call	[check_box_mouse]
216
;	push	dword ch4
217
;	push	dword ch4
217
;	call	[check_box_mouse]
218
;	call	[check_box_mouse]
218
;	push	dword ch5
219
;	push	dword ch5
219
;	call	[check_box_mouse]
220
;	call	[check_box_mouse]
220
;	push	dword ch6
221
;	push	dword ch6
221
;	call	[check_box_mouse]
222
;	call	[check_box_mouse]
222
;	push	dword use_rect
223
;	push	dword use_rect
223
;	call	[check_box_mouse]
224
;	call	[check_box_mouse]
224
;-----------------------------------
225
;-----------------------------------
225
;        mouse_check_boxes check_boxes,check_boxes_end
226
;        mouse_check_boxes check_boxes,check_boxes_end
226
;        mouse_edit_boxes editboxes,editboxes_end
227
;        mouse_edit_boxes editboxes,editboxes_end
227
	jmp	still
228
	jmp	still
228
ipc:
229
ipc:
229
	cmp	word [app_ipc+8],2
230
	cmp	word [app_ipc+8],2
230
	jne	@f
231
	jne	@f
231
	min_window
232
	min_window
232
	jmp	.clear_ipc
233
	jmp	.clear_ipc
233
@@:
234
@@:
234
	cmp	word [app_ipc+8],3
235
	cmp	word [app_ipc+8],3
235
	jne	@f
236
	jne	@f
236
	mov	ecx,[slot_n]
237
	mov	ecx,[slot_n]
237
	activ_window
238
	activ_window
238
	jmp	.clear_ipc
239
	jmp	.clear_ipc
239
@@:
240
@@:
240
	call	draw_number
241
	call	draw_number
241
	call	dr_st
242
	call	dr_st
242
 
243
 
243
.clear_ipc:
244
.clear_ipc:
244
	cld
245
	cld
245
	xor	eax,eax
246
	xor	eax,eax
246
	mov	ecx,32/4
247
	mov	ecx,32/4
247
	mov	edi,app_ipc
248
	mov	edi,app_ipc
248
	rep	stosd
249
	rep	stosd
249
	jmp	still
250
	jmp	still
250
 
251
 
251
p_close:
252
p_close:
252
	btr	dword [flags],1
253
	btr	dword [flags],1
253
 
254
 
254
	bt	dword [flags],3
255
	bt	dword [flags],3
255
	jnc	@f
256
	jnc	@f
256
	mov    eax,18
257
	mov    eax,18
257
	mov	ebx,eax
258
	mov	ebx,eax
258
	mov	ecx,[set_rect_window_pid]
259
	mov	ecx,[set_rect_window_pid]
259
	mcall
260
	mcall
260
@@:
261
@@:
261
 
262
 
262
close:
263
close:
263
	app_close
264
	app_close
264
 
265
 
265
;---------------------------------------------------------------------
266
;---------------------------------------------------------------------
266
draw_PathShow:
267
draw_PathShow:
267
	pusha
268
	pusha
268
	mcall	13,<4,302>,<35,15>,0xffffff
269
	mcall	13,<4,302>,<35,15>,0xffffff
269
; draw for PathShow
270
; draw for PathShow
270
	push	dword PathShow_data_1
271
	push	dword PathShow_data_1
271
	call	[PathShow_draw]
272
	call	[PathShow_draw]
272
	popa
273
	popa
273
	ret
274
	ret
274
;--------------------------------------------------------------------
275
;--------------------------------------------------------------------
275
;--- ¯à®®æ¥¤ãà  ¯¥à¥à¨á®¢ª¨ £« ¢­®£® ®ª­  ---------------------------
276
;--- ¯à®®æ¥¤ãà  ¯¥à¥à¨á®¢ª¨ £« ¢­®£® ®ª­  ---------------------------
276
;--------------------------------------------------------------------
277
;--------------------------------------------------------------------
277
draw_window:
278
draw_window:
278
start_draw_window	 ; ­ ç «® ¯¥à¥à¨á®¢ª¨
279
start_draw_window	 ; ­ ç «® ¯¥à¥à¨á®¢ª¨
279
	; ®¯à¥¤¥«ï¥¬ ®ª­®
280
	; ®¯à¥¤¥«ï¥¬ ®ª­®
280
	get_skin_height
281
	get_skin_height
281
	mov	ebx,100*65536+320
282
	mov	ebx,100*65536+320
282
	mov	ecx,100*65536+220
283
	mov	ecx,100*65536+220
283
	add	cx,ax
284
	add	cx,ax
284
	mov	edx,[sc.work]
285
	mov	edx,[sc.work]
285
	or	edx,0x34000000;0x33000000
286
	or	edx,0x34000000;0x33000000
286
	xor	esi,esi
287
	xor	esi,esi
287
	;xor     edi,edi
288
	;xor     edi,edi
288
	mov	edi,grab_text
289
	mov	edi,grab_text
289
	xor	eax,eax
290
	xor	eax,eax
290
	mcall
291
	mcall
291
 
292
 
292
	mov	eax,47		   ; ¢ë¢®¤¨¬ ç¨á«  ¢ ®ª­®
293
	mov	eax,47		   ; ¢ë¢®¤¨¬ ç¨á«  ¢ ®ª­®
293
	mov	bx,4
294
	mov	bx,4
294
	shl	ebx,16
295
	shl	ebx,16
295
	movsx	ecx,word [scr.width] ; è¨à¨­  íªà ­ 
296
	movsx	ecx,word [scr.width] ; è¨à¨­  íªà ­ 
296
	mov	dx,95
297
	mov	dx,95
297
	shl	edx,16
298
	shl	edx,16
298
	mov	dx,[label1.top]
299
	mov	dx,[label1.top]
299
	push	dx
300
	push	dx
300
	mov	esi,[sc.work_text]
301
	mov	esi,[sc.work_text]
301
	mcall
302
	mcall
302
	movsx	ecx,word [scr.height]	; ¢ëá®â  íªà ­ 
303
	movsx	ecx,word [scr.height]	; ¢ëá®â  íªà ­ 
303
	mov	dx,[label2.top]
304
	mov	dx,[label2.top]
304
	mcall
305
	mcall
305
	mov	bx,2
306
	mov	bx,2
306
	shl	ebx,16
307
	shl	ebx,16
307
	movsx	ecx,word [scr.bitspp]	; ¡¨â ­  ¯¨ªá¥«ì
308
	movsx	ecx,word [scr.bitspp]	; ¡¨â ­  ¯¨ªá¥«ì
308
	mov	dx,240
309
	mov	dx,240
309
	shl	edx,16
310
	shl	edx,16
310
	pop	dx
311
	pop	dx
311
	mcall
312
	mcall
312
	mov	bx,6
313
	mov	bx,6
313
	shl	ebx,16
314
	shl	ebx,16
314
	mov	ecx,[scr.bytesps]	; ¡ ©â ­  áâபã
315
	mov	ecx,[scr.bytesps]	; ¡ ©â ­  áâபã
315
	mov	dx,[label2.top]
316
	mov	dx,[label2.top]
316
	mcall
317
	mcall
317
 
318
 
318
	call	draw_number	 ; ¯à®à¨á®¢ë¢ ¥¬ ­®¬¥à á­¨¬ª 
319
	call	draw_number	 ; ¯à®à¨á®¢ë¢ ¥¬ ­®¬¥à á­¨¬ª 
319
	call	dr_st
320
	call	dr_st
320
 
321
 
321
	draw_labels labels,labels_end		 ; ¬¥âª¨
322
	draw_labels labels,labels_end		 ; ¬¥âª¨
322
;        draw_edit_boxes editboxes,editboxes_end  ; edit_box
323
;        draw_edit_boxes editboxes,editboxes_end  ; edit_box
323
;------ show check editbox -----------
324
;------ show check editbox -----------
324
;	push	dword edit1
325
;	push	dword edit1
325
;	call	[edit_box_draw]
326
;	call	[edit_box_draw]
326
	push	dword edit2												     
327
	push	dword edit2												     
327
	call	[edit_box_draw]
328
	call	[edit_box_draw]
328
	push	dword edit3
329
	push	dword edit3
329
	call	[edit_box_draw]
330
	call	[edit_box_draw]
330
	push	dword edit4
331
	push	dword edit4
331
	call	[edit_box_draw]
332
	call	[edit_box_draw]
332
;------ end check all editbox -------
333
;------ end check all editbox -------
333
 
334
 
334
	call	draw_PathShow
335
	call	draw_PathShow
335
 
336
 
336
	draw_txt_buttons buttons,buttons_end	 ; ª­®¯ª¨
337
	draw_txt_buttons buttons,buttons_end	 ; ª­®¯ª¨
337
;        draw_check_boxes check_boxes,check_boxes_end ; ä« ¦ª¨
338
;        draw_check_boxes check_boxes,check_boxes_end ; ä« ¦ª¨
338
;------ check all checkbox ---------
339
;------ check all checkbox ---------
339
;	push	dword ch1
340
;	push	dword ch1
340
;	call	[check_box_draw]
341
;	call	[check_box_draw]
341
;	push	dword ch2
342
;	push	dword ch2
342
;	call	[check_box_draw]	
343
;	call	[check_box_draw]	
343
;	push	dword ch3
344
;	push	dword ch3
344
;	call	[check_box_draw]
345
;	call	[check_box_draw]
345
;	push	dword ch4
346
;	push	dword ch4
346
;	call	[check_box_draw]
347
;	call	[check_box_draw]
347
;	push	dword ch5
348
;	push	dword ch5
348
;	call	[check_box_draw]
349
;	call	[check_box_draw]
349
;	push	dword ch6
350
;	push	dword ch6
350
;	call	[check_box_draw]
351
;	call	[check_box_draw]
351
;	push	dword use_rect
352
;	push	dword use_rect
352
;	call	[check_box_draw]
353
;	call	[check_box_draw]
353
 
354
 
354
	checkboxes_draw2	check_boxes,check_boxes_end
355
	checkboxes_draw2	check_boxes,check_boxes_end
355
 
356
 
356
;------ end check all checkbox ------
357
;------ end check all checkbox ------
357
 
358
 
358
stop_draw_window      ; ª®­¥æ ¯¥à¥à¨á®¢ª¨
359
stop_draw_window      ; ª®­¥æ ¯¥à¥à¨á®¢ª¨
359
ret
360
ret
360
 
361
 
361
shoot:
362
shoot:
362
	bt	dword [ch4.flags],1   ; ¢ª«î祭  «¨ § ¤¥à¦ª  ?
363
	bt	dword [ch4.flags],1   ; ¢ª«î祭  «¨ § ¤¥à¦ª  ?
363
	jnc	@f
364
	jnc	@f
364
	draw_status delay_now
365
	draw_status delay_now
365
	mov	edi,ed_buffer.2
366
	mov	edi,ed_buffer.2
366
	call	zstr_to_int
367
	call	zstr_to_int
367
	mov	ebx,eax
368
	mov	ebx,eax
368
	delay
369
	delay
369
@@:
370
@@:
370
	call	get_mem_for_shoot; ¯®«ãç ¥¬ ¯ ¬ïâì ¤«ï á­¨¬ª 
371
	call	get_mem_for_shoot; ¯®«ãç ¥¬ ¯ ¬ïâì ¤«ï á­¨¬ª 
371
 
372
 
372
 
373
 
373
	bts	dword [flags],0       ; ­ã«¥¢®© ä« £ - á­¨¬®ª ¥áâì ¢ ¯ ¬ïâ¨
374
	bts	dword [flags],0       ; ­ã«¥¢®© ä« £ - á­¨¬®ª ¥áâì ¢ ¯ ¬ïâ¨
374
 
375
 
375
	; ¤¥« ¥¬ á­¨¬®ª
376
	; ¤¥« ¥¬ á­¨¬®ª
376
	draw_status shooting
377
	draw_status shooting
377
	mov	esi,scr
378
	mov	esi,scr
378
	mov	edi,[scr_buf.ptr]
379
	mov	edi,[scr_buf.ptr]
379
	call	copy_screen_to_image
380
	call	copy_screen_to_image
380
 
381
 
381
	bt	dword [use_rect.flags],1
382
	bt	dword [use_rect.flags],1
382
	jc	.use_rect
383
	jc	.use_rect
383
	push	dword [scr]
384
	push	dword [scr]
384
	jmp	@f
385
	jmp	@f
385
.use_rect:
386
.use_rect:
386
	push	dword [rect.height]
387
	push	dword [rect.height]
387
@@:
388
@@:
388
	pop	dword [scr_buf.size]
389
	pop	dword [scr_buf.size]
389
 
390
 
390
	cmp	[autoshoot_flag],1
391
	cmp	[autoshoot_flag],1
391
	jne	.2
392
	jne	.2
392
	
393
	
393
	bt	dword [ch5.flags],1  ; ¢ª«î祭® «¨  ¢â®á®åà ­¥­¨¥ ?
394
	bt	dword [ch5.flags],1  ; ¢ª«î祭® «¨  ¢â®á®åà ­¥­¨¥ ?
394
	jnc	@f
395
	jnc	@f
395
	call	save_file
396
	call	save_file
396
@@:
397
@@:
397
	draw_status	shooted_ok
398
	draw_status	shooted_ok
398
.2:
399
.2:
399
	bt	dword [flags],1
400
	bt	dword [flags],1
400
	jnc	@f
401
	jnc	@f
401
	ret
402
	ret
402
@@:
403
@@:
403
 
404
 
404
	bt	dword [ch2.flags],1  ; ¯®ª § âì ®ª­® ¯à¥¤¯à®á¬®âà  ?
405
	bt	dword [ch2.flags],1  ; ¯®ª § âì ®ª­® ¯à¥¤¯à®á¬®âà  ?
405
	jnc	@f
406
	jnc	@f
406
	cmp	[PrintScreen],0
407
	cmp	[PrintScreen],0
407
	jne	@f
408
	jne	@f
408
	call	show_scr_window
409
	call	show_scr_window
409
	ret
410
	ret
410
@@:
411
@@:
411
	bt	dword [ch5.flags],1  ; ¢ª«î祭® «¨  ¢â®á®åà ­¥­¨¥ ?
412
	bt	dword [ch5.flags],1  ; ¢ª«î祭® «¨  ¢â®á®åà ­¥­¨¥ ?
412
	jnc	@f
413
	jnc	@f
413
	
414
	
414
; invoke OpenDialog
415
; invoke OpenDialog
415
	push    dword OpenDialog_data
416
	push    dword OpenDialog_data
416
	call    [OpenDialog_Start]
417
	call    [OpenDialog_Start]
417
	cmp	[OpenDialog_data.status],1
418
	cmp	[OpenDialog_data.status],1
418
	je	.1
419
	je	.1
419
	ret
420
	ret
420
.1:
421
.1:
421
; prepare for PathShow
422
; prepare for PathShow
422
	push	dword PathShow_data_1
423
	push	dword PathShow_data_1
423
	call	[PathShow_prepare]
424
	call	[PathShow_prepare]
424
 
425
 
425
	call	save_file
426
	call	save_file
426
@@:
427
@@:
427
	
428
	
428
	bt	word [ch3.flags],1   ; ¢®ááâ ­®¢¨âì ®ª­® ?
429
	bt	word [ch3.flags],1   ; ¢®ááâ ­®¢¨âì ®ª­® ?
429
	jnc	@f
430
	jnc	@f
430
 
431
 
431
	delay 100
432
	delay 100
432
	mov	ecx,[slot_n]
433
	mov	ecx,[slot_n]
433
	activ_window
434
	activ_window
434
@@:
435
@@:
435
ret
436
ret
436
 
437
 
437
;--- ¯®«ãç¨âì ¯ ¬ïâì ¤«ï á­¨¬ª  ---
438
;--- ¯®«ãç¨âì ¯ ¬ïâì ¤«ï á­¨¬ª  ---
438
get_mem_for_shoot:
439
get_mem_for_shoot:
439
;clean memory
440
;clean memory
440
	mov	ecx,dword [scr_buf.ptr]
441
	mov	ecx,dword [scr_buf.ptr]
441
	mov	ebx,13
442
	mov	ebx,13
442
	mov	eax,68
443
	mov	eax,68
443
	mcall
444
	mcall
444
 
445
 
445
	bt	dword [use_rect.flags],1 ; ä®âª âì ®¡« áâì íªà ­ 
446
	bt	dword [use_rect.flags],1 ; ä®âª âì ®¡« áâì íªà ­ 
446
	jc	.use_area
447
	jc	.use_area
447
	movzx	ecx, word [scr.width]
448
	movzx	ecx, word [scr.width]
448
	movzx	ebx, word [scr.height]
449
	movzx	ebx, word [scr.height]
449
	jmp	@f
450
	jmp	@f
450
.use_area:
451
.use_area:
451
	call	read_rect
452
	call	read_rect
452
	movzx	ecx, word [rect.width]
453
	movzx	ecx, word [rect.width]
453
	movzx	ebx, word [rect.height]
454
	movzx	ebx, word [rect.height]
454
@@:
455
@@:
455
	imul	ecx,ebx
456
	imul	ecx,ebx
456
	lea	ecx,[ecx*3]
457
	lea	ecx,[ecx*3]
457
;        add     ecx,i_end
458
;        add     ecx,i_end
458
	mov	ebx,12
459
	mov	ebx,12
459
	mov	eax,68
460
	mov	eax,68
460
	mcall
461
	mcall
461
	mov	[scr_buf.ptr],eax
462
	mov	[scr_buf.ptr],eax
462
	add	eax,ecx
463
	add	eax,ecx
463
	mov	[scr_buf.end_ptr],ecx
464
	mov	[scr_buf.end_ptr],ecx
464
ret
465
ret
465
 
466
 
466
;--- ᮤ âì ®ª­® ¯à®¥¤¯à®á¬®âà  ---
467
;--- ᮤ âì ®ª­® ¯à®¥¤¯à®á¬®âà  ---
467
show_scr_window:
468
show_scr_window:
468
pusha
469
pusha
469
	bt	dword [flags],0
470
	bt	dword [flags],0
470
	jnc	@f
471
	jnc	@f
471
	mov	eax,51
472
	mov	eax,51
472
	xor	ebx,ebx
473
	xor	ebx,ebx
473
	inc	ebx
474
	inc	ebx
474
	mov	ecx,scr_window
475
	mov	ecx,scr_window
475
	mov	edx,i_end_tread-512
476
	mov	edx,i_end_tread-512
476
	mcall
477
	mcall
477
@@:
478
@@:
478
popa
479
popa
479
ret
480
ret
480
 
481
 
481
;--- ¯à®ç¨â âì ¨ ­ à¨á®¢ âì ⥪ã騩 ­®¬¥à ---
482
;--- ¯à®ç¨â âì ¨ ­ à¨á®¢ âì ⥪ã騩 ­®¬¥à ---
482
apply_number:
483
apply_number:
483
	mov	edi,ed_buffer.3
484
	mov	edi,ed_buffer.3
484
	call	zstr_to_int
485
	call	zstr_to_int
485
	mov	[cur_number],eax
486
	mov	[cur_number],eax
486
	call	draw_number
487
	call	draw_number
487
ret
488
ret
488
 
489
 
489
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ ⥪ã饣® ­®¬¥à  ---
490
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ ⥪ã饣® ­®¬¥à  ---
490
draw_number:
491
draw_number:
491
	mov	edi,sign_n_input
492
	mov	edi,sign_n_input
492
	call	zstr_to_int
493
	call	zstr_to_int
493
	mov	[sign_n],al
494
	mov	[sign_n],al
494
	mov	eax,13
495
	mov	eax,13
495
	mov	ebx,150*65536+96
496
	mov	ebx,150*65536+96
496
	mov	cx,[label9.top]
497
	mov	cx,[label9.top]
497
	shl	ecx,16
498
	shl	ecx,16
498
	mov	cx,10
499
	mov	cx,10
499
	mov	edx,[sc.work]
500
	mov	edx,[sc.work]
500
	mcall
501
	mcall
501
	mov	eax,47
502
	mov	eax,47
502
	movsx	bx,byte [sign_n]
503
	movsx	bx,byte [sign_n]
503
	shl	ebx,16
504
	shl	ebx,16
504
	mov	ecx,[cur_number]
505
	mov	ecx,[cur_number]
505
	mov	dx,150
506
	mov	dx,150
506
	shl	edx,16
507
	shl	edx,16
507
	mov	dx,[label9.top]
508
	mov	dx,[label9.top]
508
	mov	esi,[sc.work_text]
509
	mov	esi,[sc.work_text]
509
	mcall
510
	mcall
510
ret
511
ret
511
 
512
 
512
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª  ¢â®áꥬª¨ ---
513
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª  ¢â®áꥬª¨ ---
513
start_autoshoot:
514
start_autoshoot:
514
	bts	dword [flags],1
515
	bts	dword [flags],1
515
	jc	@f
516
	jc	@f
516
	mov	eax,51
517
	mov	eax,51
517
	;mov     ebx,1
518
	;mov     ebx,1
518
	xor	ebx,ebx
519
	xor	ebx,ebx
519
	inc	ebx
520
	inc	ebx
520
	mov	ecx,autoshoot
521
	mov	ecx,autoshoot
521
	mov	edx,i_end_tread
522
	mov	edx,i_end_tread
522
	mcall
523
	mcall
523
@@:
524
@@:
524
ret
525
ret
525
 
526
 
526
;--- ®áâ ­ ¢«¨¢ ¥â íâ®â ¯®â®ª ---
527
;--- ®áâ ­ ¢«¨¢ ¥â íâ®â ¯®â®ª ---
527
stop_autoshoot:
528
stop_autoshoot:
528
	btr	dword [flags],1
529
	btr	dword [flags],1
529
ret
530
ret
530
 
531
 
531
;--- 横« ¯®â®ª   ¢â®áꥬª¨ ---
532
;--- 横« ¯®â®ª   ¢â®áꥬª¨ ---
532
autoshoot:
533
autoshoot:
533
	mov	[autoshoot_flag],1
534
	mov	[autoshoot_flag],1
534
	mov	ecx,[slot_n]
535
	mov	ecx,[slot_n]
535
	activ_window
536
	activ_window
536
.next:
537
.next:
537
	bt	dword [flags],1
538
	bt	dword [flags],1
538
	jnc	close
539
	jnc	close
539
	mov	eax,60
540
	mov	eax,60
540
	mov	ebx,2
541
	mov	ebx,2
541
	mov	ecx,[app.pid]
542
	mov	ecx,[app.pid]
542
	mov	edx,messages.draw_number
543
	mov	edx,messages.draw_number
543
	mov	esi,2
544
	mov	esi,2
544
	mcall
545
	mcall
545
	call	shoot
546
	call	shoot
546
	jmp	autoshoot.next
547
	jmp	autoshoot.next
547
.close:
548
.close:
548
	mov	[autoshoot_flag],0
549
	mov	[autoshoot_flag],0
549
	jmp	close
550
	jmp	close
550
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ áâப¨ á®áâ®ï­¨ï ---
551
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ áâப¨ á®áâ®ï­¨ï ---
551
; (¤®«¦­  ¢ë§ë¢ âìáï ¯®â®ª®¬ £« ¢­®£® ®ª­ )
552
; (¤®«¦­  ¢ë§ë¢ âìáï ¯®â®ª®¬ £« ¢­®£® ®ª­ )
552
dr_st:
553
dr_st:
553
	mov	eax,38		    ; ®â१®ª
554
	mov	eax,38		    ; ®â१®ª
554
	mov	ebx,0*65536+310
555
	mov	ebx,0*65536+310
555
	mov	ecx,198*65536+198
556
	mov	ecx,198*65536+198
556
	mov	edx,[sc.work_graph]
557
	mov	edx,[sc.work_graph]
557
	mcall
558
	mcall
558
 
559
 
559
	mov	eax,13		    ; ¯®«®áª 
560
	mov	eax,13		    ; ¯®«®áª 
560
	mov	bx,310
561
	mov	bx,310
561
	mov	ecx,199*65536+15
562
	mov	ecx,199*65536+15
562
	mov	edx,[sc.work]
563
	mov	edx,[sc.work]
563
	mcall
564
	mcall
564
 
565
 
565
	mov	edi,status
566
	mov	edi,status
566
	call	draw_label
567
	call	draw_label
567
ret
568
ret
568
 
569
 
569
;--- ¯à®æ¥¤ãà  ¯®«ã祭¨ï ­®¬¥à  á«®â  ¯®â®ª  ---
570
;--- ¯à®æ¥¤ãà  ¯®«ã祭¨ï ­®¬¥à  á«®â  ¯®â®ª  ---
570
; ¢å®¤ ebx - ¡ãää¥à 1024 ¡ ©â
571
; ¢å®¤ ebx - ¡ãää¥à 1024 ¡ ©â
571
; ¢ë室 ecx - ­®¬¥à á«®â 
572
; ¢ë室 ecx - ­®¬¥à á«®â 
572
get_slot_n:
573
get_slot_n:
573
	mov	eax,9
574
	mov	eax,9
574
	xor	ecx,ecx
575
	xor	ecx,ecx
575
	dec	ecx
576
	dec	ecx
576
	mcall
577
	mcall
577
 
578
 
578
	mov	edx,[ebx+30]
579
	mov	edx,[ebx+30]
579
	xor	ecx,ecx
580
	xor	ecx,ecx
580
@@:
581
@@:
581
	mov	eax,9
582
	mov	eax,9
582
	inc	ecx
583
	inc	ecx
583
	mcall
584
	mcall
584
	cmp	[ebx+30],edx
585
	cmp	[ebx+30],edx
585
	je	@f
586
	je	@f
586
	jmp	@b
587
	jmp	@b
587
@@:
588
@@:
588
ret
589
ret
589
 
590
 
590
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª, ¤¥« î騩 1 á­¨¬®ª ---
591
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª, ¤¥« î騩 1 á­¨¬®ª ---
591
one_shoot:
592
one_shoot:
592
	mov	ecx,one_shoot_thread
593
	mov	ecx,one_shoot_thread
593
	mov	edx,shoot_esp
594
	mov	edx,shoot_esp
594
	jmp	@f
595
	jmp	@f
595
;--- ¯à®æ¥¤à , § ¯ã᪠îé ï ¯®â®ª, á®åà ­ïî騩 á­¨¬®ª ---
596
;--- ¯à®æ¥¤à , § ¯ã᪠îé ï ¯®â®ª, á®åà ­ïî騩 á­¨¬®ª ---
596
save_shoot:
597
save_shoot:
597
; invoke OpenDialog
598
; invoke OpenDialog
598
	push    dword OpenDialog_data
599
	push    dword OpenDialog_data
599
	call    [OpenDialog_Start]
600
	call    [OpenDialog_Start]
600
	cmp	[OpenDialog_data.status],1
601
	cmp	[OpenDialog_data.status],1
601
	je	.1
602
	je	.1
602
	ret
603
	ret
603
.1:
604
.1:
604
; prepare for PathShow
605
; prepare for PathShow
605
	push	dword PathShow_data_1
606
	push	dword PathShow_data_1
606
	call	[PathShow_prepare]
607
	call	[PathShow_prepare]
607
 
608
 
608
	call	draw_PathShow
609
	call	draw_PathShow
609
 
610
 
610
	mov	ecx,save_shoot_thread
611
	mov	ecx,save_shoot_thread
611
	mov	edx,shoot_esp
612
	mov	edx,shoot_esp
612
@@:
613
@@:
613
	bts	dword [flags],2
614
	bts	dword [flags],2
614
	jc	.running
615
	jc	.running
615
	bt	dword [flags],1
616
	bt	dword [flags],1
616
	jc	.running
617
	jc	.running
617
 
618
 
618
	mov	eax,51
619
	mov	eax,51
619
	;mov     ebx,1
620
	;mov     ebx,1
620
	xor	ebx,ebx
621
	xor	ebx,ebx
621
	inc	ebx
622
	inc	ebx
622
	mcall
623
	mcall
623
.running:
624
.running:
624
ret
625
ret
625
 
626
 
626
;--- ¯®â®ª, ¤¥« î騩 1 á­¨¬®ª ---
627
;--- ¯®â®ª, ¤¥« î騩 1 á­¨¬®ª ---
627
one_shoot_thread:
628
one_shoot_thread:
628
	mov	ecx,[slot_n]
629
	mov	ecx,[slot_n]
629
	activ_window
630
	activ_window
630
	bt	dword [ch1.flags],1   ; ¬¨­¨¬¨§¨à®¢ âì ®ª­® ?
631
	bt	dword [ch1.flags],1   ; ¬¨­¨¬¨§¨à®¢ âì ®ª­® ?
631
	jnc	 @f
632
	jnc	 @f
632
	mov	eax,60
633
	mov	eax,60
633
	mov	ebx,2
634
	mov	ebx,2
634
	mov	ecx,[app.pid]
635
	mov	ecx,[app.pid]
635
	mov	edx,messages.min_window
636
	mov	edx,messages.min_window
636
	mov	esi,2
637
	mov	esi,2
637
	mcall
638
	mcall
638
@@:
639
@@:
639
	call	shoot
640
	call	shoot
640
	btr	dword [flags],2
641
	btr	dword [flags],2
641
	jmp	close
642
	jmp	close
642
 
643
 
643
;--- ¯à®æ¥¤ãà , ®â¯à ¢«ïîé ï £« ¢­®¬ã ®ª­ã á®®¡é¥­¨¥ ® ¯¥à¥à¨á®¢ª¥
644
;--- ¯à®æ¥¤ãà , ®â¯à ¢«ïîé ï £« ¢­®¬ã ®ª­ã á®®¡é¥­¨¥ ® ¯¥à¥à¨á®¢ª¥
644
; áâப¨ á®áâ®ï­¨ï ---
645
; áâப¨ á®áâ®ï­¨ï ---
645
send_draw_status:
646
send_draw_status:
646
	mov	eax,60
647
	mov	eax,60
647
	mov	ebx,2
648
	mov	ebx,2
648
	mov	ecx,[app.pid]
649
	mov	ecx,[app.pid]
649
	mov	edx,messages.draw_status
650
	mov	edx,messages.draw_status
650
	mov	esi,2
651
	mov	esi,2
651
	mcall
652
	mcall
652
ret
653
ret
653
 
654
 
654
;--- ¯®â®ª, á®åà ­ï ä ©« ---
655
;--- ¯®â®ª, á®åà ­ï ä ©« ---
655
save_shoot_thread:
656
save_shoot_thread:
656
	mov	ecx,[slot_n]
657
	mov	ecx,[slot_n]
657
	activ_window
658
	activ_window
658
	call	save_file
659
	call	save_file
659
	btr	dword [flags],2
660
	btr	dword [flags],2
660
	jmp	close
661
	jmp	close
661
 
662
 
662
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª ®ª­  ãáâ ­®¢ª¨ ®¡« á⨠áꥬª¨ ---
663
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª ®ª­  ãáâ ­®¢ª¨ ®¡« á⨠áꥬª¨ ---
663
show_set_rect_window:
664
show_set_rect_window:
664
	bts	dword [flags],3
665
	bts	dword [flags],3
665
	jc	@f
666
	jc	@f
666
	mov	eax,51
667
	mov	eax,51
667
	xor	ebx,ebx
668
	xor	ebx,ebx
668
	inc	ebx
669
	inc	ebx
669
	mov	ecx,set_rect_window
670
	mov	ecx,set_rect_window
670
	mov	edx,set_rect_window_esp
671
	mov	edx,set_rect_window_esp
671
	mcall
672
	mcall
672
 
673
 
673
	mov	[set_rect_window_pid],eax
674
	mov	[set_rect_window_pid],eax
674
ret
675
ret
675
 
676
 
676
@@:
677
@@:
677
	mov	eax,18
678
	mov	eax,18
678
	mov	ebx,eax
679
	mov	ebx,eax
679
	mov	ecx,[set_rect_window_pid]
680
	mov	ecx,[set_rect_window_pid]
680
	mcall
681
	mcall
681
	btr	dword [flags],3
682
	btr	dword [flags],3
682
ret
683
ret
683
 
684
 
684
;--- ¯®«ã祭¨¥ ¨­ä®à¬ æ¨¨ ®¡  ªâ¨¢­®¬ ®ª­¥ ---
685
;--- ¯®«ã祭¨¥ ¨­ä®à¬ æ¨¨ ®¡  ªâ¨¢­®¬ ®ª­¥ ---
685
get_active_window_info:
686
get_active_window_info:
686
	mov    eax,18
687
	mov    eax,18
687
	mov    ebx,7
688
	mov    ebx,7
688
	mcall
689
	mcall
689
 
690
 
690
	mov	ecx,eax
691
	mov	ecx,eax
691
	mov	eax,9
692
	mov	eax,9
692
	mov	ebx,active_app
693
	mov	ebx,active_app
693
	mcall
694
	mcall
694
ret
695
ret
695
 
696
 
696
;====================================================================
697
;====================================================================
697
;=== ¤ ­­ë¥ ¯à®£à ¬¬ë ===============================================
698
;=== ¤ ­­ë¥ ¯à®£à ¬¬ë ===============================================
698
;====================================================================
699
;====================================================================
699
messages:
700
messages:
700
.draw_number dw 0
701
.draw_number dw 0
701
.draw_status dw 1
702
.draw_status dw 1
702
.min_window  dw 2
703
.min_window  dw 2
703
.act_window  dw 3
704
.act_window  dw 3
704
 
705
 
705
grab_text:
706
grab_text:
706
	db	title,0
707
	db	title,0
707
 
708
 
708
labels:
709
labels:
709
label1 label 5,5,0,text.1   ; è¨à¨­  íªà ­ 
710
label1 label 5,5,0,text.1   ; è¨à¨­  íªà ­ 
710
label2 label 5,15,0,text.2   ; ¢ëá®â  íªà ­ 
711
label2 label 5,15,0,text.2   ; ¢ëá®â  íªà ­ 
711
label3 label 5,25,0,text.3   ; ¢¢¥¤¨â¥ ¨¬ï ä ©« 
712
label3 label 5,25,0,text.3   ; ¢¢¥¤¨â¥ ¨¬ï ä ©« 
712
label4 label 150,5,0,text.4  ; ¡¨â ­  ¯¨ªá¥«ì
713
label4 label 150,5,0,text.4  ; ¡¨â ­  ¯¨ªá¥«ì
713
label5 label 150,15,0,text.5  ; ¡ ©â ­  áâபã
714
label5 label 150,15,0,text.5  ; ¡ ©â ­  áâபã
714
label6 label 115,138,0,text.6  ; 100 = 1 ᥪ.
715
label6 label 115,138,0,text.6  ; 100 = 1 ᥪ.
715
;label7 label 10,190,0,text.7
716
;label7 label 10,190,0,text.7
716
;label8 label 10,225,0,text.8
717
;label8 label 10,225,0,text.8
717
label9 label 5,52,0,text.9   ; ­®¬¥à ⥪ã饣® ᨬª 
718
label9 label 5,52,0,text.9   ; ­®¬¥à ⥪ã饣® ᨬª 
718
label10 label 5,185,0,text.10
719
label10 label 5,185,0,text.10
719
status label 5,201,0,no_shoot
720
status label 5,201,0,no_shoot
720
labels_end:
721
labels_end:
721
 
722
 
722
;---------------------------------------------------------------------
723
;---------------------------------------------------------------------
723
l_libs_start:
724
l_libs_start:
724
 
725
 
725
library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
726
library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
726
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
727
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
727
 
728
 
728
library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
729
library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
729
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
730
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
730
 
731
 
731
end_l_libs:
732
end_l_libs:
732
;---------------------------------------------------------------------
733
;---------------------------------------------------------------------
733
editboxes:
734
editboxes:
734
;edit1 edit_box 300,5,35,cl_white,0,0,0,0,300,ed_buffer.1,mouse_dd,ed_focus,10,10	; ¯ãâì ª ä ©«ã
735
;edit1 edit_box 300,5,35,cl_white,0,0,0,0,300,ed_buffer.1,mouse_dd,ed_focus,10,10	; ¯ãâì ª ä ©«ã
735
edit2 edit_box 35,75,134,cl_white,0,0,0,0,9,ed_buffer.2,mouse_dd,ed_figure_only,3,3	    ; § ¤¥à¦ª 
736
edit2 edit_box 35,75,134,cl_white,0,0,0,0,9,ed_buffer.2,mouse_dd,ed_figure_only,3,3	    ; § ¤¥à¦ª 
736
edit3 edit_box 35,165,164,cl_white,0,0,0,0,9,ed_buffer.3,mouse_dd,ed_figure_only    ;  ¢â®­ã¬¥à æ¨ï
737
edit3 edit_box 35,165,164,cl_white,0,0,0,0,9,ed_buffer.3,mouse_dd,ed_figure_only    ;  ¢â®­ã¬¥à æ¨ï
737
edit4 edit_box 16,165,181,cl_white,0,0,0,0,1,sign_n_input,mouse_dd,ed_figure_only,1
738
edit4 edit_box 16,165,181,cl_white,0,0,0,0,1,sign_n_input,mouse_dd,ed_figure_only,1
738
editboxes_end:
739
editboxes_end:
739
;---------------------------------------------------------------------
740
;---------------------------------------------------------------------
740
buttons:
741
buttons:
741
but1 txt_button 150,5,15,65,2,0,0,but_text.1,one_shoot		   ; ᤥ« âì á­¨¬®ª
742
but1 txt_button 150,5,15,65,2,0,0,but_text.1,one_shoot		   ; ᤥ« âì á­¨¬®ª
742
but2 txt_button 145,160,15,65,3,0,0,but_text.2,save_shoot	   ; á®åà ­¨âì á­¨¬®ª
743
but2 txt_button 145,160,15,65,3,0,0,but_text.2,save_shoot	   ; á®åà ­¨âì á­¨¬®ª
743
but3 txt_button 140,115,12,120,4,0,0,but_text.3,show_scr_window    ; ¯®ª § âì á­¨¬®ª
744
but3 txt_button 140,115,12,120,4,0,0,but_text.3,show_scr_window    ; ¯®ª § âì á­¨¬®ª
744
but4 txt_button 80,205,15,163,5,0,0,but_text.4,apply_number	   ; ¯à¨¬¥­¨âì ­®¬¥à
745
but4 txt_button 80,205,15,163,5,0,0,but_text.4,apply_number	   ; ¯à¨¬¥­¨âì ­®¬¥à
745
but5 txt_button 150,5,15,85,6,0,0,but_text.5,start_autoshoot	   ; ­ ç âì  ¢â®áêñ¬ªã
746
but5 txt_button 150,5,15,85,6,0,0,but_text.5,start_autoshoot	   ; ­ ç âì  ¢â®áêñ¬ªã
746
but6 txt_button 145,160,15,85,7,0,0,but_text.6,stop_autoshoot	   ; ®áâ ­®¢¨âì  ¢â®áêñ¬ªã
747
but6 txt_button 145,160,15,85,7,0,0,but_text.6,stop_autoshoot	   ; ®áâ ­®¢¨âì  ¢â®áêñ¬ªã
747
but7 txt_button 40,205,10,150,8,0,0,but_text.7,show_set_rect_window ; § ¤ âì ®¡« áâì
748
but7 txt_button 40,205,10,150,8,0,0,but_text.7,show_set_rect_window ; § ¤ âì ®¡« áâì
748
buttons_end:
749
buttons_end:
749
;---------------------------------------------------------------------
750
;---------------------------------------------------------------------
750
check_boxes:
751
check_boxes:
751
ch1 check_box2 (5 shl 16+11),(105 shl 16 +11),5,cl_white,0,0x80000000,ch_text.1,ch_flag_en+ch_flag_bottom	; ᢥà­ãâì ®ª­®
752
ch1 check_box2 (5 shl 16+11),(105 shl 16 +11),5,cl_white,0,0x80000000,ch_text.1,ch_flag_en+ch_flag_bottom	; ᢥà­ãâì ®ª­®
752
ch2 check_box2 (5 shl 16+11),(120 shl 16 +11),5,cl_white,0,0x80000000,ch_text.2,ch_flag_en+ch_flag_bottom	; § â¥¬ ᤥ« âì  ªâ¨¢­ë¬
753
ch2 check_box2 (5 shl 16+11),(120 shl 16 +11),5,cl_white,0,0x80000000,ch_text.2,ch_flag_en+ch_flag_bottom	; § â¥¬ ᤥ« âì  ªâ¨¢­ë¬
753
ch3 check_box2 (1455 shl 16+11),(105 shl 16 +11),5,cl_white,0,0x80000000,ch_text.3,ch_flag_en+ch_flag_bottom	; ¯®ª § âì á­¨¬®ª
754
ch3 check_box2 (1455 shl 16+11),(105 shl 16 +11),5,cl_white,0,0x80000000,ch_text.3,ch_flag_en+ch_flag_bottom	; ¯®ª § âì á­¨¬®ª
754
ch4 check_box2 (5 shl 16+11),(135 shl 16 +11),5,cl_white,0,0x80000000,ch_text.4,ch_flag_en+ch_flag_bottom	; § ¤¥à¦ª 
755
ch4 check_box2 (5 shl 16+11),(135 shl 16 +11),5,cl_white,0,0x80000000,ch_text.4,ch_flag_en+ch_flag_bottom	; § ¤¥à¦ª 
755
ch5 check_box2 (5 shl 16+11),(150 shl 16 +11),5,cl_white,0,0x80000000,ch_text.5,ch_flag_en+ch_flag_bottom
756
ch5 check_box2 (5 shl 16+11),(150 shl 16 +11),5,cl_white,0,0x80000000,ch_text.5,ch_flag_en+ch_flag_bottom
756
ch6 check_box2 (5 shl 16+11),(165 shl 16 +11),5,cl_white,0,0x80000000,ch_text.6,ch_flag_en+ch_flag_bottom
757
ch6 check_box2 (5 shl 16+11),(165 shl 16 +11),5,cl_white,0,0x80000000,ch_text.6,ch_flag_en+ch_flag_bottom
757
use_rect check_box2 (145 shl 16+11),(150 shl 16 +11),5,cl_white,0,0x80000000,ch_text.7,ch_flag_bottom		; ¨á¯. ®¡« áâì
758
use_rect check_box2 (145 shl 16+11),(150 shl 16 +11),5,cl_white,0,0x80000000,ch_text.7,ch_flag_bottom		; ¨á¯. ®¡« áâì
758
;  ¢â®­ã¬¥à æ¨ï
759
;  ¢â®­ã¬¥à æ¨ï
759
check_boxes_end:
760
check_boxes_end:
760
;---------------------------------------------------------------------
761
;---------------------------------------------------------------------
761
if lang eq ru
762
if lang eq ru
762
text:
763
text:
763
.2 db '‚ëá®â  íªà ­ :',0
764
.2 db '‚ëá®â  íªà ­ :',0
764
.1 db '˜¨à¨­  íªà ­ :',0
765
.1 db '˜¨à¨­  íªà ­ :',0
765
.3 db '‚¢¥¤¨â¥ ¯®«­ë© ¯ãâì ª ä ©«ã:',0
766
.3 db '‚¢¥¤¨â¥ ¯®«­ë© ¯ãâì ª ä ©«ã:',0
766
.4 db '¨â ­  ¯¨ªá¥«ì:',0
767
.4 db '¨â ­  ¯¨ªá¥«ì:',0
767
.5 db ' ©â ­  áâபã:',0
768
.5 db ' ©â ­  áâபã:',0
768
.6 db '100 = 1 ᥪ㭤 ',0
769
.6 db '100 = 1 ᥪ㭤 ',0
769
;.7: db '‚¢¥¤¨â¥ ¨¬ï ä ©« :',0
770
;.7: db '‚¢¥¤¨â¥ ¨¬ï ä ©« :',0
770
;.8: db '‚¬¥áâ® "*" ¢ ¨¬¥­¨ ä ©«  ¡ã¤¥â ¢áâ ¢«ïâìáï ­®¬¥à.',0
771
;.8: db '‚¬¥áâ® "*" ¢ ¨¬¥­¨ ä ©«  ¡ã¤¥â ¢áâ ¢«ïâìáï ­®¬¥à.',0
771
.9 db '®¬¥à ⥪ã饣® á­¨¬ª :',0
772
.9 db '®¬¥à ⥪ã饣® á­¨¬ª :',0
772
.10 db 'Š®«¨ç¥á⢮ §­ ª®¢ ¢ ­®¬¥à¥:',0
773
.10 db 'Š®«¨ç¥á⢮ §­ ª®¢ ¢ ­®¬¥à¥:',0
773
 
774
 
774
but_text:
775
but_text:
775
.1 db '‘¤¥« âì á­¨¬®ª íªà ­ ',0
776
.1 db '‘¤¥« âì á­¨¬®ª íªà ­ ',0
776
.2 db '‘®åà ­¨âì á­¨¬®ª íªà ­ ',0
777
.2 db '‘®åà ­¨âì á­¨¬®ª íªà ­ ',0
777
.3 db '®ª § âì á­¨¬®ª ᥩç á',0
778
.3 db '®ª § âì á­¨¬®ª ᥩç á',0
778
.4 db 'à¨¬¥­¨âì',0
779
.4 db 'à¨¬¥­¨âì',0
779
.5 db ' ç âì  ¢â®áꥬªã',0
780
.5 db ' ç âì  ¢â®áꥬªã',0
780
.6 db 'Žáâ ­®¢¨âì  ¢â®áꥬªã',0
781
.6 db 'Žáâ ­®¢¨âì  ¢â®áꥬªã',0
781
.7 db '§ ¤ âì',0
782
.7 db '§ ¤ âì',0
782
 
783
 
783
ch_text:
784
ch_text:
784
.1 db '‘¢¥à­ãâì ®ª­®',0
785
.1 db '‘¢¥à­ãâì ®ª­®',0
785
.2 db '®ª § âì á­¨¬®ª',0
786
.2 db '®ª § âì á­¨¬®ª',0
786
.3 db '§ â¥¬ ᤥ« âì  ªâ¨¢­ë¬',0
787
.3 db '§ â¥¬ ᤥ« âì  ªâ¨¢­ë¬',0
787
.4 db '‡ ¤¥à¦ª :',0
788
.4 db '‡ ¤¥à¦ª :',0
788
.5 db '€¢â®á®åà ­¥­¨¥',0
789
.5 db '€¢â®á®åà ­¥­¨¥',0
789
.6 db '€¢â®­ã¬¥à æ¨ï, ­ ç¨­ ï á',0
790
.6 db '€¢â®­ã¬¥à æ¨ï, ­ ç¨­ ï á',0
790
.7 db 'Ž¡« áâì',0
791
.7 db 'Ž¡« áâì',0
791
 
792
 
792
no_shoot db '‘­¨¬®ª ­¥ ᤥ« ­',0
793
no_shoot db '‘­¨¬®ª ­¥ ᤥ« ­',0
793
shooting db '”®â®£à ä¨à®¢ ­¨¥...',0
794
shooting db '”®â®£à ä¨à®¢ ­¨¥...',0
794
shooted_ok db '‘­¨¬®ª ᤥ« ­',0
795
shooted_ok db '‘­¨¬®ª ᤥ« ­',0
795
saving db '‘®åà ­¥­¨¥...',0
796
saving db '‘®åà ­¥­¨¥...',0
796
saved_ok db '‘­¨¬®ª á®åà ­¥­',0
797
saved_ok db '‘­¨¬®ª á®åà ­¥­',0
797
delay_now db '‡ ¤¥à¦ª ...',0
798
delay_now db '‡ ¤¥à¦ª ...',0
798
bad_file_name db 'ˆ¬ï ä ©«  ¢¢¥¤¥­® ­¥¢¥à­®',0
799
bad_file_name db 'ˆ¬ï ä ©«  ¢¢¥¤¥­® ­¥¢¥à­®',0
799
disk_filled db '„¨áª § ¯®«­¥­',0
800
disk_filled db '„¨áª § ¯®«­¥­',0
800
bad_fat_table db '’ ¡«¨æ  FAT à §àã襭 ',0
801
bad_fat_table db '’ ¡«¨æ  FAT à §àã襭 ',0
801
ac_den db '„®áâ㯠§ ¯à¥é¥­',0
802
ac_den db '„®áâ㯠§ ¯à¥é¥­',0
802
device_er db 'Žè¨¡ª  ãáâனá⢠',0
803
device_er db 'Žè¨¡ª  ãáâனá⢠',0
803
not_shooted db '‘¤¥« ©â¥ á­¨¬®ª !!!',0
804
not_shooted db '‘¤¥« ©â¥ á­¨¬®ª !!!',0
804
no_file_name db '‚¢¥¤¨â¥ ¨¬ï ä ©«  !!!',0
805
no_file_name db '‚¢¥¤¨â¥ ¨¬ï ä ©«  !!!',0
805
invalid_rect db '¥¤®¯ãáâ¨¬ë¥ à §¬¥àë ®¡« áâ¨',0
806
invalid_rect db '¥¤®¯ãáâ¨¬ë¥ à §¬¥àë ®¡« áâ¨',0
806
 
807
 
807
else
808
else
808
text:
809
text:
809
.2 db 'Screen width:',0
810
.2 db 'Screen width:',0
810
.1 db 'Screen height:',0
811
.1 db 'Screen height:',0
811
.3 db 'Enter full path to the file:',0
812
.3 db 'Enter full path to the file:',0
812
.4 db 'Bits per pixel:',0
813
.4 db 'Bits per pixel:',0
813
.5 db 'Bytes per line:',0
814
.5 db 'Bytes per line:',0
814
.6 db '100 = 1 second',0
815
.6 db '100 = 1 second',0
815
;.7: db 'Enter name of file:',0
816
;.7: db 'Enter name of file:',0
816
;.8: db 'Instead of "*" in filename the number will be included.',0
817
;.8: db 'Instead of "*" in filename the number will be included.',0
817
.9 db 'Current photo number:',0
818
.9 db 'Current photo number:',0
818
.10 db 'Amount of digits in number:',0
819
.10 db 'Amount of digits in number:',0
819
 
820
 
820
but_text:
821
but_text:
821
.1 db 'Make screen photo',0
822
.1 db 'Make screen photo',0
822
.2 db 'Save screen photo',0
823
.2 db 'Save screen photo',0
823
.3 db 'Show photo now',0
824
.3 db 'Show photo now',0
824
.4 db 'Apply',0
825
.4 db 'Apply',0
825
.5 db 'Start autoshooting',0
826
.5 db 'Start autoshooting',0
826
.6 db 'Stop autoshooting',0
827
.6 db 'Stop autoshooting',0
827
.7 db 'Set',0
828
.7 db 'Set',0
828
 
829
 
829
ch_text:
830
ch_text:
830
.1 db 'Minimize window',0
831
.1 db 'Minimize window',0
831
.2 db 'Show photo',0
832
.2 db 'Show photo',0
832
.3 db 'then make active',0
833
.3 db 'then make active',0
833
.4 db 'Delay:',0
834
.4 db 'Delay:',0
834
.5 db 'Autosave',0
835
.5 db 'Autosave',0
835
.6 db 'Start numeration from',0
836
.6 db 'Start numeration from',0
836
.7 db 'Area',0
837
.7 db 'Area',0
837
 
838
 
838
no_shoot db 'There is no photo',0
839
no_shoot db 'There is no photo',0
839
shooting db 'Photographing...',0
840
shooting db 'Photographing...',0
840
shooted_ok db 'Photo created',0
841
shooted_ok db 'Photo created',0
841
saving db 'Saving...',0
842
saving db 'Saving...',0
842
saved_ok db 'Photo saved',0
843
saved_ok db 'Photo saved',0
843
delay_now db 'Delay...',0
844
delay_now db 'Delay...',0
844
bad_file_name db 'File name is wrong',0
845
bad_file_name db 'File name is wrong',0
845
disk_filled db 'Disk is full',0
846
disk_filled db 'Disk is full',0
846
bad_fat_table db 'FAT table destroyed',0
847
bad_fat_table db 'FAT table destroyed',0
847
ac_den db 'Access denied',0
848
ac_den db 'Access denied',0
848
device_er db 'Device error',0
849
device_er db 'Device error',0
849
not_shooted db 'Make a photo !!!',0
850
not_shooted db 'Make a photo !!!',0
850
no_file_name db 'Enter file name !!!',0
851
no_file_name db 'Enter file name !!!',0
851
invalid_rect db 'Wrong area size',0
852
invalid_rect db 'Wrong area size',0
852
 
853
 
853
end if
854
end if
854
 
855
 
855
;---------------------------------------------------------------------
856
;---------------------------------------------------------------------
856
PathShow_data_1:
857
PathShow_data_1:
857
.type			dd 0	;+0
858
.type			dd 0	;+0
858
.start_y		dw 38	;+4
859
.start_y		dw 38	;+4
859
.start_x		dw 6	;+6
860
.start_x		dw 6	;+6
860
.font_size_x		dw 6	;+8	; 6 - for font 0, 8 - for font 1
861
.font_size_x		dw 6	;+8	; 6 - for font 0, 8 - for font 1
861
.area_size_x		dw 300	;+10
862
.area_size_x		dw 300	;+10
862
.font_number		dd 0	;+12	; 0 - monospace, 1 - variable
863
.font_number		dd 0	;+12	; 0 - monospace, 1 - variable
863
.background_flag	dd 0	;+16
864
.background_flag	dd 0	;+16
864
.font_color		dd 0x0	;+20
865
.font_color		dd 0x0	;+20
865
.background_color	dd 0x0	;+24
866
.background_color	dd 0x0	;+24
866
.text_pointer		dd fname_buf	;+28
867
.text_pointer		dd fname_buf	;+28
867
.work_area_pointer	dd text_work_area	;+32
868
.work_area_pointer	dd text_work_area	;+32
868
.temp_text_length	dd 0	;+36
869
.temp_text_length	dd 0	;+36
869
;---------------------------------------------------------------------
870
;---------------------------------------------------------------------
870
OpenDialog_data:
871
OpenDialog_data:
871
.type			dd 1	; Save
872
.type			dd 1	; Save
872
.procinfo		dd procinfo	;+4
873
.procinfo		dd procinfo	;+4
873
.com_area_name		dd communication_area_name	;+8
874
.com_area_name		dd communication_area_name	;+8
874
.com_area		dd 0	;+12
875
.com_area		dd 0	;+12
875
.opendir_pach		dd temp_dir_pach	;+16
876
.opendir_pach		dd temp_dir_pach	;+16
876
.dir_default_pach	dd communication_area_default_pach	;+20
877
.dir_default_pach	dd communication_area_default_pach	;+20
877
.start_path		dd open_dialog_path	;+24
878
.start_path		dd open_dialog_path	;+24
878
.draw_window		dd draw_window	;+28
879
.draw_window		dd draw_window	;+28
879
.status			dd 0	;+32
880
.status			dd 0	;+32
880
.openfile_pach 		dd fname_buf	;+36
881
.openfile_pach 		dd fname_buf	;+36
881
.filename_area		dd filename_area	;+40
882
.filename_area		dd filename_area	;+40
882
.filter_area		dd Filter
883
.filter_area		dd Filter
883
.x:
884
.x:
884
.x_size			dw 420 ;+48 ; Window X size
885
.x_size			dw 420 ;+48 ; Window X size
885
.x_start		dw 10 ;+50 ; Window X position
886
.x_start		dw 10 ;+50 ; Window X position
886
.y:
887
.y:
887
.y_size			dw 320 ;+52 ; Window y size
888
.y_size			dw 320 ;+52 ; Window y size
888
.y_start		dw 10 ;+54 ; Window Y position
889
.y_start		dw 10 ;+54 ; Window Y position
889
 
890
 
890
communication_area_name:
891
communication_area_name:
891
	db 'FFFFFFFF_open_dialog',0
892
	db 'FFFFFFFF_open_dialog',0
892
open_dialog_path:
893
open_dialog_path:
-
 
894
if __nightbuild eq yes
-
 
895
	db '/sys/MANAGERS/opendial',0
-
 
896
else
893
	db '/sys/File Managers/opendial',0
897
	db '/sys/File Managers/opendial',0
-
 
898
end if
894
communication_area_default_pach:
899
communication_area_default_pach:
895
	db '/sys',0
900
	db '/sys',0
896
 
901
 
897
Filter:
902
Filter:
898
dd	Filter.end - Filter
903
dd	Filter.end - Filter
899
.1:
904
.1:
900
db	'BMP',0
905
db	'BMP',0
901
.end:
906
.end:
902
db	0
907
db	0
903
 
908
 
904
start_temp_file_name:	db '1.bmp',0
909
start_temp_file_name:	db '1.bmp',0
905
 
910
 
906
;---------------------------------------------------------------------
911
;---------------------------------------------------------------------
907
sign_n_input:
912
sign_n_input:
908
	db	'2',0
913
	db	'2',0
909
 
914
 
910
PrintScreen	db  0
915
PrintScreen	db  0
911
autoshoot_flag	db  0
916
autoshoot_flag	db  0
912
	
917
	
913
app_ipc ipc_buffer 32
918
app_ipc ipc_buffer 32
914
align 4
919
align 4
915
 
920
 
916
mouse_flag: dd 0x0
921
mouse_flag: dd 0x0
917
;---------------------------------------------------------------------
922
;---------------------------------------------------------------------
918
align 4
923
align 4
919
 
924
 
920
ed_buffer:
925
ed_buffer:
921
.1: db '/sys/1.bmp',0
926
.1: db '/sys/1.bmp',0
922
;rb 287
927
;rb 287
923
.2:
928
.2:
924
	db '100',0
929
	db '100',0
925
	rb 6
930
	rb 6
926
.3:
931
.3:
927
	rb 10
932
	rb 10
928
;---------------------------------------------------------------------	
933
;---------------------------------------------------------------------	
929
IM_END:
934
IM_END:
930
;---------------------------------------------------------------------
935
;---------------------------------------------------------------------
931
structure_of_potock:
936
structure_of_potock:
932
rb 100
937
rb 100
933
;---------------------------------------------------------------------
938
;---------------------------------------------------------------------
934
align 4
939
align 4
935
 
940
 
936
cur_number	  dd	  ?
941
cur_number	  dd	  ?
937
 
942
 
938
sign_n	      db      ?
943
sign_n	      db      ?
939
 
944
 
940
slot_n	      dd ?
945
slot_n	      dd ?
941
 
946
 
942
flags	     dd ?
947
flags	     dd ?
943
 
948
 
944
scr_buf:
949
scr_buf:
945
.ptr	    dd	    ?
950
.ptr	    dd	    ?
946
.end_ptr	dd	?
951
.end_ptr	dd	?
947
.size:
952
.size:
948
.height        dw      ?
953
.height        dw      ?
949
.width	      dw      ?
954
.width	      dw      ?
950
 
955
 
951
fs_struc:
956
fs_struc:
952
.funk_n        dd      ?
957
.funk_n        dd      ?
953
	dd	?
958
	dd	?
954
	dd	?
959
	dd	?
955
.bytes_to_write  dd	 ?
960
.bytes_to_write  dd	 ?
956
.data_ptr	 dd    ?,?
961
.data_ptr	 dd    ?,?
957
.fn_ptr        dd      ?
962
.fn_ptr        dd      ?
958
 
963
 
959
sf_buf:
964
sf_buf:
960
.bmp_header   dd      ?
965
.bmp_header   dd      ?
961
.bmp_area     dd      ?
966
.bmp_area     dd      ?
962
.end	      dd      ?
967
.end	      dd      ?
963
 
968
 
964
set_rect_window_pid dd ?
969
set_rect_window_pid dd ?
965
set_rect_window_slot dd ?
970
set_rect_window_slot dd ?
966
;---------------------------------------------------------------------
971
;---------------------------------------------------------------------
967
align 4
972
align 4
968
rect_input_buffer:
973
rect_input_buffer:
969
.left rb 6
974
.left rb 6
970
.top  rb 6
975
.top  rb 6
971
.width	rb 6
976
.width	rb 6
972
.height rb 6
977
.height rb 6
973
 
978
 
974
cmdstr rb 257
979
cmdstr rb 257
975
;---------------------------------------------------------------------
980
;---------------------------------------------------------------------
976
align 4
981
align 4
977
 
982
 
978
file_name:
983
file_name:
979
	rb	1058
984
	rb	1058
980
 
985
 
981
scr screen_prop
986
scr screen_prop
982
rect:
987
rect:
983
.left dw ?
988
.left dw ?
984
.top dw ?
989
.top dw ?
985
.height dw ?
990
.height dw ?
986
.width dw ?
991
.width dw ?
987
 
992
 
988
sc sys_color_table
993
sc sys_color_table
989
app procinfo	    ; ¨­ä®à¬ æ¨ï ® £« ¢­®¬ ®ª­¥
994
app procinfo	    ; ¨­ä®à¬ æ¨ï ® £« ¢­®¬ ®ª­¥
990
active_app procinfo ; ¨­ä®à¬ æ¨ï ®¡  ªâ¨¢­®¬ ®ª­¥
995
active_app procinfo ; ¨­ä®à¬ æ¨ï ®¡  ªâ¨¢­®¬ ®ª­¥
991
set_rect_window_procinfo procinfo  ; ¨­ä®à¬ æ¨ï ®¡ ®ª­¥ ®¡« áâ¨
996
set_rect_window_procinfo procinfo  ; ¨­ä®à¬ æ¨ï ®¡ ®ª­¥ ®¡« áâ¨
992
;---------------------------------------------------------------------
997
;---------------------------------------------------------------------
993
	rb 512		   ; á⥪ ¯®â®ª  ä®âª ­ìï
998
	rb 512		   ; á⥪ ¯®â®ª  ä®âª ­ìï
994
shoot_esp:
999
shoot_esp:
995
;---------------------------------------------------------------------
1000
;---------------------------------------------------------------------
996
	rb 512	   ; á⥪ ®ª­  ®¡« áâ¨
1001
	rb 512	   ; á⥪ ®ª­  ®¡« áâ¨
997
set_rect_window_esp:
1002
set_rect_window_esp:
998
;---------------------------------------------------------------------
1003
;---------------------------------------------------------------------
999
;        app_end    ; ª®­¥æ ¯à®£à ¬¬ë
1004
;        app_end    ; ª®­¥æ ¯à®£à ¬¬ë
1000
mouse_dd	rd 1
1005
mouse_dd	rd 1
1001
;---------------------------------------------------------------------
1006
;---------------------------------------------------------------------
1002
align 4
1007
align 4
1003
cur_dir_path:
1008
cur_dir_path:
1004
	rb 4096
1009
	rb 4096
1005
;---------------------------------------------------------------------
1010
;---------------------------------------------------------------------
1006
library_path:
1011
library_path:
1007
	rb 4096
1012
	rb 4096
1008
;---------------------------------------------------------------------
1013
;---------------------------------------------------------------------
1009
temp_dir_pach:
1014
temp_dir_pach:
1010
	rb 4096
1015
	rb 4096
1011
;---------------------------------------------------------------------
1016
;---------------------------------------------------------------------
1012
text_work_area:
1017
text_work_area:
1013
	rb 1024
1018
	rb 1024
1014
;---------------------------------------------------------------------
1019
;---------------------------------------------------------------------
1015
fname_buf:
1020
fname_buf:
1016
	rb 4096
1021
	rb 4096
1017
;---------------------------------------------------------------------
1022
;---------------------------------------------------------------------
1018
procinfo:
1023
procinfo:
1019
	rb 1024
1024
	rb 1024
1020
;---------------------------------------------------------------------
1025
;---------------------------------------------------------------------
1021
filename_area:
1026
filename_area:
1022
	rb 256
1027
	rb 256
1023
;---------------------------------------------------------------------
1028
;---------------------------------------------------------------------
1024
	rb 1024
1029
	rb 1024
1025
i_end_tread:
1030
i_end_tread:
1026
;---------------------------------------------------------------------
1031
;---------------------------------------------------------------------
1027
	rb 1024
1032
	rb 1024
1028
stacktop:
1033
stacktop:
1029
;---------------------------------------------------------------------
1034
;---------------------------------------------------------------------
1030
i_end:
1035
i_end: