Subversion Repositories Kolibri OS

Rev

Rev 1720 | Rev 8346 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1720 Rev 6789
Line 1... Line 1...
1
;Ïîñëåäíàÿ ìîäèôèêàöèÿ 03.10.2010
1
;Ïîñëåäíàÿ ìîäèôèêàöèÿ 07.12.2016
2
;ôàéë ñîçäàí 13.02.2009  Íà êîä ïðèìåíåíà GPL2 ëèöåíçèÿ
2
;ôàéë ñîçäàí 13.02.2009  Íà êîä ïðèìåíåíà GPL2 ëèöåíçèÿ
3
;Ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj
-
 
4
;Checkbox
3
;Checkbox
Line 5... Line 4...
5
 
4
 
6
;Èíèöèàëèçàöèÿ checkbox
5
;Èíèöèàëèçàöèÿ checkbox
7
macro _init_checkbox2
-
 
8
{
6
align 16
9
init_checkbox2:
7
init_checkbox2:
10
;ïîäñ÷èòàåì êîë-âî ñèìâîëîâ â äëèííå âûâîäèìîé ñòðîêè.
8
;ïîäñ÷èòàåì êîë-âî ñèìâîëîâ â äëèííå âûâîäèìîé ñòðîêè.
11
	pushad
9
	pushad
12
	mov	ebp,dword [esp+36]	;çàãðóæàåì óêàçàòåëü íà ñòðóêòóðó, óêàçàòåëü ìû ïåðåäàåì â ñòåêå
10
	mov	ebp,dword [esp+36]	;çàãðóæàåì óêàçàòåëü íà ñòðóêòóðó, óêàçàòåëü ìû ïåðåäàåì â ñòåêå
Line 25... Line 23...
25
	mov	dword 2ch_sz_str,ebx     ;çàïèøåì äëèííó ñòðîêè ñ ó÷åòîì îòñòóïà îò êâàäðàòèêà
23
	mov	dword 2ch_sz_str,ebx     ;çàïèøåì äëèííó ñòðîêè ñ ó÷åòîì îòñòóïà îò êâàäðàòèêà
26
	or	dword 2ch_text_color,0x80000000 ;äîáàâëÿåì áèò äëÿ âûâîäà ASCIIZ-ñòðîêè
24
	or	dword 2ch_text_color,0x80000000 ;äîáàâëÿåì áèò äëÿ âûâîäà ASCIIZ-ñòðîêè
27
		;íà ñëó÷àé åñëè ïîëüçîâàòåëü çàáûë åãî ñàìîñòîÿòåëüíî ïîñòàâèòü â ñòðóêòóðå
25
		;íà ñëó÷àé åñëè ïîëüçîâàòåëü çàáûë åãî ñàìîñòîÿòåëüíî ïîñòàâèòü â ñòðóêòóðå
28
	popad
26
	popad
29
	ret 4
27
	ret 4
30
}
-
 
Line 31... Line -...
31
 
-
 
32
macro use_checkbox_draw2
28
 
-
 
29
 
