Subversion Repositories Kolibri OS

Rev

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

Rev 144 Rev 360
Line 1... Line -...
1
;ä䥪⨢­®¥ ¯à®£à ¬¬¨à®¢ ­¨¥ ¢ KOLIBRI
-
 
2
;Ž¯â¨¬¨§¨à®¢ ­­ë© ª®¬¯®­¥­â CheckBox (ˆá室­ë© ¢ à¨ ­â ®â Maxxxx32)
1
;Ž¯â¨¬¨§¨à®¢ ­­ë© ª®¬¯®­¥­â CheckBox (ˆá室­ë© ¢ à¨ ­â ®â Maxxxx32)
3
;Ž¯â¨¬¨§¨à®¢ ­ ¢ë¢®¤ áâப¨ ­ ¤¯¨á¨ ¤«ï CheckBox'a + ⥯¥àì, ¯à¨ ¯à®¢¥àª¥ ­¥ ¯à®¨á室¨â ¯®¤áç¥â ª®«-¢  ᨬ¢®«®¢ ¢ áâப¥
2
;Ž¯â¨¬¨§¨à®¢ ­ ¢ë¢®¤ áâப¨ ­ ¤¯¨á¨ ¤«ï CheckBox'a + ⥯¥àì, ¯à¨ ¯à®¢¥àª¥ ­¥ ¯à®¨á室¨â ¯®¤áç¥â ª®«-¢  ᨬ¢®«®¢ ¢ áâப¥
4
;Ž¯â¨¬¨§ æ¨ï ª®¬ ­¤ - ®âª § «áï ®â á®åà ­¥­¨ï ॣ¨áâ஢ ¢ á⥪¥.
3
;Ž¯â¨¬¨§ æ¨ï ª®¬ ­¤ - ®âª § «áï ®â á®åà ­¥­¨ï ॣ¨áâ஢ ¢ á⥪¥.
-
 
4
;19.02.2007 ®¡é¥¥ ã«ãç襭¨¥ ª®¤ , 㬥­ì襭¨¥ à §¬¥à  ¨ ¨á¯®«ì§®¢ ­¨¥ á¨á⥬­ëå 梥⮢ ¤«ï ®â®¡à ¦¥­¨ï checkbox
5
;17.07.2006 ¯à®¨§¢¥¤¥­  ®¯â¨¬¨§ æ¨ï, ¯à¨ ãáâ ­®¢ª¥ 祪 ¡®ªá  ¢ ¯®«®¦¥­¨¥ ¢ª«î祭® ¯®á«¥¤ãî騥 祪 ¡®ªáë ¢ â®â ¦¥ ¯à®¬¥¦ã⮪ ¢à¥¬¥­¨ ­¥ ¯à®¢¥àïîâáï
5
;17.07.2006 ¯à®¨§¢¥¤¥­  ®¯â¨¬¨§ æ¨ï, ¯à¨ ãáâ ­®¢ª¥ 祪 ¡®ªá  ¢ ¯®«®¦¥­¨¥ ¢ª«î祭® ¯®á«¥¤ãî騥 祪 ¡®ªáë ¢ â®â ¦¥ ¯à®¬¥¦ã⮪ ¢à¥¬¥­¨ ­¥ ¯à®¢¥àïîâáï
6
;22.08.2006 ¯à®¨§¢¥¤¥­  ®¯â¨¬¨§ æ¨ï ª®¬ ­¤, ¯à¨­ïâë ¢® ¢­¨¬ ­¨¥ § ¬¥ç ­¨ï DIAMOND' .
6
;22.08.2006 ¯à®¨§¢¥¤¥­  ®¯â¨¬¨§ æ¨ï ª®¬ ­¤, ¯à¨­ïâë ¢® ¢­¨¬ ­¨¥ § ¬¥ç ­¨ï DIAMOND' .
7
;  - ’¥¯«®¢ €«¥ªá¥©  www.test-kolibri.narod.ru
7
;  - ’¥¯«®¢ €«¥ªá¥©  www.lrz.land.ru
Line 8... Line 8...
8
 
