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>
|
||||
; <Lrz> 20.07.2007 Косметические улучшения в коде программы, исправлен один несущественный баг.
|
||||
; <Lrz> 18.05.2007 Улучшение понимания работы программы за счет вынеса основных функций в отдельные макросы
|
||||
; <Lrz> 14.05.2007 Использование макросов,удобочитаемось программы использование макроса mcall для вызова сис. функций
|
||||
; <Lrz> 09.05.2007 Общая доработка макросов,замена несколько меток, миграция кода в edit_box.mac
|
||||
|
@ -4,27 +4,25 @@
|
||||
;<Lrz> - ’¥¯«®¢ €«¥ªá¥© www.lrz.land.ru
|
||||
;§ £®«®¢®ª ¯à¨«®¦¥¨ï
|
||||
include '..\..\..\..\macros.inc'
|
||||
; include 'macros.inc'
|
||||
include 'editbox.inc'
|
||||
meos_app_start
|
||||
align 4
|
||||
use_edit_box procinfo,22,5
|
||||
;Ž¡« áâì ª®¤
|
||||
code
|
||||
;start: ;’®çª ¢å®¤ ¢ ¯à®£à ¬¬ã
|
||||
code ;’®çª ¢å®¤ ¢ ¯à®£à ¬¬ã
|
||||
mcall 40,0x27 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
|
||||
;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨) ¨ ¦ ⨥ ª« ¢¨è¨
|
||||
;á¨á⥬ ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥, ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨) ¨ ¦ ⨥ ª« ¢¨è¨
|
||||
red_win:
|
||||
call draw_window ;¯¥à¢® ç «ì® ¥®¡å®¤¨¬® à¨á®¢ âì ®ª®
|
||||
align 4
|
||||
still: ;®á®¢®© ®¡à ¡®â稪
|
||||
mcall 10 ;Ž¦¨¤ âì ᮡëâ¨ï
|
||||
cmp al,0x1 ;¥á«¨ ¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª
|
||||
jz red_win
|
||||
cmp al,0x2 ;¥á«¨ ¦ â ª« ¢¨è â® ¯¥à¥©â¨
|
||||
jz key
|
||||
cmp al,0x3 ;¥á«¨ ¦ â ª®¯ª â® ¯¥à¥©â¨
|
||||
jz button
|
||||
dec eax
|
||||
jz red_win
|
||||
dec eax
|
||||
jz key
|
||||
dec eax
|
||||
jz button
|
||||
mouse_edit_boxes editboxes,editboxes_end
|
||||
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:
|
||||
data_of_code dd 0
|
||||
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
|
||||
ed_buffer:
|
||||
;.1: rb 514;256
|
||||
|
@ -31,9 +31,9 @@ macro use_general_func
|
||||
mov edx,ed_offset
|
||||
add ebx,2
|
||||
shl ebx,16
|
||||
mov bx,ed_top
|
||||
add ebx,4
|
||||
add ebx,ed_top
|
||||
mov ecx,ed_text_color
|
||||
add ebx,4
|
||||
add edx,ed_text
|
||||
mcall
|
||||
ret
|
||||
@ -47,20 +47,19 @@ ret
|
||||
.draw_bg:
|
||||
mov ebx,ed_left
|
||||
add ebx,1
|
||||
shl ebx,16
|
||||
mov bx,ed_width
|
||||
sub ebx,1
|
||||
mov edx,ed_color
|
||||
shl ebx,16
|
||||
add ebx,ed_width
|
||||
sub ebx,1
|
||||
.draw_bg_eax:
|
||||
mov ecx,ed_top
|
||||
mov eax,13
|
||||
add ecx,1
|
||||
shl ecx,16
|
||||
mov cx,ed_height
|
||||
add ecx,ed_height
|
||||
dec ecx
|
||||
mcall
|
||||
ret
|
||||
|
||||
;----------------------------------------------------------
|
||||
;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ª®«¨ç¥á⢠ᨬ¢®«®¢ ¢ ⥪ã饩 é¨à¨¥ ª®¬¯®¥â
|
||||
;----------------------------------------------------------
|
||||
@ -89,7 +88,7 @@ ret
|
||||
lea ebx,[ebx*2+ebx]
|
||||
shl ebx,1
|
||||
;imul ebx,6
|
||||
add bx,ed_left
|
||||
add ebx,ed_left
|
||||
mov ecx,ed_top
|
||||
inc ebx
|
||||
add ecx,2
|
||||
@ -100,7 +99,7 @@ ret
|
||||
|
||||
shl ecx,16
|
||||
mov cx,bp
|
||||
add cx,ed_height-4
|
||||
add ecx,ed_height-4
|
||||
|
||||
mov cl_curs_x,ebx
|
||||
mov cl_curs_y,ecx
|
||||
@ -123,8 +122,8 @@ ret
|
||||
mov ecx,ebx
|
||||
shl ebx,16
|
||||
mov bx,cx
|
||||
add bx,ed_width
|
||||
mov ecx, ed_top
|
||||
add ebx,ed_width
|
||||
mov ecx,ed_top
|
||||
mov esi,ecx
|
||||
shl ecx,16
|
||||
mov cx,si
|
||||
@ -139,7 +138,7 @@ ret
|
||||
;--- á«¥¢ ---
|
||||
mov cx,si
|
||||
mov ebp,ebx
|
||||
sub bx,ed_width
|
||||
sub ebx,ed_width
|
||||
mcall
|
||||
;--- á¯à ¢ ---
|
||||
mov ebx,ebp
|
||||
@ -534,7 +533,7 @@ edit_ex
|
||||
inc ebx
|
||||
add ebx,ed_left
|
||||
shl ebx,16
|
||||
mov bx,6
|
||||
add ebx,6
|
||||
mov edx,ebp
|
||||
call .draw_bg_eax
|
||||
ret
|
||||
@ -624,12 +623,15 @@ macro are_key_shift_press
|
||||
;‚å®¤ë¥ ¤ ë¥ edx=ed_size;ecx=ed_pos
|
||||
push eax
|
||||
mov edx,ed_size
|
||||
mov ecx,ed_pos
|
||||
mov ecx, ed_pos
|
||||
pusha
|
||||
;;;;;;;;;;;;;;;;;;;;;
|
||||
;clear input arrea
|
||||
mov ebp,ed_color
|
||||
mov ebx,dword ed_shift_pos
|
||||
call .sh_cl_
|
||||
mov ebp,ed_size
|
||||
call .clear_bg
|
||||
;;;;;;;;;;;;;;;;;;;;;
|
||||
popa
|
||||
call .del_char
|
||||
@ -1075,4 +1077,53 @@ macro debug_func
|
||||
stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi
|
||||
|
||||
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