Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 355 → Rev 356

/programs/develop/examples/radiobutton/trunk/optionbox.inc
1,5 → 1,5
;ª®¬¯®­¥­â OptionBox (Žá­®¢ ­ ­  Checkbox)
;Ž£à®¬­ ï ¡« £®¤ à­®áâì Maxxxx32, Diamond, ¨ ¤à㣨¬ ¯à®£à ¬¬¨áâ ¬, ¨ ¨å ¯à®£à ¬¬ ¬, ¡¥§
;Ž£à®¬­ ï ¡« £®¤ à­®áâì Maxxxx32, Diamond, Heavyiron, ¨ ¤à㣨¬ ¯à®£à ¬¬¨áâ ¬, ¨ ¨å ¯à®£à ¬¬ ¬, ¡¥§
;ª®â®àëå ï ­¥ ᬮ£ ¡ë ­ ¯¨á âì íâ®â ª®¬¯®­¥­â.
;16.02.2007
;<Lrz> - ’¥¯«®¢ €«¥ªá¥© www.lrz.land.ru
10,12 → 10,11
op_size=10 ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá 
op_left equ [edi] ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
op_top equ [edi+2] ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
op_color equ [edi+4] ;梥⠢­ãâਠoptionbox
op_border_color equ [edi+8] ;梥â à ¬ª¨ optionbox
op_text_color equ [edi+12] ;梥â ⥪áâ 
op_text_ptr equ [edi+16] ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨
op_text_length equ [edi+20] ;¤«¨­  ­ ¤¯¨á¨ (2^64 â ª®© ¤«¨­ë ¬®¦¥â ¡ëâì ⥪áâ)
op_optibox_gr equ [edi+22]
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]
option_box:
.draw:
pusha ;á®åà ­¨¬ ¢á¥ ॣ¨áâàë
34,7 → 33,7
;pop cx ;[ª®®à¤¨­ â  ­ ç «  ¯® ®á¨ y]*65536 + [ª®®à¤¨­ â  ­ ç «  ¯® ®á¨ y]
;push cx
add ecx,op_size ;[ª®®à¤¨­ â  ­ ç «  ¯® ®á¨ y]*65536 + [ª®®à¤¨­ â  ª®­æ  ¯® ®á¨ y]
mov edx,op_border_color ;–¢¥â «¨­¨¨
mov edx,dword op_border_color ;–¢¥â «¨­¨¨
int 0x40 ;à¨á®¢ ­¨¥ ¢¥à⨪ «ì­®© «¥¢®© «¨­¨¨ ª¢ ¤à â  (¯àאַ㣮«ì­¨ª )
;
mov ebp,ebx ;á®åà ­¨¬ ॣ¨áâà bx ¢ ॣ¨áâॠ㪠§ â¥«ï ¡ §ë
70,10 → 69,10
shl ecx,16 ;ᤢ¨­¥¬ ­  16 à §à冷¢ ¢ «¥¢® (㬭®¦¨¬ ­  65536)
mov cx,bp ;¢®ááâ ­®¢¨¬ §­ ç¥­¨¥ ॣ¨áâà  cx
;pop cx
mov edx,op_color ;§ £à㧨¬ 梥⠯®«®áë
mov edx,dword [sc.work] ;§ £à㧨¬ 梥⠯®«®áë
int 0x40 ;§ ªà á¨«¨
 
mov eax,op_optibox_gr
mov eax,dword op_optibox_gr
mov dword eax,[eax]
cmp eax,edi
jne @f
97,7 → 96,7
ret ;¢ë©¤¥¬ ¨§ ¯à®æ¥¤ãàë
 
.clear_op: ;®ç¨á⪠ 祪 ¡®ªá 
mov edx,op_color ;梥⠢­ãâਠ祪 ¡®ªá 
mov edx,dword [sc.work] ;梥⠢­ãâਠ祪 ¡®ªá 
jmp @f ;¡¥§ãá«®¢­ë© ¯à릮ª ­  ­¨¦­îî ¬¥âªã @@
 
.draw_op: ;­ à¨á®¢ âì ¢ª«î祭­ë© 祪 ¡®ªá
133,10 → 132,11
;lea esi,[eax*2+eax]
;shl eax,1
imul esi,6 ; ¨«¨ ¬®¦­® ¨ â ª 㬭®¦¨âì ­  6
xor ebx,ebx
add esi,op_text_margin ;¤®¡ ¢¨âì 3 - à ááâ®ï­¨¥ ®â 祪 ¡®ªá  ¤® ­ ¤¯¨á¨
mov eax,37 ;¯®«ã稬 ª®®à¤¨­ âë ¬ë誨
mov ebx,1 ;¤®¡ ¢¨âì 1
inc ebx ;¤®¡ ¢¨âì 1
int 0x40 ;¯®«ãç¨âì ª®®à¤¨­ âë ªãàá®à  ®â­®á¨â¥«ì­® ®ª­ 
 
movzx ebx,word op_top ;§ £à㧨âì ¢ bx §­ ç¥­¨¥ ª®®à¤¨­ âë ã
154,7 → 154,7
add ebx,esi ;“ç¥áâì ¢ §­ ç¥­¨¨ ¯® å ¥é¥ ¨ ¤«¨­ã ­ ¤¯¨á¨ ª 祪¡®ªáã
cmp ax,bx ;áâà ¢­¨âì ॣ¨áâàë
jg .mouse_end ;¥á«¨ ¡®«ìè¥
mov eax,op_optibox_gr
mov eax,dword op_optibox_gr
mov [eax],edi
 
.mouse_end:
162,11 → 162,10
ret ;¢ë©â¨
}
 
struc option_box left,top,color,border_color,text_color,text,text_length,point_gr,flags
struc option_box left,top,border_color,text_color,text,text_length,point_gr,flags
{ ;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
.left: dw left ;+0 ;¯®«®¦¥­¨¥ ¯® å
.top: dw top ;+2 ;¯®«®¦¥­¨¥ ¯® ã
.color: dd color ;+4 ;梥⠢­ãâਠ祪 ¡®ªá 
.border_color: dd border_color ;+8 梥â à ¬ª¨
.text_color: dd text_color ;+12 梥â ⥪áâ  ­ ¤¯¨á¨
.text: dd text ;+16  ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâà
173,7 → 172,7
.text_length: dw text_length ; +20 ¤«¨­  ⥪áâ 
.option_group: dd point_gr ;㪠§ â¥«ì ­  à §¬¥é¥­¨¥ edi - ¨¤¥­â¨ä¨ª â®à  optibox
}
op_struc_size=26 ;®¡é ï áâàãªâãà  24 ¡ ©â
op_struc_size=22 ;®¡é ï áâàãªâãà  24 ¡ ©â
op_flag_en=10b
macro draw_option_boxes start,end ;à¨á®¢ âì 祪 ¡®ªáë
{
197,7 → 196,7
mov ecx,((end-start)/op_struc_size) ;Š®«¨ç¥á⢮ 祪 ¡®ªá®¢
 
.home:
mov eax,[edi+22] ;op_optibox_gr
mov eax,[edi+18] ;op_optibox_gr
mov dword eax,[eax]
 
pusha