8
 
9
macro use_check_box
9
macro use_check_box
10
{
10
{
11
ch_text_margin=4     ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨ 
11
ch_text_margin=4     ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨ 
12
ch_size=10           ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá  
12
ch_size=10           ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá  
13
ch_left equ [edi]    ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
13
ch_left equ [edi]    ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
14
ch_top equ [edi+2]   ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
-
 
15
ch_color equ [edi+4] ;梥⠢­ãâਠcheckbox
14
ch_top equ [edi+2]   ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
16
ch_border_color equ [edi+8] ;梥â à ¬ª¨ checkbox
15
ch_border_color equ [sc.work_graph] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦­® § ¤ âì á ¬®áâ®ï⥫쭮
17
ch_text_color equ [edi+12]  ;梥â ⥪áâ 
16
ch_text_color equ   [sc.work_text];[edi+4]  ;梥â ⥪áâ 
18
ch_text_ptr equ [edi+16]    ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨ 
17
ch_text_ptr equ [edi+4]    ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨ 
19
ch_text_length equ [edi+20] ;¤«¨­  ­ ¤¯¨á¨ (2^64 â ª®© ¤«¨­ë ¬®¦¥â ¡ëâì ⥪áâ)
18
ch_text_length equ [edi+8] ;¤«¨­  ­ ¤¯¨á¨ (2^64 â ª®© ¤«¨­ë ¬®¦¥â ¡ëâì ⥪áâ)
20
ch_flags equ [edi+22]       ;ä« £¨ 
19
ch_flags equ [edi+10]       ;ä« £¨ 
21
check_box:
20
check_box:
22
.draw:
21
.draw:
23
pusha   ;á®åà ­¨¬ ¢á¥ ॣ¨áâàë
22
pusha   ;á®åà ­¨¬ ¢á¥ ॣ¨áâàë
24
	mov	eax,38     	;à¨á®¢ ­¨¥ «¨­¨¨
23
	mov	eax,38     	;à¨á®¢ ­¨¥ «¨­¨¨
Line 57... Line 56...
57
	shl	ecx,16
56
	shl	ecx,16
58
	mov	cx,si
57
	mov	cx,si
59
	;pop	cx
58
	;pop	cx
60
	int	0x40            ;­ à¨á®¢ «¨ ¯àאַ㣮«ì­¨ª
59
	int	0x40            ;­ à¨á®¢ «¨ ¯àאַ㣮«ì­¨ª
Line 61... Line -...
61
 
-
 
62
	mov	eax,13          ;§ ªà è¨¢ ¥¬ ¥£®. ”ã­ªæ¨ï 13 - ­ à¨á®¢ âì ¯®«®áã
-
 
63
	movzx	ebx,word ch_left	;§ £à㧨âì ¢ bx, ¯®«®¦¥­¨¥ ¯® å
-
 
64
	add	ebx,1		;ᤢ¨­¥¬ ­  1 â.¥. ¯à¨¡ ¢¨¬ 1 ¨­ ç¥ § âà¥âáï à ¬ª 
-
 
65
	shl	ebx,16		;ᤢ¨­¥¬ ­  16 à §à冷¢ ¢ «¥¢® (㬭®¦¨¬ ­  65536)
-
 
66
	mov	bx,ch_size	;¯à¨¡ ¢¨¬ ¤«¨­ã áâ®à®­ë ¯àאַ㣮«ì­¨ª 
-
 
67
	sub	ebx,1		;¢ëç⥬ 1 â.ª. ¨­ ç¥ § âà¥âáï à ¬ª 
-
 
68
	mov	bp,bx		;á®åà ­¨¬ ॣ¨áâà bx ¢ ॣ¨áâॠ㪠§ â¥«ï ¡ §ë
-
 
69
	;push	bx
-
 
70
	movzx	ecx,word ch_top	;§ £à㧨¬ ª®®à¤¨­ âë ¯® y
-
 
71
	add	ecx,1		;ᤢ¨­¥¬ ­  1 â.¥. ¯à¨¡ ¢¨¬ 1 ¨­ ç¥ § âà¥âáï à ¬ª 
-
 
72
	shl	ecx,16		;ᤢ¨­¥¬ ­  16 à §à冷¢ ¢ «¥¢® (㬭®¦¨¬ ­  65536)
-
 
73
	mov	cx,bp		;¢®ááâ ­®¢¨¬ §­ ç¥­¨¥ ॣ¨áâà  cx
60
 
74
	;pop	cx
-
 
75
	mov	edx,ch_color	;§ £à㧨¬ 梥⠯®«®áë
-
 
76
	int	0x40            ;§ ªà á¨«¨ 
-
 
77
	
-
 
Line -... Line 61...
-
 
61
	call	.clear_ch
78
	test	dword ch_flags,2  ;¤®áâ âì §­ ç¥­¨¥ ¡¨â  ¨§ ¯¥à¥¬¥­­®© ¨ ¯®¬¥áâ¨âì ¢  ä« £ CF 
62
 
79
	
63
	test	word ch_flags,2  ;¤®áâ âì §­ ç¥­¨¥ ¡¨â  ¨§ ¯¥à¥¬¥­­®© ¨ ¯®¬¥áâ¨âì ¢  ä« £ CF 
80
	jz	@f		;¢ ¥á«¨ CF=1, â® ¢ë¯®«­¨¬ á«¥¤ãîéãî ¯à®æ¥¤ãàã ¨­ ç¥ ¯¥à¥©â¨ ­  ­¨¦­îî @@
64
	jz	@f		;¢ ¥á«¨ CF=1, â® ¢ë¯®«­¨¬ á«¥¤ãîéãî ¯à®æ¥¤ãàã ¨­ ç¥ ¯¥à¥©â¨ ­  ­¨¦­îî @@
81
	call	.draw_ch  ;­ à¨á®¢ âì ¢ª«î祭­ë© 祪 ¡®ªá
65
	call	.draw_ch  ;­ à¨á®¢ âì ¢ª«î祭­ë© 祪 ¡®ªá
82
@@:
66
@@:
Line 97... Line 81...
97
	int	0x40          	;‚뢮¤ 
81
	int	0x40          	;‚뢮¤ 
98
popa				;¢®ááâ ­®¢¨âì §­ ç¥­¨ï ॣ¨áâ஢ ¨§ á⥪ 
82
popa				;¢®ááâ ­®¢¨âì §­ ç¥­¨ï ॣ¨áâ஢ ¨§ á⥪ 
99
ret				;¢ë©¤¥¬ ¨§ ¯à®æ¥¤ãàë
83
ret				;¢ë©¤¥¬ ¨§ ¯à®æ¥¤ãàë
Line 100... Line 84...
100
 
84
 
101
.clear_ch:			;®ç¨á⪠ 祪 ¡®ªá 
85
.clear_ch:			;®ç¨á⪠ 祪 ¡®ªá 
102
	mov	edx,ch_color	;梥⠢­ãâਠ祪 ¡®ªá 
86
	mov	edx,dword [sc.work]	;梥⠢­ãâਠ祪 ¡®ªá 
Line 103... Line 87...
103
	jmp	@f		;¡¥§ãá«®¢­ë© ¯à릮ª ­  ­¨¦­îî ¬¥âªã @@
87
	jmp	@f		;¡¥§ãá«®¢­ë© ¯à릮ª ­  ­¨¦­îî ¬¥âªã @@
104
 
88
 
105
.draw_ch:            ;­ à¨á®¢ âì ¢ª«î祭­ë© 祪 ¡®ªá
89
.draw_ch:            ;­ à¨á®¢ âì ¢ª«î祭­ë© 祪 ¡®ªá
Line 126... Line 110...
126
	mov	eax,37   	;¡ã¤¥¬ çâ® â® ¤¥« âì ¥á«¨ ã ­ á çâ® - ­¨âì ­ ¦ â®
110
	mov	eax,37   	;¡ã¤¥¬ çâ® â® ¤¥« âì ¥á«¨ ã ­ á çâ® - ­¨âì ­ ¦ â®
127
	mov	ebx,2		;¢­¥á⨠¢ ॣ¨áâà §­ ç¥­¨¥ 2
111
	mov	ebx,2		;¢­¥á⨠¢ ॣ¨áâà §­ ç¥­¨¥ 2
128
	int	0x40		;¯à®¢¥àª  ­¥ ­ ¦ « «¨ ¯®«ì§®¢ â¥«ì ª­®¯ªã ¬ë誨
112
	int	0x40		;¯à®¢¥àª  ­¥ ­ ¦ « «¨ ¯®«ì§®¢ â¥«ì ª­®¯ªã ¬ë誨
129
	test	eax,eax    ;¯à®¢¥àª  ¥á«¨ ã ­ á ¢ eax=0, â® ãáâ ­®¢¨¬ ä« £ ¨ ¢ë©¤¥¬
113
	test	eax,eax    ;¯à®¢¥àª  ¥á«¨ ã ­ á ¢ eax=0, â® ãáâ ­®¢¨¬ ä« £ ¨ ¢ë©¤¥¬
130
	jnz	@f         ;¯¥à¥©â¨ ­  ­¨¦­îî ¬¥âªã @@
114
	jnz	@f         ;¯¥à¥©â¨ ­  ­¨¦­îî ¬¥âªã @@
131
	btr	dword ch_flags,2  ;¨§¢«¥ç¥­¨¥ §­ ç¥­¨ï § ¤ ­­®£® ¡¨â  ¢ ä« £ cf ¨ ¨§¬¥­¥­¨¥ ¥£® §­ ç¥­¨ï ­  ­ã«¥¢®¥. 
115
	btr	word ch_flags,2  ;¨§¢«¥ç¥­¨¥ §­ ç¥­¨ï § ¤ ­­®£® ¡¨â  ¢ ä« £ cf ¨ ¨§¬¥­¥­¨¥ ¥£® §­ ç¥­¨ï ­  ­ã«¥¢®¥. 
132
	popa			;¥á«¨ ­¨ç¥£® ­¥ ¯à®¨§®è«®, â® ¢®ááâ ­®¢¨¬ §­ ç¥­¨ï ॣ¨áâ஢ ¨§ á⥪ 
116
	popa			;¥á«¨ ­¨ç¥£® ­¥ ¯à®¨§®è«®, â® ¢®ááâ ­®¢¨¬ §­ ç¥­¨ï ॣ¨áâ஢ ¨§ á⥪ 
133
	ret                     ;¢ë室
117
	ret                     ;¢ë室
134
@@:
118
@@:
135
	bts	dword ch_flags,2   ;¯à®¢¥àª  ä« £  â.¥. ¯¥à¥­®á ¢ cf §­ ç¥­¨¥ ¡¨â  ¨ ãáâ ­®¢ª  ¡¨â  ¢ á®áâ®ï­¨¥ ¢ª«î祭®
119
	bts	word ch_flags,2   ;¯à®¢¥àª  ä« £  â.¥. ¯¥à¥­®á ¢ cf §­ ç¥­¨¥ ¡¨â  ¨ ãáâ ­®¢ª  ¡¨â  ¢ á®áâ®ï­¨¥ ¢ª«î祭®
136
	jc	.mouse_end         ;¥á«¨ CF=1 â® ¯¥à¥©â¨  ¢ ª®­¥æ â.¥. íâ® ¢ë室
120
	jc	.mouse_end         ;¥á«¨ CF=1 â® ¯¥à¥©â¨  ¢ ª®­¥æ â.¥. íâ® ¢ë室
137
	movzx	esi,word ch_text_length ;§ £à㧨âì ª®«-¢® ᨬ¢®«®¢ ¢ ⥪á⮢®© áâப¥
121
	movzx	esi,word ch_text_length ;§ £à㧨âì ª®«-¢® ᨬ¢®«®¢ ¢ ⥪á⮢®© áâப¥
138
	;“¬­®¦¥­¨¥ ­  6 ëáâ஥ 㬭®¦¥­¨¥ ¬®¦­® ¢®á¯®«ì§®¢ âìáï «î¡ë¬ ¬§ ¬¥â®¤®¢, ­® ­  áâ àëå à®æ¥áá®à å (386,486,P1)¡ëáâ॥ ¡ã¤¥â á ¨­áâàãªæ¨¥© Lea
122
	;“¬­®¦¥­¨¥ ­  6 ëáâ஥ 㬭®¦¥­¨¥ ¬®¦­® ¢®á¯®«ì§®¢ âìáï «î¡ë¬ ¬§ ¬¥â®¤®¢, ­® ­  áâ àëå à®æ¥áá®à å (386,486,P1)¡ëáâ॥ ¡ã¤¥â á ¨­áâàãªæ¨¥© Lea
139
	;lea	esi,[eax*2+eax]
123
	;lea	esi,[eax*2+eax]
140
	;shl	eax,1
124
	;shl	eax,1
Line 159... Line 143...
159
	add	ebx,ch_size	     ;¤®¡ ¢¨âì ¤«¨­ã áâ®à®­ë ¯àאַ㣮«ì­¨ª 
143
	add	ebx,ch_size	     ;¤®¡ ¢¨âì ¤«¨­ã áâ®à®­ë ¯àאַ㣮«ì­¨ª 
160
	add	ebx,esi		    ;“ç¥áâì ¢ §­ ç¥­¨¨ ¯® å ¥é¥ ¨ ¤«¨­ã ­ ¤¯¨á¨ ª 祪¡®ªáã
144
	add	ebx,esi		    ;“ç¥áâì ¢ §­ ç¥­¨¨ ¯® å ¥é¥ ¨ ¤«¨­ã ­ ¤¯¨á¨ ª 祪¡®ªáã
161
	cmp	ax,bx		     ;áâà ¢­¨âì ॣ¨áâàë
145
	cmp	ax,bx		     ;áâà ¢­¨âì ॣ¨áâàë
162
	jg	.mouse_end	     ;¥á«¨ ¡®«ìè¥ 
146
	jg	.mouse_end	     ;¥á«¨ ¡®«ìè¥ 
Line 163... Line 147...
163
 
147
 
164
	bts	dword ch_flags,1  ;¨§¢«¥ç¥­¨¥ §­ ç¥­¨ï § ¤ ­­®£® ¡¨â  ¢ ä« £ cf ¨ ¨§¬¥­¥­¨¥ ¥£® §­ ç¥­¨ï ­  1. 
148
	bts	word ch_flags,1  ;¨§¢«¥ç¥­¨¥ §­ ç¥­¨ï § ¤ ­­®£® ¡¨â  ¢ ä« £ cf ¨ ¨§¬¥­¥­¨¥ ¥£® §­ ç¥­¨ï ­  1. 
Line 165... Line 149...
165
	jc	@f                ;CF=1 â® ¯¥à¥©â¨ ­  ­¨¦­îî @@
149
	jc	@f                ;CF=1 â® ¯¥à¥©â¨ ­  ­¨¦­îî @@
166
	
150
	
167
	call	.draw_ch          ;®â®¡à §¨âì ¢ª«î祭­ë© 祪 ¡®ªá
151
	call	.draw_ch          ;®â®¡à §¨âì ¢ª«î祭­ë© 祪 ¡®ªá
168
	mov	dword [esp+24],1  ;¤ «ì­¥©è ï ¯à®¢¥àª  祪 ¡®ªá®¢ ¡¥á¬ëá«¥­ , ¯® í⮬㠢 á⥪, £¤¥ à á¯®« £ ¥âáï ecx ¯®¬¥áâ¨â¬ 0 
152
	mov	dword [esp+24],1  ;¤ «ì­¥©è ï ¯à®¢¥àª  祪 ¡®ªá®¢ ¡¥á¬ëá«¥­ , ¯® í⮬㠢 á⥪, £¤¥ à á¯®« £ ¥âáï ecx ¯®¬¥áâ¨â¬ 0 
169
	jmp	.mouse_end        ;¢ë©â¨ 
153
	jmp	.mouse_end        ;¢ë©â¨ 
170
@@:
154
@@:
171
	btr	dword ch_flags,1  ;¨§¢«¥ç¥­¨¥ §­ ç¥­¨ï § ¤ ­­®£® ¡¨â  ¢ ä« £ cf ¨ ¨§¬¥­¥­¨¥ ¥£® §­ ç¥­¨ï ­  ­ã«¥¢®¥. 
155
	btr	word ch_flags,1  ;¨§¢«¥ç¥­¨¥ §­ ç¥­¨ï § ¤ ­­®£® ¡¨â  ¢ ä« £ cf ¨ ¨§¬¥­¥­¨¥ ¥£® §­ ç¥­¨ï ­  ­ã«¥¢®¥. 
172
	call	.clear_ch         ;¢ëª«îç¨âì 祪 ¡®ªá â.¥. ­  ¬¥á⥠§ ªà è¥­­®£® ¯àאַ㣮«ì­¨ª  ®â®¡à §¨âì 梥â ä®­ .
156
	call	.clear_ch         ;¢ëª«îç¨âì 祪 ¡®ªá â.¥. ­  ¬¥á⥠§ ªà è¥­­®£® ¯àאַ㣮«ì­¨ª  ®â®¡à §¨âì 梥â ä®­ .
173
.mouse_end:
157
.mouse_end:
174
popa				  ;¢®ááâ ­®¢¨âì ॣ¨áâàë ¨§ á⥪ 
158
popa				  ;¢®ááâ ­®¢¨âì ॣ¨áâàë ¨§ á⥪ 
Line 175... Line 159...
175
ret				  ;¢ë©â¨
159
ret				  ;¢ë©â¨
176
}
160
}
177
 