33
{
30
align 16
34
check_box_draw2:
31
check_box_draw2:
35
	pushad   ;ñîõðàíèì âñå ðåãèñòðû 
32
	pushad   ;ñîõðàíèì âñå ðåãèñòðû 
36
	mov	ebp,dword [esp+36]	;çàãðóæàåì óêàçàòåëü íà ñòðóêòóðó, óêàçàòåëü ìû ïåðåäàåì â ñòåêå
33
	mov	ebp,dword [esp+36]	;çàãðóæàåì óêàçàòåëü íà ñòðóêòóðó, óêàçàòåëü ìû ïåðåäàåì â ñòåêå
Line 37... Line 34...
37
	mcall	13,2ch_left_s,2ch_top_s,2ch_border_color		;ðèñóåì ðàìêó ÷åê áîêñà, ôàêòè÷åñêè ðèñóåì ïðÿìîóãîëüíèê è çàêðàøèâàåì ôîí âíóòðè öâåòîì ðàìêè áîêñà
34
	mcall	SF_DRAW_RECT,2ch_left_s,2ch_top_s,2ch_border_color		;ðèñóåì ðàìêó ÷åê áîêñà, ôàêòè÷åñêè ðèñóåì ïðÿìîóãîëüíèê è çàêðàøèâàåì ôîí âíóòðè öâåòîì ðàìêè áîêñà
38
 
35
 
39
	mov 	edx,dword 2ch_color	;çàãðóæàåì öâåò ôîíà
36
	mov	edx,dword 2ch_color	;çàãðóæàåì öâåò ôîíà
40
	add 	ebx,1 shl 16 - 2 
37
	add	ebx,1 shl 16 - 2 
Line 81... Line 78...
81
	mov	bx,ax
78
	mov	bx,ax
82
						;ebx õ shl 16 +y êîîðäèíàòû âûâîäà ñòðî÷êè
79
						;ebx õ shl 16 +y êîîðäèíàòû âûâîäà ñòðî÷êè
Line 83... Line 80...
83
 
80
 
84
	mov	ecx,dword 2ch_text_color		;çàãðóçèì öâåò íàäïèñè + flags
81
	mov	ecx,dword 2ch_text_color		;çàãðóçèì öâåò íàäïèñè + flags
85
        mov	edx,dword 2ch_text_ptr		;óêàæåì àäðåñ îò êóäà íóæíî âûâîäèòü ñòðîêó
82
	mov	edx,dword 2ch_text_ptr		;óêàæåì àäðåñ îò êóäà íóæíî âûâîäèòü ñòðîêó
86
        mcall	4				;Âûâîä 
83
	mcall	SF_DRAW_TEXT
87
	popad					;âîññòàíîâèòü çíà÷åíèÿ ðåãèñòðîâ èç ñòåêà
84
	popad					;âîññòàíîâèòü çíà÷åíèÿ ðåãèñòðîâ èç ñòåêà
Line 88... Line 85...
88
	ret 4					;âûéäåì èç ïðîöåäóðû è óäàëèì èç ñòåêà óêàçàòåëü íà ñòðóêòóðó (4 áàéòà)
85
	ret 4					;âûéäåì èç ïðîöåäóðû è óäàëèì èç ñòåêà óêàçàòåëü íà ñòðóêòóðó (4 áàéòà)
89
 
86
 
Line 96... Line 93...
96
;Îòîáðàçèòü âêëþ÷åíûé checkbox
93
;Îòîáðàçèòü âêëþ÷åíûé checkbox
97
	mov	ebx,dword 2ch_left_s		;çàãðóæàåì õ shl 16 + äëèííà ïî Õ
94
	mov	ebx,dword 2ch_left_s		;çàãðóæàåì õ shl 16 + äëèííà ïî Õ
98
	mov	ecx,dword 2ch_top_s		;çàãðóæàåì Y shl 16 + äëèííà ïî Y
95
	mov	ecx,dword 2ch_top_s		;çàãðóæàåì Y shl 16 + äëèííà ïî Y
99
	add 	ebx,2 shl 16 - 4		;ïîñëå ýòèõ èçìåíåíèé (X+2) shl 16 +äëèííà ïî (Õ-2)
96
	add	ebx,2 shl 16 - 4		;ïîñëå ýòèõ èçìåíåíèé (X+2) shl 16 +äëèííà ïî (Õ-2)
100
	add 	ecx,2 shl 16 - 4		;ïîñëå ýòèõ èçìåíåíèé (Y+2) shl 16 +äëèííà ïî (Y-2)
97
	add	ecx,2 shl 16 - 4		;ïîñëå ýòèõ èçìåíåíèé (Y+2) shl 16 +äëèííà ïî (Y-2)
101
	mcall	13				;îòîáðàçèòü êâàäðàò âíóòðè checkbox
98
	mcall	SF_DRAW_RECT ;îòîáðàçèòü êâàäðàò âíóòðè checkbox
102
	ret
99
	ret
103
}
-
 
104
 
-
 
Line 105... Line -...
105
 
-
 
106
macro use_checkbox_mouse2
-
 
