Subversion Repositories Kolibri OS

Rev

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

Rev 356 Rev 362
Line 1... Line 1...
1
;ª®¬¯®­¥­â OptionBox (Žá­®¢ ­ ­  Checkbox)
1
;ª®¬¯®­¥­â OptionBox (Žá­®¢ ­ ­  Checkbox)
2
;Ž£à®¬­ ï ¡« £®¤ à­®áâì Maxxxx32, Diamond, Heavyiron, ¨ ¤à㣨¬ ¯à®£à ¬¬¨áâ ¬, ¨ ¨å ¯à®£à ¬¬ ¬, ¡¥§
2
;Ž£à®¬­ ï ¡« £®¤ à­®áâì Maxxxx32, Diamond, Heavyiron, ¨ ¤à㣨¬ ¯à®£à ¬¬¨áâ ¬, ¨ ¨å ¯à®£à ¬¬ ¬, ¡¥§
3
;ª®â®àëå ï ­¥ ᬮ£ ¡ë ­ ¯¨á âì íâ®â ª®¬¯®­¥­â. 
3
;ª®â®àëå ï ­¥ ᬮ£ ¡ë ­ ¯¨á âì íâ®â ª®¬¯®­¥­â. 
-
 
4
;19.02.2007 ®¡é¥¥ ã«ãç襭¨¥ ª®¤ , 㬥­ì襭¨¥ à §¬¥à  ¨ ¨á¯®«ì§®¢ ­¨¥ á¨á⥬­ëå 梥⮢ ¤«ï ®â®¡à ¦¥­¨ï optionkbox
4
;16.02.2007 
5
;16.02.2007 ¤ â  ᮧ¤ ­¨ï ª®¬¯®­¥­â 
5
;  - ’¥¯«®¢ €«¥ªá¥©  www.lrz.land.ru
6
;  - ’¥¯«®¢ €«¥ªá¥©  www.lrz.land.ru
Line 6... Line 7...
6
 
7
 
7
macro use_option_box
8
macro use_option_box
8
{
9
{
9
op_text_margin=4     ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨ 
10
op_text_margin=4     ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨ 
10
op_size=10           ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá  
11
op_size=10           ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá  
11
op_left equ [edi]    ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
12
op_left equ [edi]    ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
-
 
13
op_top equ [edi+2]   ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
-
 
14
op_border_color equ [sc.work_graph] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦­® § ¤ âì á ¬®áâ®ï⥫쭮
12
op_top equ [edi+2]   ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
15
op_text_color equ   [sc.work_text];[edi+4]  ;梥â ⥪áâ 
13
op_border_color equ [edi+4] ;梥â à ¬ª¨ optionbox
16
;op_border_color equ [edi+4] ;梥â à ¬ª¨ optionbox
14
op_text_color equ [edi+8]  ;梥â ⥪áâ 
17
;op_text_color equ [edi+8]  ;梥â ⥪áâ 
15
op_text_ptr equ [edi+12]    ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨ 
18
op_text_ptr equ [edi+4]    ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨ 
16
op_text_length equ [edi+16] ;¤«¨­  ­ ¤¯¨á¨ (2^64 â ª®© ¤«¨­ë ¬®¦¥â ¡ëâì ⥪áâ)
19
op_text_length equ [edi+8] ;¤«¨­  ­ ¤¯¨á¨ (2^64 â ª®© ¤«¨­ë ¬®¦¥â ¡ëâì ⥪áâ)
17
op_optibox_gr	equ [edi+18]
20
op_optibox_gr	equ [edi+10]
18
option_box:
21
option_box:
19
.draw:
22
.draw:
20
pusha   ;á®åà ­¨¬ ¢á¥ ॣ¨áâàë
23
pusha   ;á®åà ­¨¬ ¢á¥ ॣ¨áâàë
21
	mov	eax,38     	;à¨á®¢ ­¨¥ «¨­¨¨
24
	mov	eax,38     	;à¨á®¢ ­¨¥ «¨­¨¨
Line 54... Line 57...
54
	shl	ecx,16
57
	shl	ecx,16
55
	mov	cx,si
58
	mov	cx,si
56
	;pop	cx
59
	;pop	cx
57
	int	0x40            ;­ à¨á®¢ «¨ ¯àאַ㣮«ì­¨ª
60
	int	0x40            ;­ à¨á®¢ «¨ ¯àאַ㣮«ì­¨ª
Line 58... Line -...
58
 
-
 
59
	mov	eax,13          ;§ ªà è¨¢ ¥¬ ¥£®. ”ã­ªæ¨ï 13 - ­ à¨á®¢ âì ¯®«®áã
-
 
60
	movzx	ebx,word op_left	;§ £à㧨âì ¢ bx, ¯®«®¦¥­¨¥ ¯® å
-
 
61
	add	ebx,1		;ᤢ¨­¥¬ ­  1 â.¥. ¯à¨¡ ¢¨¬ 1 ¨­ ç¥ § âà¥âáï à ¬ª 
-
 
62
	shl	ebx,16		;ᤢ¨­¥¬ ­  16 à §à冷¢ ¢ «¥¢® (㬭®¦¨¬ ­  65536)
-
 
63
	mov	bx,op_size	;¯à¨¡ ¢¨¬ ¤«¨­ã áâ®à®­ë ¯àאַ㣮«ì­¨ª 
-
 
64
	sub	ebx,1		;¢ëç⥬ 1 â.ª. ¨­ ç¥ § âà¥âáï à ¬ª 
-
 
65
	mov	bp,bx		;á®åà ­¨¬ ॣ¨áâà bx ¢ ॣ¨áâॠ㪠§ â¥«ï ¡ §ë
-
 
66
	;push	bx
-
 
67
	movzx	ecx,word op_top	;§ £à㧨¬ ª®®à¤¨­ âë ¯® y
-
 
68
	add	ecx,1		;ᤢ¨­¥¬ ­  1 â.¥. ¯à¨¡ ¢¨¬ 1 ¨­ ç¥ § âà¥âáï à ¬ª 
-
 
69
	shl	ecx,16		;ᤢ¨­¥¬ ­  16 à §à冷¢ ¢ «¥¢® (㬭®¦¨¬ ­  65536)
-
 
70
	mov	cx,bp		;¢®ááâ ­®¢¨¬ §­ ç¥­¨¥ ॣ¨áâà  cx
-
 
71
	;pop	cx
-
 
72
	mov	edx,dword [sc.work]	;§ £à㧨¬ 梥⠯®«®áë
61
 
Line 73... Line 62...
73
	int	0x40            ;§ ªà á¨«¨ 
62
	call	.clear_op       ;®ç¨á⪠ ®¡« áâ¨
74
 
63
 
75
        mov	eax,dword op_optibox_gr
64
        mov	eax,dword op_optibox_gr
76
	mov	dword eax,[eax]
65
	mov	dword eax,[eax]
Line 160... Line 149...
160
.mouse_end:
149
.mouse_end:
161
popa				  ;¢®ááâ ­®¢¨âì ॣ¨áâàë ¨§ á⥪ 
150
popa				  ;¢®ááâ ­®¢¨âì ॣ¨áâàë ¨§ á⥪ 
162
ret				  ;¢ë©â¨
151
ret				  ;¢ë©â¨
163
}
152
}
Line 164... Line 153...
164
 