161
 
178
struc check_box left,top,color,border_color,text_color,text,text_length,flags
162
struc check_box left,top,text,text_length,flags
179
{	;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
-
 
180
.left: dw left	;+0	;¯®«®¦¥­¨¥ ¯® å
163
{	;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
181
.top: dw top	;+2	;¯®«®¦¥­¨¥ ¯® ã
164
.left: dw left	;+0	;¯®«®¦¥­¨¥ ¯® å
182
.color: dd color ;+4	;梥⠢­ãâਠ祪 ¡®ªá 
165
.top: dw top	;+2	;¯®«®¦¥­¨¥ ¯® ã
183
.border_color: dd border_color ;+8	梥â à ¬ª¨ 
166
;.border_color: dd border_color ;+8	梥â à ¬ª¨ 
184
.text_color: dd text_color     ;+12	梥â ⥪áâ  ­ ¤¯¨á¨
167
;.text_color: dd text_color     ;+12	梥â ⥪áâ  ­ ¤¯¨á¨
185
.text: dd text	     ;+16		 ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâà
168
.text: dd text	     ;+16		 ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâà
186
.text_length: dw text_length ; +20	¤«¨­  ⥪áâ 
169
.text_length: dw text_length ; +20	¤«¨­  ⥪áâ 
-
 
170
.flags: dw flags+0   ;+22		ä« £¨
187
.flags: dd flags+0   ;+22		ä« £¨
171
}
188
}
172
ch_struc_size=12			;®¡é ï áâàãªâãà  24 ¡ ©â
189
ch_struc_size=26			;®¡é ï áâàãªâãà  24 ¡ ©â
173
ch_flag_en=10b
190
macro draw_check_boxes start,end	;à¨á®¢ âì 祪 ¡®ªáë
174
macro draw_check_boxes start,end	;à¨á®¢ âì 祪 ¡®ªáë
191
{
175
{