forked from KolibriOS/kolibrios
upgrade component optionbox
git-svn-id: svn://kolibrios.org@362 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
77a1a73554
commit
8df9a500b6
@ -1,7 +1,8 @@
|
||||
;ª®¬¯®¥â OptionBox (®á®¢ Checkbox)
|
||||
;Ž£à®¬ ï ¡« £®¤ à®áâì Maxxxx32, Diamond, Heavyiron ¨ ¤à㣨¬ ¯à®£à ¬¬¨áâ ¬, ¨ ¨å ¯à®£à ¬¬ ¬, ¡¥§
|
||||
;ª®â®àëå ï ¥ ᬮ£ ¡ë ¯¨á âì íâ®â ª®¬¯®¥â.
|
||||
;16.02.2007
|
||||
;19.02.2007 ®¡é¥¥ ã«ãç襨¥ ª®¤ , 㬥ì襨¥ à §¬¥à ¨ ¨á¯®«ì§®¢ ¨¥ á¨á⥬ëå 梥⮢ ¤«ï ®â®¡à ¦¥¨ï optionkbox
|
||||
;16.02.2007 ¤ â ᮧ¤ ¨ï ª®¬¯®¥â
|
||||
;<Lrz> - ’¥¯«®¢ €«¥ªá¥© www.lrz.land.ru
|
||||
|
||||
;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
||||
@ -22,7 +23,7 @@ use32 ;
|
||||
; ®âªã¤ § ¯ã饮 ¯à¨«®¦¥¨¥
|
||||
;------------------
|
||||
include 'macros.inc'
|
||||
include 'optionbox.inc' ;¢ª«îç¨âì ä ©« check.inc
|
||||
include 'optionbox.inc' ;¢ª«îç¨âì ä ©« opeck.inc
|
||||
use_option_box ;¨á¯®«ì§ãï ¬ ªà®áë,¢¥á⨠¯à®æ¥¤ãàë ¤«ï à¨á®¢ ¨ï optionbox
|
||||
align 16
|
||||
;Ž¡« áâì ª®¤
|
||||
@ -86,19 +87,19 @@ draw_window: ;
|
||||
;0 - 梥â ⥪áâ ¤¯¨á¨
|
||||
;op_text.1 - 㪠§ ⥫ì ç «® áâப¨
|
||||
;option_group1 - íâ® ¯à¨§ ª £à㯯ë, â.¥. íâ®â ª®¤ ¬®¦¥â ®¡à ¡ âë¢ âì ¬®£® £à㯯 ¨§ optibox
|
||||
;op_text.e1-ch_text.1 - ¤«¨ áâப¨
|
||||
;op_text.e1-op_text.1 - ¤«¨ áâப¨
|
||||
;
|
||||
align 16
|
||||
option_boxes:
|
||||
op1 option_box 10,15,0,0,ch_text.1,ch_text.e1-ch_text.1,option_group1
|
||||
op2 option_box 10,30,0,0,ch_text.2,ch_text.e2-ch_text.2,option_group1
|
||||
op3 option_box 10,45,0,0,ch_text.3,ch_text.e3-ch_text.3,option_group1
|
||||
op11 option_box 10,80,0,0,ch_text.1,ch_text.e1-ch_text.1,option_group2
|
||||
op12 option_box 10,95,0,0,ch_text.2,ch_text.e2-ch_text.2,option_group2
|
||||
op13 option_box 10,110,0,0,ch_text.3,ch_text.e3-ch_text.3,option_group2
|
||||
op1 option_box 10,15,op_text.1,op_text.e1-op_text.1,option_group1
|
||||
op2 option_box 10,30,op_text.2,op_text.e2-op_text.2,option_group1
|
||||
op3 option_box 10,45,op_text.3,op_text.e3-op_text.3,option_group1
|
||||
op11 option_box 10,80,op_text.1,op_text.e1-op_text.1,option_group2
|
||||
op12 option_box 10,95,op_text.2,op_text.e2-op_text.2,option_group2
|
||||
op13 option_box 10,110,op_text.3,op_text.e3-op_text.3,option_group2
|
||||
option_boxes_end:
|
||||
|
||||
ch_text: ; ‘®¯à®¢®¦¤ î騩 ⥪áâ ¤«ï 祪 ¡®ªá®¢
|
||||
op_text: ; ‘®¯à®¢®¦¤ î騩 ⥪áâ ¤«ï 祪 ¡®ªá®¢
|
||||
.1 db 'Option_Box #1'
|
||||
.e1:
|
||||
.2 db 'Option_Box #2'
|
||||
@ -109,7 +110,6 @@ ch_text: ;
|
||||
option_group1 dd op1 ;㪠§ ⥫¨, ®¨ ®â®¡à ¦ îâáï ¯® 㬮«ç ¨î, ª®£¤ ¢ë¢®¤¨âáï
|
||||
option_group2 dd op11 ;¯à¨«®¦¥¨¥
|
||||
|
||||
hed db 'Optionbox [16.02.2007]',0 ;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
||||
hed db 'Optionbox [19.02.2007]',0 ;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
||||
sc system_colors
|
||||
i_end: ;ª®¥æ ª®¤
|
||||
|
||||
|
@ -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_text_margin=4 ;
|
||||
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 @@ pusha ;
|
||||
;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 @@ popa ;
|
||||
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 @@ macro mouse_option_boxes start,end ;
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user