Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 361 → Rev 362

/programs/develop/examples/radiobutton/trunk/optionbox.inc
1,7 → 1,8
;ª®¬¯®­¥­â OptionBox (Žá­®¢ ­ ­  Checkbox)
;Ž£à®¬­ ï ¡« £®¤ à­®áâì Maxxxx32, Diamond, Heavyiron, ¨ ¤à㣨¬ ¯à®£à ¬¬¨áâ ¬, ¨ ¨å ¯à®£à ¬¬ ¬, ¡¥§
;ª®â®àëå ï ­¥ ᬮ£ ¡ë ­ ¯¨á âì íâ®â ª®¬¯®­¥­â.
;16.02.2007
;19.02.2007 ®¡é¥¥ ã«ãç襭¨¥ ª®¤ , 㬥­ì襭¨¥ à §¬¥à  ¨ ¨á¯®«ì§®¢ ­¨¥ á¨á⥬­ëå 梥⮢ ¤«ï ®â®¡à ¦¥­¨ï optionkbox
;16.02.2007 ¤ â  ᮧ¤ ­¨ï ª®¬¯®­¥­â 
;<Lrz> - ’¥¯«®¢ €«¥ªá¥© www.lrz.land.ru
 
macro use_option_box
10,11 → 11,13
op_size=10 ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá 
op_left equ [edi] ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
op_top equ [edi+2] ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
op_border_color equ [edi+4] ;梥â à ¬ª¨ optionbox
op_text_color equ [edi+8] ;梥â ⥪áâ 
op_text_ptr equ [edi+12] ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨
op_text_length equ [edi+16] ;¤«¨­  ­ ¤¯¨á¨ (2^64 â ª®© ¤«¨­ë ¬®¦¥â ¡ëâì ⥪áâ)
op_optibox_gr equ [edi+18]
op_border_color equ [sc.work_graph] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦­® § ¤ âì á ¬®áâ®ï⥫쭮
op_text_color equ [sc.work_text];[edi+4] ;梥â ⥪áâ 
;op_border_color equ [edi+4] ;梥â à ¬ª¨ optionbox
;op_text_color equ [edi+8] ;梥â ⥪áâ 
op_text_ptr equ [edi+4] ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨
op_text_length equ [edi+8] ;¤«¨­  ­ ¤¯¨á¨ (2^64 â ª®© ¤«¨­ë ¬®¦¥â ¡ëâì ⥪áâ)
op_optibox_gr equ [edi+10]
option_box:
.draw:
pusha ;á®åà ­¨¬ ¢á¥ ॣ¨áâàë
56,21 → 59,7
;pop cx
int 0x40 ;­ à¨á®¢ «¨ ¯àאַ㣮«ì­¨ª
 
mov eax,13 ;§ ªà è¨¢ ¥¬ ¥£®. ”ã­ªæ¨ï 13 - ­ à¨á®¢ âì ¯®«®áã
movzx ebx,word op_left ;§ £à㧨âì ¢ bx, ¯®«®¦¥­¨¥ ¯® å
add ebx,1 ;ᤢ¨­¥¬ ­  1 â.¥. ¯à¨¡ ¢¨¬ 1 ¨­ ç¥ § âà¥âáï à ¬ª 
shl ebx,16 ;ᤢ¨­¥¬ ­  16 à §à冷¢ ¢ «¥¢® (㬭®¦¨¬ ­  65536)
mov bx,op_size ;¯à¨¡ ¢¨¬ ¤«¨­ã áâ®à®­ë ¯àאַ㣮«ì­¨ª 
sub ebx,1 ;¢ëç⥬ 1 â.ª. ¨­ ç¥ § âà¥âáï à ¬ª 
mov bp,bx ;á®åà ­¨¬ ॣ¨áâà bx ¢ ॣ¨áâॠ㪠§ â¥«ï ¡ §ë
;push bx
movzx ecx,word op_top ;§ £à㧨¬ ª®®à¤¨­ âë ¯® y
add ecx,1 ;ᤢ¨­¥¬ ­  1 â.¥. ¯à¨¡ ¢¨¬ 1 ¨­ ç¥ § âà¥âáï à ¬ª 
shl ecx,16 ;ᤢ¨­¥¬ ­  16 à §à冷¢ ¢ «¥¢® (㬭®¦¨¬ ­  65536)
mov cx,bp ;¢®ááâ ­®¢¨¬ §­ ç¥­¨¥ ॣ¨áâà  cx
;pop cx
mov edx,dword [sc.work] ;§ £à㧨¬ 梥⠯®«®áë
int 0x40 ;§ ªà á¨«¨
call .clear_op ;®ç¨á⪠ ®¡« áâ¨
 
mov eax,dword op_optibox_gr
mov dword eax,[eax]
162,17 → 151,17
ret ;¢ë©â¨
}
 
struc option_box left,top,border_color,text_color,text,text_length,point_gr,flags
struc option_box left,top,text,text_length,point_gr
{ ;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
.left: dw left ;+0 ;¯®«®¦¥­¨¥ ¯® å
.top: dw top ;+2 ;¯®«®¦¥­¨¥ ¯® ã
.border_color: dd border_color ;+8 梥â à ¬ª¨
.text_color: dd text_color ;+12 梥â ⥪áâ  ­ ¤¯¨á¨
;.border_color: dd border_color ;+8 梥â à ¬ª¨
;.text_color: dd text_color ;+12 梥â ⥪áâ  ­ ¤¯¨á¨
.text: dd text ;+16  ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâà
.text_length: dw text_length ; +20 ¤«¨­  ⥪áâ 
.option_group: dd point_gr ;㪠§ â¥«ì ­  à §¬¥é¥­¨¥ edi - ¨¤¥­â¨ä¨ª â®à  optibox
}
op_struc_size=22 ;®¡é ï áâàãªâãà  24 ¡ ©â
op_struc_size=14 ;®¡é ï áâàãªâãà  24 ¡ ©â
op_flag_en=10b
macro draw_option_boxes start,end ;à¨á®¢ âì 祪 ¡®ªáë
{
196,7 → 185,7
mov ecx,((end-start)/op_struc_size) ;Š®«¨ç¥á⢮ 祪 ¡®ªá®¢
 
.home:
mov eax,[edi+18] ;op_optibox_gr
mov eax,[edi+10] ;op_optibox_gr
mov dword eax,[eax]
 
pusha