Subversion Repositories Kolibri OS

Rev

Rev 2538 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2538 Rev 2548
Line 23... Line 23...
23
	
23
	
24
; êîìó ïðèíàäëåæèò òî÷êà?
24
; êîìó ïðèíàäëåæèò òî÷êà?
25
	mcall	34,[curx1],[cury1]
25
	mcall	34,[curx1],[cury1]
26
	cmp	al,1 ; 1 - ÿäðî
26
	cmp	al,1 ; 1 - ÿäðî
-
 
27
	jne	still_mouse
-
 
28
	
-
 
29
; check for icon by click down
-
 
30
	call	check_icons_position
-
 
31
	mov	eax,[click_pos]
-
 
32
	test	eax,eax
-
 
33
	jz	still_mouse
-
 
34
	
-
 
35
	mov	eax,[current_X_mouse_thread]
-
 
36
	mov	[curx_restore],eax
-
 
37
	mov	eax,[current_Y_mouse_thread]
-
 
38
	mov	[cury_restore],eax
-
 
39
 
27
	jne	still_mouse
40
	call	draw_select
28
;--------------------------------------
41
;--------------------------------------
29
align 4
42
align 4
30
@@:		; ïîäîæä¸ì, ïîêà ïîëüçîâàòåëü íå îòïóñòèë ïðàâóþ êíîïêó ìûøè
43
@@:		; ïîäîæä¸ì, ïîêà ïîëüçîâàòåëü íå îòïóñòèë ïðàâóþ êíîïêó ìûøè
31
	mcall	37,2    ;   íàæàòû ëè êíîïêè ìûøè?
44
	mcall	37,2    ;   íàæàòû ëè êíîïêè ìûøè?
Line 48... Line 61...
48
	mov	[cury2],ebx	; cury1 = cursor_y
61
	mov	[cury2],ebx	; cury1 = cursor_y
Line 49... Line 62...
49
	
62
	
50
; êîìó ïðèíàäëåæèò òî÷êà?
63
; êîìó ïðèíàäëåæèò òî÷êà?
51
	mcall	34,[curx2],[cury2]
64
	mcall	34,[curx2],[cury2]
-
 
65
	cmp	al,1 ; 1 - ÿäðî
-
 
66
	je	@f
52
	cmp	al,1 ; 1 - ÿäðî
67
	call	restore_background
-
 
68
	jmp	still_mouse
-
 
69
;--------------------------------------
-
 
70
align 4		
53
	jne	still_mouse
71
@@:
54
; check for icon by click down
72
; check for icon by click down
55
	call	check_icons_position
73
	call	check_icons_position
56
	mov	eax,[click_pos]
74
	mov	eax,[click_pos]
57
	test	eax,eax
75
	test	eax,eax
Line 64... Line 82...
64
	mov	[cury1],eax	
82
	mov	[cury1],eax	
65
; check for icon by click up
83
; check for icon by click up
66
	call	check_icons_position	
84
	call	check_icons_position	
67
	pop	eax
85
	pop	eax
Line -... Line 86...
-
 
86
	
-
 
87
	call	restore_background
68
	
88
	
Line 69... Line 89...
69
	mov	ebx,[click_pos]
89
	mov	ebx,[click_pos]
70
	
90
	
Line 71... Line 91...
71
	test	ebx,ebx
91
	test	ebx,ebx
72
	jz	still_mouse
92
	jz	still_mouse
73
	
93
	
74
	cmp	eax,ebx
-
 
75
	jne	still_mouse
94
	cmp	eax,ebx
76
;--------------------------------------
95
	jne	still_mouse
77
align 4
96
;--------------------------------------
78
start_appl:
97
;start_appl:
79
	mov	esi,[adress_of_icon_data_2]	;[ebp+8]
98
	mov	esi,[adress_of_icon_data_2]
80
	mov	ebx,1
99
	mov	ebx,1
81
	mov	edi,finfo.path
100
	mov	edi,finfo.path
Line 170... Line 189...
170
; all icons survived!
189
; all icons survived!
171
	xor	eax,eax
190
	xor	eax,eax
172
	mov	[click_pos],eax
191
	mov	[click_pos],eax
173
	ret
192
	ret
174
;------------------------------------------------------------------------------
193
;------------------------------------------------------------------------------
-
 
194
align 4
-
 
195
draw_select:
-
 
196
	mcall	68,12,52*52*4+8
-
 
197
	mov	[draw_area_2],eax
-
 
198
	mov	ebx,52
-
 
199
	mov	[eax],ebx
-
 
200
	mov	[eax+4],ebx
-
 
201
;--------------------------------------
-
 
202
; draw black square
-
 
203
	mov	eax,-1
-
 
204
	mov	edi,[draw_area_2]
-
 
205
	add	edi,8
-
 
206
	cld
-
 
207
	mov	ecx,52*52
-
 
208
	rep	stosd
-
 
209
;--------------------------------------
-
 
210
; draw white square	
-
 
211
	mov	eax,0xff000000
-
 
212
	mov	edi,[draw_area_2]
-
 
213
	add	edi,8+(4*1)+(52*4*1)
-
 
214
	mov	ebx,50
-
 
215
	cld
-
 
216
;--------------------------------------
-
 
217
align 4	
-
 
218
@@:
-
 
219
	mov	ecx,50
-
 
220
	rep	stosd
-
 
221
	
-
 
222
	add	edi,2*4
-
 
223
	dec	ebx
-
 
224
	jnz	@b
-
 
225
;--------------------------------------
-
 
226
; draw black square
-
 
227
	xor	eax,eax
-
 
228
	mov	edi,[draw_area_2]
-
 
229
	add	edi,8+(4*2)+(52*4*2)
-
 
230
	mov	ebx,48
-
 
231
	cld
-
 
232
;--------------------------------------
-
 
233
align 4	
-
 
234
@@:
-
 
235
	mov	ecx,48
-
 
236
	rep	stosd
-
 
237
	
-
 
238
	add	edi,4*4
-
 
239
	dec	ebx
-
 
240
	jnz	@b	
-
 
241
;--------------------------------------
-
 
242
	mov	edx,[current_X_mouse_thread]
-
 
243
	shl	edx,16
-
 
244
	add	edx,[current_Y_mouse_thread]
-
 
245
	mov	ebx,[draw_area_2]
-
 
246
	add	ebx,8
-
 
247
	mcall	25,,<52,52>
-
 
248
	mcall	68,13,[draw_area_2]
-
 
249
	ret
-
 
250
;------------------------------------------------------------------------------
-
 
251
align 4	
-
 
252
restore_background:
-
 
253
	pusha
-
 
254
	mov	eax,[curx_restore]
-
 
255
	mov	ecx,eax
-
 
256
	shl	ecx,16
-
 
257
	add	ecx,eax
-
 
258
	add	ecx,52
-
 
259
	
-
 
260
	mov	eax,[cury_restore]
-
 
261
	mov	edx,eax
-
 
262
	shl	edx,16
-
 
263
	add	edx,eax
-
 
264
	add	edx,52
-
 
265
	
-
 
266
	mcall	15,9
-
 
267
	popa
-
 
268
	ret
-
 
269
;------------------------------------------------------------------------------
175
270