Subversion Repositories Kolibri OS

Rev

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

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