Subversion Repositories Kolibri OS

Rev

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

Rev 8346 Rev 8568
Line 1... Line 1...
1
;Ïîñëåäíàÿ ìîäèôèêàöèÿ 08.12.2020
1
;Ïîñëåäíàÿ ìîäèôèêàöèÿ 02.02.2021
2
;ôàéë ñîçäàí 13.02.2009  Íà êîä ïðèìåíåíà GPL2 ëèöåíçèÿ
2
;ôàéë ñîçäàí 13.02.2009  Íà êîä ïðèìåíåíà GPL2 ëèöåíçèÿ
3
;Checkbox
3
;Checkbox
Line 4... Line 4...
4
 
4
 
5
;Èíèöèàëèçàöèÿ checkbox
5
;Èíèöèàëèçàöèÿ checkbox
Line 105... Line 105...
105
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
105
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
106
align 16
106
align 16
107
check_box_mouse:      ;îáðàáîòêà ìûøè 
107
check_box_mouse:      ;îáðàáîòêà ìûøè 
108
pushad
108
pushad
109
	mov	ebp,dword [esp+36]	;çàãðóæàåì óêàçàòåëü íà ñòðóêòóðó, óêàçàòåëü ìû ïåðåäàåì â ñòåêå
109
	mov	ebp,dword [esp+36]	;çàãðóæàåì óêàçàòåëü íà ñòðóêòóðó, óêàçàòåëü ìû ïåðåäàåì â ñòåêå
110
	mcall	SF_MOUSE_GET,SSF_BUTTON ;ïðîâåðÿåì ñîñòîÿíèå êëàâèø ìûøêè. Áûëî ëè ñîáûòèå íàæàòàÿ êëàâèøà íà ìûøêå.
110
	mcall	SF_MOUSE_GET,SSF_BUTTON_EXT ;ïðîâåðÿåì ñîñòîÿíèå êëàâèø ìûøêè. Áûëî ëè ñîáûòèå íàæàòàÿ êëàâèøà íà ìûøêå.
111
	test    eax,eax			;ïðîâåðêà åñëè ó íàñ â eax=0, âûéäåì
111
	and eax, 3 shl 8 ;ïðîâåðÿåì ëåâóþ è ïðàâóþ êíîïêè
112
	jz	.check_box_mouse_end    ;îáðàáîòêà çàêîí÷èëàñü
112
	jz	.end    ;îáðàáîòêà çàêîí÷èëàñü
113
; Äà ñîáûòèå: íàæàòèå êëàâèøè ìûøêè ïðîèçîøëî.        
113
; Äà ñîáûòèå: íàæàòèå êëàâèøè ìûøêè ïðîèçîøëî.        
114
@@:
114
@@:
115
	mcall	SF_MOUSE_GET,SSF_WINDOW_POSITION ;ïîëó÷èòü êîîðäèíàòû êóðñîðà îòíîñèòåëüíî îêíà
115
	mcall	SF_MOUSE_GET,SSF_WINDOW_POSITION ;ïîëó÷èòü êîîðäèíàòû êóðñîðà îòíîñèòåëüíî îêíà
116
					;íà âûõîäå â eax x shl 16 + y
116
					;íà âûõîäå â eax x shl 16 + y
117
;ñðàâíåíèå âåðõíåé òî÷êè ïî Y
117
;ñðàâíåíèå âåðõíåé òî÷êè ïî Y
118
	mov	ecx,dword ch_top_s	;y shl 16 +äëèííà ïî y
118
	mov	ecx,dword ch_top_s	;y shl 16 +äëèííà ïî y
119
	mov	ebx,ecx
119
	mov	ebx,ecx
120
	shr	ebx,16                  ;bx = êîîðäèíàòà ïî y
120
	shr	ebx,16                  ;bx = êîîðäèíàòà ïî y
121
	cmp	ax,bx
121
	cmp	ax,bx
122
	jb	.check_box_mouse_end	;óêàçàòåëü ìûøêè ìåíüøå íà÷àëüíîé êîîðäèíàòû ïî y ÷åì êîîðäèíàòà ïî Y ó áîêñà
122
	jb	.end	;óêàçàòåëü ìûøêè ìåíüøå íà÷àëüíîé êîîðäèíàòû ïî y ÷åì êîîðäèíàòà ïî Y ó áîêñà
123
;ñðàâíåíèå íèæíåé òî÷êè ïî Y
123
;ñðàâíåíèå íèæíåé òî÷êè ïî Y
124
	add	cx,bx			;ñëîæèì äëèííó ïî y è êîîðäèíàòó âåðõíåé òî÷êè ïî y ïîëè÷èì êîîðäèíàòó íèæíåé òî÷êè ïî Y
124
	add	cx,bx			;ñëîæèì äëèííó ïî y è êîîðäèíàòó âåðõíåé òî÷êè ïî y ïîëè÷èì êîîðäèíàòó íèæíåé òî÷êè ïî Y
125
	cmp	ax,cx
125
	cmp	ax,cx
126
	ja	.check_box_mouse_end	;óêàçàòåëü ìûøêè áîëüøå êîíå÷íîé êîîðäèíàòû ïî y ÷åì êîîðäèíàòà ïî Y ó áîêñà
126
	ja	.end	;óêàçàòåëü ìûøêè áîëüøå êîíå÷íîé êîîðäèíàòû ïî y ÷åì êîîðäèíàòà ïî Y ó áîêñà
127
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
127
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
128
	shr	eax,16			;ñìåñòèì êîîðäèíàòó ïî Õ â íèæíóþ ÷àñòü ðåãèñòðà ò.å. â ax