153
 
165
struc option_box left,top,border_color,text_color,text,text_length,point_gr,flags
154
struc option_box left,top,text,text_length,point_gr
166
{	;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
155
{	;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
167
.left: dw left	;+0	;¯®«®¦¥­¨¥ ¯® å
156
.left: dw left	;+0	;¯®«®¦¥­¨¥ ¯® å
168
.top: dw top	;+2	;¯®«®¦¥­¨¥ ¯® ã
157
.top: dw top	;+2	;¯®«®¦¥­¨¥ ¯® ã
169
.border_color: dd border_color ;+8	梥â à ¬ª¨ 
158
;.border_color: dd border_color ;+8	梥â à ¬ª¨ 
170
.text_color: dd text_color     ;+12	梥â ⥪áâ  ­ ¤¯¨á¨
159
;.text_color: dd text_color     ;+12	梥â ⥪áâ  ­ ¤¯¨á¨
171
.text: dd text	     ;+16		 ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâà
160
.text: dd text	     ;+16		 ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâà
172
.text_length: dw text_length ; +20	¤«¨­  ⥪áâ 
161
.text_length: dw text_length ; +20	¤«¨­  ⥪áâ 
173
.option_group: dd point_gr	;㪠§ â¥«ì ­  à §¬¥é¥­¨¥ edi - ¨¤¥­â¨ä¨ª â®à  optibox
162
.option_group: dd point_gr	;㪠§ â¥«ì ­  à §¬¥é¥­¨¥ edi - ¨¤¥­â¨ä¨ª â®à  optibox
174
}
163
}
175
op_struc_size=22			;®¡é ï áâàãªâãà  24 ¡ ©â
164
op_struc_size=14			;®¡é ï áâàãªâãà  24 ¡ ©â
176
op_flag_en=10b
165
op_flag_en=10b
177
macro draw_option_boxes start,end	;à¨á®¢ âì 祪 ¡®ªáë
166
macro draw_option_boxes start,end	;à¨á®¢ âì 祪 ¡®ªáë
178
{
167
{
179
	mov	edi,start			;“ª § â¥«ì ­  ­ ç «® ¤ ­­ëå 祪 ¡®ªá®¢ â.¥. ­  ­ ç «® ¤ ­­ëå ¯¥à¢®£® 祪¡®ªá 
168
	mov	edi,start			;“ª § â¥«ì ­  ­ ç «® ¤ ­­ëå 祪 ¡®ªá®¢ â.¥. ­  ­ ç «® ¤ ­­ëå ¯¥à¢®£® 祪¡®ªá 
Line 194... Line 183...
194
 
183
 
195
       	mov	edi,start		; “ª § â¥«ì ­  ­ ç «® ¤ ­­ëå 祪 ¡®ªá®¢ â.¥. ­  ­ ç «® ¤ ­­ëå ¯¥à¢®£® 祪¡®ªá 
184
       	mov	edi,start		; “ª § â¥«ì ­  ­ ç «® ¤ ­­ëå 祪 ¡®ªá®¢ â.¥. ­  ­ ç «® ¤ ­­ëå ¯¥à¢®£® 祪¡®ªá 
Line 196... Line 185...
196
	mov	ecx,((end-start)/op_struc_size)	;Š®«¨ç¥á⢮ 祪 ¡®ªá®¢
185
	mov	ecx,((end-start)/op_struc_size)	;Š®«¨ç¥á⢮ 祪 ¡®ªá®¢
197
 
186
 
198
.home:
187
.home:
Line 199... Line 188...
199
	mov	eax,[edi+18]	;op_optibox_gr
188
	mov	eax,[edi+10]	;op_optibox_gr
Line 200... Line 189...
200
        mov	dword eax,[eax]
189
        mov	dword eax,[eax]