forked from KolibriOS/kolibrios
bugfix.
git-svn-id: svn://kolibrios.org@1640 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
e32fd4f0e3
commit
abbc09c677
@ -103,21 +103,20 @@ macro edit_boxes_set_sys_color start,end,color_table
|
||||
}
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;Basic macros for use CheckBox ;
|
||||
;Last change 25.09.2010
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
ch_struc_size=36 ;à §¬¥à áâàãªâãàë
|
||||
ch_flag_en=10b ;ä« £ ãáâ ®¢«¥®£® 祪 ¡®ªá .
|
||||
ch_struc_size=36
|
||||
ch_flag_en=10b ;í«¥¬¥â ¢ë¡à
|
||||
|
||||
ch_left equ [ebp] ;ª®à¤¨ â ç « à¨á®¢ ¨ï ¯® å
|
||||
ch_top equ [ebp+2] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® ã
|
||||
ch_text_margin equ [ebp+4] ;=4 à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
|
||||
ch_size equ [ebp+8] ;12 à §¬¥à ª¢ ¤à â 祪 ¡®ªá
|
||||
ch_color equ [ebp+12] ;梥⠢ãâਠcheckbox
|
||||
ch_border_color equ [ebp+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦® § ¤ âì á ¬®áâ®ï⥫ì®
|
||||
ch_text_color equ [ebp+20] ;[edi+4] ;梥â ⥪áâ
|
||||
ch_text_ptr equ [ebp+24] ;㪠§ ⥫ì ç «® ⥪á⮢®© áâப¨
|
||||
ch_text_length equ [ebp+28] ;¤«¨ áâப¨
|
||||
ch_flags equ [ebp+32] ;ä« £¨
|
||||
ch_left equ [edi] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® å
|
||||
ch_top equ [edi+2] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® ã
|
||||
ch_text_margin equ [edi+4] ;=4 à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
|
||||
ch_size equ [edi+8] ;12 à §¬¥à ª¢ ¤à â 祪 ¡®ªá
|
||||
ch_color equ [edi+12] ;梥⠢ãâਠcheckbox
|
||||
ch_border_color equ [edi+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦® § ¤ âì á ¬®áâ®ï⥫ì®
|
||||
ch_text_color equ [edi+20] ;[edi+4] ;梥â ⥪áâ
|
||||
ch_text_ptr equ [edi+24] ;㪠§ ⥫ì ç «® ⥪á⮢®© áâப¨
|
||||
ch_text_length equ [edi+28]
|
||||
ch_flags equ [edi+32] ;ä« £¨
|
||||
|
||||
struc check_box left,top,ch_text_margin,ch_size,color,border_color,text_color,text,ch_text_length,flags
|
||||
{ ;áâàãªâãà ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá
|
||||
@ -139,6 +138,8 @@ macro check_boxes_set_sys_color start,end,color_table
|
||||
mov ecx,((end-start)/ch_struc_size)
|
||||
mov esi,color_table
|
||||
@@:
|
||||
; push dword [esi+20] ;梥â à ¡®ç¥© ®¡« á⨠®ª
|
||||
; pop dword ch_color
|
||||
push dword [esi+32] ;梥â ⥪áâ ¢ à ¡®ç¥© ®¡« á⨠®ª
|
||||
pop dword ch_text_color
|
||||
push dword [esi+36] ;梥⠣à 䨪¨ ¢ ®ª¥ (à §¤¥«¨â¥«ìë¥ «¨¨¨ ¨ â.¯.)
|
||||
|
@ -31,7 +31,7 @@ check_box_draw:
|
||||
;----------------------------
|
||||
movzx ebx,word ch_left ;загрузить значение х для чек бокса
|
||||
add ebx,dword ch_size
|
||||
add ebx,dword ch_text_margin ;добавить размер стороны и расстояние на котором начнется вывод текста
|
||||
add ebx,dword ch_text_margin;добавить размер стороны и расстояние на котором начнется вывод текста
|
||||
shl ebx,16 ;сдвинем на 16 разрядов в лево (умножим на 65536)
|
||||
mov bx,word ch_top ;загрузим значение по y
|
||||
add ebx,ch_size
|
||||
@ -40,10 +40,11 @@ check_box_draw:
|
||||
|
||||
mov edx,dword ch_text_ptr ;укажем адрес от куда нужно выводить строку
|
||||
mov esi,dword ch_text_length
|
||||
mov eax,4 ;внесем в eax значение вывода надписи на канву
|
||||
;внесем в eax значение вывода надписи на канву
|
||||
mov eax,4
|
||||
mcall ;Вывод
|
||||
popa ;восстановить значения регистров из стека
|
||||
ret 4 ;выйдем из процедуры
|
||||
popa ;восстановить значения регистров из стека
|
||||
ret 4 ;выйдем из процедуры
|
||||
|
||||
check_box_clear_ch: ;очистка чек бокса
|
||||
mov edx,dword ch_color ;цвет внутри чек бокса
|
||||
@ -53,7 +54,7 @@ check_box_draw_ch: ;
|
||||
@@:
|
||||
movzx ebx,word ch_left ;загрузить координату по х
|
||||
mov eax,dword ch_size
|
||||
mov di,ax
|
||||
mov bp,ax
|
||||
shr eax,2
|
||||
push ax
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user