forked from KolibriOS/kolibrios
Fixed bug
git-svn-id: svn://kolibrios.org@583 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
2199c90dd9
commit
59e4c92d8d
@ -1,3 +1,8 @@
|
|||||||
|
EDITBOX использует макрос macroc.inc в корне директории, также использует файл настроек при
|
||||||
|
компиляции кода, struct.inc в котором нужно указать правильный тип процессора для вашей
|
||||||
|
системы!!
|
||||||
|
|
||||||
|
|
||||||
Посдедная модификация
|
Посдедная модификация
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;;;Структурное описание возможности компонета и моделей его использования.
|
;;;Структурное описание возможности компонета и моделей его использования.
|
||||||
|
@ -6,6 +6,7 @@ You bunny wrote .....
|
|||||||
Это не много фольклера, связанное, с тем, что написание программ длинные и муторный процесс, и он не обходиться без выражений подобного содержания, но не попадающего в коментарии и основной код.....
|
Это не много фольклера, связанное, с тем, что написание программ длинные и муторный процесс, и он не обходиться без выражений подобного содержания, но не попадающего в коментарии и основной код.....
|
||||||
|
|
||||||
Теплов Алексей Юрьевич aka <Lrz>
|
Теплов Алексей Юрьевич aka <Lrz>
|
||||||
|
; <Lrz> 20.07.2007 Косметические улучшения в коде программы, исправлен один несущественный баг.
|
||||||
; <Lrz> 18.05.2007 Улучшение понимания работы программы за счет вынеса основных функций в отдельные макросы
|
; <Lrz> 18.05.2007 Улучшение понимания работы программы за счет вынеса основных функций в отдельные макросы
|
||||||
; <Lrz> 14.05.2007 Использование макросов,удобочитаемось программы использование макроса mcall для вызова сис. функций
|
; <Lrz> 14.05.2007 Использование макросов,удобочитаемось программы использование макроса mcall для вызова сис. функций
|
||||||
; <Lrz> 09.05.2007 Общая доработка макросов,замена несколько меток, миграция кода в edit_box.mac
|
; <Lrz> 09.05.2007 Общая доработка макросов,замена несколько меток, миграция кода в edit_box.mac
|
||||||
|
@ -4,27 +4,25 @@
|
|||||||
;<Lrz> - ’¥¯«®¢ €«¥ªá¥© www.lrz.land.ru
|
;<Lrz> - ’¥¯«®¢ €«¥ªá¥© www.lrz.land.ru
|
||||||
;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
||||||
include '..\..\..\..\macros.inc'
|
include '..\..\..\..\macros.inc'
|
||||||
; include 'macros.inc'
|
|
||||||
include 'editbox.inc'
|
include 'editbox.inc'
|
||||||
meos_app_start
|
meos_app_start
|
||||||
align 4
|
align 4
|
||||||
use_edit_box procinfo,22,5
|
use_edit_box procinfo,22,5
|
||||||
;Ž¡« áâì ª®¤
|
;Ž¡« áâì ª®¤
|
||||||
code
|
code ;’®çª ¢å®¤ ¢ ¯à®£à ¬¬ã
|
||||||
;start: ;’®çª ¢å®¤ ¢ ¯à®£à ¬¬ã
|
|
||||||
mcall 40,0x27 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
|
mcall 40,0x27 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
|
||||||
;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨) ¨ ¦ ⨥ ª« ¢¨è¨
|
;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨) ¨ ¦ ⨥ ª« ¢¨è¨
|
||||||
red_win:
|
red_win:
|
||||||
call draw_window ;¯¥à¢® ç «ì® ¥®¡å®¤¨¬® à¨á®¢ âì ®ª®
|
call draw_window ;¯¥à¢® ç «ì® ¥®¡å®¤¨¬® à¨á®¢ âì ®ª®
|
||||||
align 4
|
align 4
|
||||||
still: ;®á®¢®© ®¡à ¡®â稪
|
still: ;®á®¢®© ®¡à ¡®â稪
|
||||||
mcall 10 ;Ž¦¨¤ âì ᮡëâ¨ï
|
mcall 10 ;Ž¦¨¤ âì ᮡëâ¨ï
|
||||||
cmp al,0x1 ;¥á«¨ ¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª
|
dec eax
|
||||||
jz red_win
|
jz red_win
|
||||||
cmp al,0x2 ;¥á«¨ ¦ â ª« ¢¨è â® ¯¥à¥©â¨
|
dec eax
|
||||||
jz key
|
jz key
|
||||||
cmp al,0x3 ;¥á«¨ ¦ â ª®¯ª â® ¯¥à¥©â¨
|
dec eax
|
||||||
jz button
|
jz button
|
||||||
mouse_edit_boxes editboxes,editboxes_end
|
mouse_edit_boxes editboxes,editboxes_end
|
||||||
jmp still ;¥á«¨ ¨ç¥£® ¨§ ¯¥à¥ç¨á«¥®£® ⮠ᮢ ¢ 横«
|
jmp still ;¥á«¨ ¨ç¥£® ¨§ ¯¥à¥ç¨á«¥®£® ⮠ᮢ ¢ 横«
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -56,7 +54,7 @@ edit4 edit_box 16,5,70,0xffffff,0x6a9480,0,0,0,1,ed_buffer.4,ed_figure_only
|
|||||||
editboxes_end:
|
editboxes_end:
|
||||||
data_of_code dd 0
|
data_of_code dd 0
|
||||||
mouse_flag dd 0x0
|
mouse_flag dd 0x0
|
||||||
hed db 'EDITBOX optimization and retype <Lrz> date 14.05.2007',0
|
hed db 'EDITBOX optimization and retype <Lrz> date 20.07.2007',0
|
||||||
rb 256
|
rb 256
|
||||||
ed_buffer:
|
ed_buffer:
|
||||||
;.1: rb 514;256
|
;.1: rb 514;256
|
||||||
|
@ -31,9 +31,9 @@ macro use_general_func
|
|||||||
mov edx,ed_offset
|
mov edx,ed_offset
|
||||||
add ebx,2
|
add ebx,2
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
mov bx,ed_top
|
add ebx,ed_top
|
||||||
add ebx,4
|
|
||||||
mov ecx,ed_text_color
|
mov ecx,ed_text_color
|
||||||
|
add ebx,4
|
||||||
add edx,ed_text
|
add edx,ed_text
|
||||||
mcall
|
mcall
|
||||||
ret
|
ret
|
||||||
@ -47,20 +47,19 @@ ret
|
|||||||
.draw_bg:
|
.draw_bg:
|
||||||
mov ebx,ed_left
|
mov ebx,ed_left
|
||||||
add ebx,1
|
add ebx,1
|
||||||
shl ebx,16
|
|
||||||
mov bx,ed_width
|
|
||||||
sub ebx,1
|
|
||||||
mov edx,ed_color
|
mov edx,ed_color
|
||||||
|
shl ebx,16
|
||||||
|
add ebx,ed_width
|
||||||
|
sub ebx,1
|
||||||
.draw_bg_eax:
|
.draw_bg_eax:
|
||||||
mov ecx,ed_top
|
mov ecx,ed_top
|
||||||
mov eax,13
|
mov eax,13
|
||||||
add ecx,1
|
add ecx,1
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
mov cx,ed_height
|
add ecx,ed_height
|
||||||
dec ecx
|
dec ecx
|
||||||
mcall
|
mcall
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ª®«¨ç¥á⢠ᨬ¢®«®¢ ¢ ⥪ã饩 é¨à¨¥ ª®¬¯®¥â
|
;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ª®«¨ç¥á⢠ᨬ¢®«®¢ ¢ ⥪ã饩 é¨à¨¥ ª®¬¯®¥â
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
@ -89,7 +88,7 @@ ret
|
|||||||
lea ebx,[ebx*2+ebx]
|
lea ebx,[ebx*2+ebx]
|
||||||
shl ebx,1
|
shl ebx,1
|
||||||
;imul ebx,6
|
;imul ebx,6
|
||||||
add bx,ed_left
|
add ebx,ed_left
|
||||||
mov ecx,ed_top
|
mov ecx,ed_top
|
||||||
inc ebx
|
inc ebx
|
||||||
add ecx,2
|
add ecx,2
|
||||||
@ -100,7 +99,7 @@ ret
|
|||||||
|
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
mov cx,bp
|
mov cx,bp
|
||||||
add cx,ed_height-4
|
add ecx,ed_height-4
|
||||||
|
|
||||||
mov cl_curs_x,ebx
|
mov cl_curs_x,ebx
|
||||||
mov cl_curs_y,ecx
|
mov cl_curs_y,ecx
|
||||||
@ -123,8 +122,8 @@ ret
|
|||||||
mov ecx,ebx
|
mov ecx,ebx
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
mov bx,cx
|
mov bx,cx
|
||||||
add bx,ed_width
|
add ebx,ed_width
|
||||||
mov ecx, ed_top
|
mov ecx,ed_top
|
||||||
mov esi,ecx
|
mov esi,ecx
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
mov cx,si
|
mov cx,si
|
||||||
@ -139,7 +138,7 @@ ret
|
|||||||
;--- á«¥¢ ---
|
;--- á«¥¢ ---
|
||||||
mov cx,si
|
mov cx,si
|
||||||
mov ebp,ebx
|
mov ebp,ebx
|
||||||
sub bx,ed_width
|
sub ebx,ed_width
|
||||||
mcall
|
mcall
|
||||||
;--- á¯à ¢ ---
|
;--- á¯à ¢ ---
|
||||||
mov ebx,ebp
|
mov ebx,ebp
|
||||||
@ -534,7 +533,7 @@ edit_ex
|
|||||||
inc ebx
|
inc ebx
|
||||||
add ebx,ed_left
|
add ebx,ed_left
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
mov bx,6
|
add ebx,6
|
||||||
mov edx,ebp
|
mov edx,ebp
|
||||||
call .draw_bg_eax
|
call .draw_bg_eax
|
||||||
ret
|
ret
|
||||||
@ -624,12 +623,15 @@ macro are_key_shift_press
|
|||||||
;‚å®¤ë¥ ¤ ë¥ edx=ed_size;ecx=ed_pos
|
;‚å®¤ë¥ ¤ ë¥ edx=ed_size;ecx=ed_pos
|
||||||
push eax
|
push eax
|
||||||
mov edx,ed_size
|
mov edx,ed_size
|
||||||
mov ecx,ed_pos
|
mov ecx, ed_pos
|
||||||
pusha
|
pusha
|
||||||
;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;clear input arrea
|
||||||
mov ebp,ed_color
|
mov ebp,ed_color
|
||||||
mov ebx,dword ed_shift_pos
|
mov ebx,dword ed_shift_pos
|
||||||
call .sh_cl_
|
call .sh_cl_
|
||||||
|
mov ebp,ed_size
|
||||||
|
call .clear_bg
|
||||||
;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;
|
||||||
popa
|
popa
|
||||||
call .del_char
|
call .del_char
|
||||||
@ -1075,4 +1077,53 @@ macro debug_func
|
|||||||
stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi
|
stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi
|
||||||
|
|
||||||
ret ;¢¥àãâìáï ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï
|
ret ;¢¥àãâìáï ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï
|
||||||
|
}
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;
|
||||||
|
;For LibGui
|
||||||
|
;;;;;;;;;;;;;;;
|
||||||
|
macro srt_ed_libgui
|
||||||
|
{
|
||||||
|
ed_width equ [EditBox.ed_width] ;è¨à¨ ª®¬¯®¥â
|
||||||
|
ed_left equ [EditBox.ed_left] ;¯®«®¦¥¨¥ ¯® ®á¨ å
|
||||||
|
ed_top equ [EditBox.ed_top] ;¯®«®¦¥¨¥ ¯® ®á¨ ã
|
||||||
|
ed_color equ [EditBox.ed_color] ;梥â ä® ª®¬¯®¥â
|
||||||
|
shift_color equ [EditBox.shift_color] ;=0x6a9480
|
||||||
|
ed_focus_border_color equ [EditBox.ed_focus_border_color] ;梥â à ¬ª¨ ª®¬¯®¥â
|
||||||
|
ed_blur_border_color equ [EditBox.ed_blur_border_color] ;梥⠥ ªâ¨¢®£® ª®¬¯®¥â
|
||||||
|
ed_text_color equ [EditBox.ed_text_color] ;梥â ⥪áâ
|
||||||
|
ed_max equ [EditBox.ed_max] ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦® ¬ ªá¨¬ «ì® ¢¢¥áâ¨
|
||||||
|
ed_text equ [EditBox.ed_text] ;㪠§ â¥«ì ¡ãä¥à
|
||||||
|
ed_flags equ [EditBox.ed_flags] ;ä« £¨
|
||||||
|
ed_size equ [EditBox.ed_size] ;ª®«-¢® ᨬ¢®«®¢
|
||||||
|
ed_pos equ [EditBox.ed_poz] ;¯®§¨æ¨ï ªãàá®à
|
||||||
|
ed_offset equ [EditBox.ed_offset] ;ᬥ饨¥
|
||||||
|
cl_curs_x equ [EditBox.cl_curs_x] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® å
|
||||||
|
cl_curs_y equ [EditBox.cl_curs_y] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® ã
|
||||||
|
ed_shift_pos equ [EditBox.ed_shift_pos] ;¯®«®¦¥¨¥ ªãàá®à
|
||||||
|
ed_shift_pos_old equ [EditBox.ed_shift_pos_old] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;Bit mask from editbox
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
ed_figure_only= 1000000000000000b ;®¤¨ ᨬ¢®«ë
|
||||||
|
ed_always_focus= 100000000000000b
|
||||||
|
ed_focus= 10b ;䮪ãá ¯à¨«®¦¥¨ï
|
||||||
|
ed_shift_on= 1000b ;¥á«¨ ¥ ãáâ ®¢«¥ -§ ç¨â ¢¯¥à¢ë¥ ¦ â shift,¥á«¨ ¡ë« ãáâ ®¢«¥, § ç¨â ¬ë 㦥 çâ® - â® ¤¥« «¨ 㤥ন¢ ï shift
|
||||||
|
ed_shift_on_off=1111111111110111b
|
||||||
|
ed_shift= 100b ;¢ª«îç ¥âáï ¯à¨ ¦ ⨨ shift â.¥. ¥á«¨ ¦¨¬ î
|
||||||
|
ed_shift_off= 1111111111111011b
|
||||||
|
ed_shift_bac= 10000b ;¡¨â ¤«ï ®ç¨á⪨ ¢ë¤¥«¥®£® shift â.¥. ¯à¨ ãáâ ®¢ª¥ £®¢®à¨â çâ® ¥áâì ¢ë¤¥«¥¨¥
|
||||||
|
ed_shift_bac_cl=1111111111101111b ;®ç¨á⪠¯à¨ 㤠«¥¨¨ ¢ë¤¥«¥¨ï
|
||||||
|
ed_shift_cl= 1111111111100011b
|
||||||
|
ed_shift_mcl= 1111111111111011b
|
||||||
|
ed_left_fl= 100000b
|
||||||
|
ed_right_fl= 1111111111011111b
|
||||||
|
ed_offset_fl= 1000000b
|
||||||
|
ed_offset_cl= 1111111110111111b
|
||||||
|
ed_insert= 10000000b
|
||||||
|
ed_insert_cl= 1111111101111111b
|
||||||
|
ed_mouse_on = 100000000b
|
||||||
|
ed_mous_adn_b= 100011000b
|
||||||
|
ed_mouse_on_off=1111111011111111b
|
||||||
|
ed_height=14 ; ¢ëá®â
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user