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 ;
|
;Basic macros for use CheckBox ;
|
||||||
;Last change 25.09.2010
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
ch_struc_size=36 ;à §¬¥à áâàãªâãàë
|
ch_struc_size=36
|
||||||
ch_flag_en=10b ;ä« £ ãáâ ®¢«¥®£® 祪 ¡®ªá .
|
ch_flag_en=10b ;í«¥¬¥â ¢ë¡à
|
||||||
|
|
||||||
ch_left equ [ebp] ;ª®à¤¨ â ç « à¨á®¢ ¨ï ¯® å
|
ch_left equ [edi] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® å
|
||||||
ch_top equ [ebp+2] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® ã
|
ch_top equ [edi+2] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® ã
|
||||||
ch_text_margin equ [ebp+4] ;=4 à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
|
ch_text_margin equ [edi+4] ;=4 à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨
|
||||||
ch_size equ [ebp+8] ;12 à §¬¥à ª¢ ¤à â 祪 ¡®ªá
|
ch_size equ [edi+8] ;12 à §¬¥à ª¢ ¤à â 祪 ¡®ªá
|
||||||
ch_color equ [ebp+12] ;梥⠢ãâਠcheckbox
|
ch_color equ [edi+12] ;梥⠢ãâਠcheckbox
|
||||||
ch_border_color equ [ebp+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦® § ¤ âì á ¬®áâ®ï⥫ì®
|
ch_border_color equ [edi+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦® § ¤ âì á ¬®áâ®ï⥫ì®
|
||||||
ch_text_color equ [ebp+20] ;[edi+4] ;梥â ⥪áâ
|
ch_text_color equ [edi+20] ;[edi+4] ;梥â ⥪áâ
|
||||||
ch_text_ptr equ [ebp+24] ;㪠§ ⥫ì ç «® ⥪á⮢®© áâப¨
|
ch_text_ptr equ [edi+24] ;㪠§ ⥫ì ç «® ⥪á⮢®© áâப¨
|
||||||
ch_text_length equ [ebp+28] ;¤«¨ áâப¨
|
ch_text_length equ [edi+28]
|
||||||
ch_flags equ [ebp+32] ;ä« £¨
|
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
|
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 ecx,((end-start)/ch_struc_size)
|
||||||
mov esi,color_table
|
mov esi,color_table
|
||||||
@@:
|
@@:
|
||||||
|
; push dword [esi+20] ;梥â à ¡®ç¥© ®¡« á⨠®ª
|
||||||
|
; pop dword ch_color
|
||||||
push dword [esi+32] ;梥â ⥪áâ ¢ à ¡®ç¥© ®¡« á⨠®ª
|
push dword [esi+32] ;梥â ⥪áâ ¢ à ¡®ç¥© ®¡« á⨠®ª
|
||||||
pop dword ch_text_color
|
pop dword ch_text_color
|
||||||
push dword [esi+36] ;梥⠣à 䨪¨ ¢ ®ª¥ (à §¤¥«¨â¥«ìë¥ «¨¨¨ ¨ â.¯.)
|
push dword [esi+36] ;梥⠣à 䨪¨ ¢ ®ª¥ (à §¤¥«¨â¥«ìë¥ «¨¨¨ ¨ â.¯.)
|
||||||
|
@ -31,7 +31,7 @@ check_box_draw:
|
|||||||
;----------------------------
|
;----------------------------
|
||||||
movzx ebx,word ch_left ;загрузить значение х для чек бокса
|
movzx ebx,word ch_left ;загрузить значение х для чек бокса
|
||||||
add ebx,dword ch_size
|
add ebx,dword ch_size
|
||||||
add ebx,dword ch_text_margin ;добавить размер стороны и расстояние на котором начнется вывод текста
|
add ebx,dword ch_text_margin;добавить размер стороны и расстояние на котором начнется вывод текста
|
||||||
shl ebx,16 ;сдвинем на 16 разрядов в лево (умножим на 65536)
|
shl ebx,16 ;сдвинем на 16 разрядов в лево (умножим на 65536)
|
||||||
mov bx,word ch_top ;загрузим значение по y
|
mov bx,word ch_top ;загрузим значение по y
|
||||||
add ebx,ch_size
|
add ebx,ch_size
|
||||||
@ -40,10 +40,11 @@ check_box_draw:
|
|||||||
|
|
||||||
mov edx,dword ch_text_ptr ;укажем адрес от куда нужно выводить строку
|
mov edx,dword ch_text_ptr ;укажем адрес от куда нужно выводить строку
|
||||||
mov esi,dword ch_text_length
|
mov esi,dword ch_text_length
|
||||||
mov eax,4 ;внесем в eax значение вывода надписи на канву
|
;внесем в eax значение вывода надписи на канву
|
||||||
|
mov eax,4
|
||||||
mcall ;Вывод
|
mcall ;Вывод
|
||||||
popa ;восстановить значения регистров из стека
|
popa ;восстановить значения регистров из стека
|
||||||
ret 4 ;выйдем из процедуры
|
ret 4 ;выйдем из процедуры
|
||||||
|
|
||||||
check_box_clear_ch: ;очистка чек бокса
|
check_box_clear_ch: ;очистка чек бокса
|
||||||
mov edx,dword ch_color ;цвет внутри чек бокса
|
mov edx,dword ch_color ;цвет внутри чек бокса
|
||||||
@ -53,7 +54,7 @@ check_box_draw_ch: ;
|
|||||||
@@:
|
@@:
|
||||||
movzx ebx,word ch_left ;загрузить координату по х
|
movzx ebx,word ch_left ;загрузить координату по х
|
||||||
mov eax,dword ch_size
|
mov eax,dword ch_size
|
||||||
mov di,ax
|
mov bp,ax
|
||||||
shr eax,2
|
shr eax,2
|
||||||
push ax
|
push ax
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user