Line 107... Line 100...
107
{
100
 
108
 
101
 
109
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
102
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
110
;Îáðàáîò÷èê mouse
103
;Îáðàáîò÷èê mouse
-
 
104
;Ïðè ïîïàäàíèè ìûøêè + íàæàòà êëàâèøà â îáëàñòü checkbox ñîñòîÿíèå áîêñà äîëæíî ìåíÿòñÿ àêòèâíûé - íå àêòèâíûé.
111
;Ïðè ïîïàäàíèè ìûøêè + íàæàòà êëàâèøà â îáëàñòü checkbox ñîñòîÿíèå áîêñà äîëæíî ìåíÿòñÿ àêòèâíûé - íå àêòèâíûé.
105
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
112
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
106
align 16
113
check_box_mouse2:      ;îáðàáîòêà ìûøè 
107
check_box_mouse2:      ;îáðàáîòêà ìûøè 
114
pushad
108
pushad
115
	mov	ebp,dword [esp+36]	;çàãðóæàåì óêàçàòåëü íà ñòðóêòóðó, óêàçàòåëü ìû ïåðåäàåì â ñòåêå
109
	mov	ebp,dword [esp+36]	;çàãðóæàåì óêàçàòåëü íà ñòðóêòóðó, óêàçàòåëü ìû ïåðåäàåì â ñòåêå
116
        mcall	37,2			;ïðîâåðÿåì ñîñòîÿíèå êëàâèø ìûøêè. Áûëî ëè ñîáûòèå íàæàòàÿ êëàâèøà íà ìûøêå.
110
	mcall	SF_MOUSE_GET,SSF_BUTTON ;ïðîâåðÿåì ñîñòîÿíèå êëàâèø ìûøêè. Áûëî ëè ñîáûòèå íàæàòàÿ êëàâèøà íà ìûøêå.
117
	test    eax,eax			;ïðîâåðêà åñëè ó íàñ â eax=0, âûéäåì
111
	test    eax,eax			;ïðîâåðêà åñëè ó íàñ â eax=0, âûéäåì
118
	jz	.check_box_mouse_end    ;îáðàáîòêà çàêîí÷èëàñü
112
	jz	.check_box_mouse_end    ;îáðàáîòêà çàêîí÷èëàñü
119
; Äà ñîáûòèå: íàæàòèå êëàâèøè ìûøêè ïðîèçîøëî.        
113
; Äà ñîáûòèå: íàæàòèå êëàâèøè ìûøêè ïðîèçîøëî.        
120
@@:
114
@@:
121
        mcall	37,1			;ïîëó÷èòü êîîðäèíàòû êóðñîðà îòíîñèòåëüíî îêíà
115
	mcall	SF_MOUSE_GET,SSF_WINDOW_POSITION ;ïîëó÷èòü êîîðäèíàòû êóðñîðà îòíîñèòåëüíî îêíà
122
					;íà âûõîäå â eax x shl 16 + y
116
					;íà âûõîäå â eax x shl 16 + y
123
;ñðàâíåíèå âåðõíåé òî÷êè ïî Y
117
;ñðàâíåíèå âåðõíåé òî÷êè ïî Y
124
	mov	ecx,dword 2ch_top_s	;y shl 16 +äëèííà ïî y
118
	mov	ecx,dword 2ch_top_s	;y shl 16 +äëèííà ïî y
Line 152... Line 146...
152
.enable_box:
146
.enable_box:
153
	call	check_box_draw_ch2	;îòîáðàçèòü âêëþ÷åííûé ÷åê áîêñ
147
	call	check_box_draw_ch2	;îòîáðàçèòü âêëþ÷åííûé ÷åê áîêñ
154
.check_box_mouse_end:
148
.check_box_mouse_end:
155
popad					;âîññòàíîâèòü ðåãèñòðû èç ñòåêà
149
popad					;âîññòàíîâèòü ðåãèñòðû èç ñòåêà
156
	ret  4				;âûéòè è âîññòàíîâèì ñòåê
150
	ret 4				;âûéòè è âîññòàíîâèì ñòåê
157
}
-
 
158
151