Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 582 → Rev 583

/programs/develop/examples/editbox/trunk/FAQ.txt
1,3 → 1,8
EDITBOX èñïîëüçóåò ìàêðîñ macroc.inc â êîðíå äèðåêòîðèè, òàêæå èñïîëüçóåò ôàéë íàñòðîåê ïðè
êîìïèëÿöèè êîäà, struct.inc â êîòîðîì íóæíî óêàçàòü ïðàâèëüíûé òèï ïðîöåññîðà äëÿ âàøåé
ñèñòåìû!!
 
 
Ïîñäåäíàÿ ìîäèôèêàöèÿ
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Ñòðóêòóðíîå îïèñàíèå âîçìîæíîñòè êîìïîíåòà è ìîäåëåé åãî èñïîëüçîâàíèÿ.
/programs/develop/examples/editbox/trunk/History
6,6 → 6,7
Ýòî íå ìíîãî ôîëüêëåðà, ñâÿçàííîå, ñ òåì, ÷òî íàïèñàíèå ïðîãðàìì äëèííûå è ìóòîðíûé ïðîöåññ, è îí íå îáõîäèòüñÿ áåç âûðàæåíèé ïîäîáíîãî ñîäåðæàíèÿ, íî íå ïîïàäàþùåãî â êîìåíòàðèè è îñíîâíîé êîä.....
 
Òåïëîâ Àëåêñåé Þðüåâè÷ aka <Lrz>
; <Lrz> 20.07.2007 Êîñìåòè÷åñêèå óëó÷øåíèÿ â êîäå ïðîãðàììû, èñïðàâëåí îäèí íåñóùåñòâåííûé áàã.
; <Lrz> 18.05.2007 Óëó÷øåíèå ïîíèìàíèÿ ðàáîòû ïðîãðàììû çà ñ÷åò âûíåñà îñíîâíûõ ôóíêöèé â îòäåëüíûå ìàêðîñû
; <Lrz> 14.05.2007 Èñïîëüçîâàíèå ìàêðîñîâ,óäîáî÷èòàåìîñü ïðîãðàììû èñïîëüçîâàíèå ìàêðîñà mcall äëÿ âûçîâà ñèñ. ôóíêöèé
; <Lrz> 09.05.2007 Îáùàÿ äîðàáîòêà ìàêðîñîâ,çàìåíà íåñêîëüêî ìåòîê, ìèãðàöèÿ êîäà â edit_box.mac
/programs/develop/examples/editbox/trunk/editbox.asm
4,14 → 4,12
;<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:
19,11 → 17,11
align 4
still: ;®á­®¢­®© ®¡à ¡®â稪
mcall 10 ;Ž¦¨¤ âì ᮡëâ¨ï
cmp al,0x1 ;¥á«¨ ¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­ 
dec eax
jz red_win
cmp al,0x2 ;¥á«¨ ­ ¦ â  ª« ¢¨è  â® ¯¥à¥©â¨
dec eax
jz key
cmp al,0x3 ;¥á«¨ ­ ¦ â  ª­®¯ª  â® ¯¥à¥©â¨
dec eax
jz button
mouse_edit_boxes editboxes,editboxes_end
jmp still ;¥á«¨ ­¨ç¥£® ¨§ ¯¥à¥ç¨á«¥­­®£® â® á­®¢  ¢ 横«
56,7 → 54,7
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
/programs/develop/examples/editbox/trunk/editbox.mac
31,9 → 31,9
mov edx,ed_offset
add ebx,2
shl ebx,16
mov bx,ed_top
add ebx,ed_top
mov ecx,ed_text_color
add ebx,4
mov ecx,ed_text_color
add edx,ed_text
mcall
ret
47,20 → 47,19
.draw_bg:
mov ebx,ed_left
add ebx,1
mov edx,ed_color
shl ebx,16
mov bx,ed_width
add ebx,ed_width
sub ebx,1
mov edx,ed_color
.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
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
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,7 → 122,7
mov ecx,ebx
shl ebx,16
mov bx,cx
add bx,ed_width
add ebx,ed_width
mov ecx, ed_top
mov esi,ecx
shl ecx,16
139,7 → 138,7
;--- á«¥¢  ---
mov cx,si
mov ebp,ebx
sub bx,ed_width
sub ebx,ed_width
mcall
;--- á¯à ¢  ---
mov ebx,ebp
534,7 → 533,7
inc ebx
add ebx,ed_left
shl ebx,16
mov bx,6
add ebx,6
mov edx,ebp
call .draw_bg_eax
ret
627,9 → 626,12
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
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 ; ¢ëá®â 
}