128
	shr	eax,16			;ñìåñòèì êîîðäèíàòó ïî Õ â íèæíóþ ÷àñòü ðåãèñòðà ò.å. â ax
129
;ñðàâíåíèå ïî íà÷àëüíîé òî÷êå Õ
129
;ñðàâíåíèå ïî íà÷àëüíîé òî÷êå Õ
130
	mov	ecx,dword ch_left_s	;çàãðóçèòü çíà÷åíèå (õ shl 16 + äëèííà)  äëÿ ÷åê áîêñà
130
	mov	ecx,dword ch_left_s	;çàãðóçèòü çíà÷åíèå (õ shl 16 + äëèííà)  äëÿ ÷åê áîêñà
131
	mov	ebx,ecx
131
	mov	ebx,ecx
132
	shr	ebx,16                  ;bx = êîîðäèíàòà ïî X
132
	shr	ebx,16                  ;bx = êîîðäèíàòà ïî X
133
	cmp	ax,bx
133
	cmp	ax,bx
134
	jb	.check_box_mouse_end	;óêàçàòåëü ìûøêè ìåíüøå íà÷àëüíîé êîîðäèíàòû ïî X ÷åì êîîðäèíàòà ïî X ó áîêñà
134
	jb	.end	;óêàçàòåëü ìûøêè ìåíüøå íà÷àëüíîé êîîðäèíàòû ïî X ÷åì êîîðäèíàòà ïî X ó áîêñà
135
;ñðàâíåíèå êîíå÷íîé òî÷êè ïî X
135
;ñðàâíåíèå êîíå÷íîé òî÷êè ïî X
136
	add	bx,cx			;ñëîæèì äëèííó ïî x è êîîðäèíàòó òî÷êè ïî õ ïîëó÷èì êîîðäèíàòó êîíå÷íîé òî÷êè ïî Õ
136
	add	bx,cx			;ñëîæèì äëèííó ïî x è êîîðäèíàòó òî÷êè ïî õ ïîëó÷èì êîîðäèíàòó êîíå÷íîé òî÷êè ïî Õ
137
	add	bx,word ch_sz_str	;äîáàâèì äëèííó ñòðîêè òåêñòà ñ îòñòóïîì ïðåäâàðòèåëüíî çàïèñàâ èõ â ìîìåíò èíèöèàëèçàöèè
137
	add	bx,word ch_sz_str	;äîáàâèì äëèííó ñòðîêè òåêñòà ñ îòñòóïîì ïðåäâàðòèåëüíî çàïèñàâ èõ â ìîìåíò èíèöèàëèçàöèè
138
	cmp	ax,bx
138
	cmp	ax,bx
139
	ja	.check_box_mouse_end	;óêàçàòåëü ìûøêè áîëüøå êîíå÷íîé êîîðäèíàòû ïî õ ÷åì êîîðäèíàòà ïî Õ ó áîêñà
139
	ja	.end	;óêàçàòåëü ìûøêè áîëüøå êîíå÷íîé êîîðäèíàòû ïî õ ÷åì êîîðäèíàòà ïî Õ ó áîêñà
140
;åñëè âñå ïðîâåðêè áûëè óñïåøíî ïðîéäåíû ìû îáÿçàíû ïîìåíÿòü ñîñòîÿíèå áîêñà
140
;åñëè âñå ïðîâåðêè áûëè óñïåøíî ïðîéäåíû ìû îáÿçàíû ïîìåíÿòü ñîñòîÿíèå áîêñà
141
	btc	dword	ch_flags,1	;ïåðåíîñ 2-ãî áèòà â cf è èíâåðñèÿ åãî
141
	btc	dword	ch_flags,1	;ïåðåíîñ 2-ãî áèòà â cf è èíâåðñèÿ åãî
142
	jnc	.enable_box		;åñëè CF=1 òî îòîáðàçèì âêëþ÷åííûé áîêñ è âûéäåì
142
	jnc	.enable_box		;åñëè CF=1 òî îòîáðàçèì âêëþ÷åííûé áîêñ è âûéäåì
143
	push	dword .check_box_mouse_end	;ôîêóñ -ïîêóñ, âåðíåìñÿ ïîñëå âûçîâà check_box_clear_ch íà ìåòêó check_box_mouse_end
143
	push	dword .end	;ôîêóñ-ïîêóñ, âåðíåìñÿ ïîñëå âûçîâà check_box_clear_ch íà ìåòêó check_box_mouse.end
144
	jmp	check_box_clear_ch     ;âûêëþ÷èòü ÷åê áîêñ ò.å. íà ìåñòå çàêðàøåííîãî ïðÿìîóãîëüíèêà îòîáðàçèòü öâåò ôîíà.	
144
	jmp	check_box_clear_ch     ;âûêëþ÷èòü ÷åê áîêñ ò.å. íà ìåñòå çàêðàøåííîãî ïðÿìîóãîëüíèêà îòîáðàçèòü öâåò ôîíà.	
Line 145... Line 145...
145
 
145
 
146
.enable_box:
146
.enable_box:
147
	call	check_box_draw_ch	;îòîáðàçèòü âêëþ÷åííûé ÷åê áîêñ
147
	call	check_box_draw_ch	;îòîáðàçèòü âêëþ÷åííûé ÷åê áîêñ
148
.check_box_mouse_end:
148
.end:
149
popad					;âîññòàíîâèòü ðåãèñòðû èç ñòåêà
149
popad					;âîññòàíîâèòü ðåãèñòðû èç ñòåêà