Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1213 → Rev 1214

/programs/develop/libraries/box_lib/asm/trunk/editbox_ex.asm
151,8 → 151,8
check1 check_box 10,45,6,12,0x80AABBCC,0,0,check_text,14,ch_flag_en
check2 check_box 10,60,6,12,0x80AABBCC,0,0,check_text2,15
 
edit1 edit_box 350,3,5,0xffffff,0x6f9480,0,0xAABBCC,0,308,hed,ed_focus,hed_end-hed-1,hed_end-hed-1
edit2 edit_box 350,3,25,0xffffff,0x6a9480,0,0,0,99,ed_buffer,ed_figure_only
edit1 edit_box 350,3,5,0xffffff,0x6f9480,0,0xAABBCC,0,308,hed,mouse_dd,ed_focus,hed_end-hed-1,hed_end-hed-1
edit2 edit_box 350,3,25,0xffffff,0x6a9480,0,0,0,99,ed_buffer,mouse_dd,ed_figure_only
 
op1 option_box option_group1,10,90,6,12,0xffffff,0,0,op_text.1,op_text.e1-op_text.1
op2 option_box option_group1,10,105,6,12,0xFFFFFF,0,0,op_text.2,op_text.e2-op_text.2
180,6 → 180,8
ed_buffer rb 100
;-----------------------
;sc system_colors
 
mouse_dd rd 1
p_info process_information
cur_dir_path rb 4096
library_path rb 4096
/programs/develop/libraries/box_lib/asm/trunk/editbox_ex.mac
1,6 → 1,6
ed_struc_size=72
ed_struc_size=76
struc edit_box width,left,top,color,shift_color,focus_border_color,\
blur_border_color,text_color,max,text,flags,size,pos
blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
{
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Bit mask from editbox
37,6 → 37,7
.text_color dd text_color
.max dd max
.text dd text
.mouse_variable dd mouse_variable
.flags dd flags+0
.size dd size+0
.pos dd pos+0
/programs/develop/libraries/box_lib/trunk/box_lib.asm
25,19 → 25,19
;----------------------------------------------------
;EditBox
;----------------------------------------------------
align 4
align 16
use_editbox_draw ;macro reveals the function of the display.
align 4
align 16
use_editbox_key ;macro reveals processing function of the keypad.
align 4
align 16
use_editbox_mouse ;macro reveals processing function of the mouse.
 
;----------------------------------------------------
;CheckBox
;----------------------------------------------------
align 4
align 16
use_checkbox_draw ;macro reveals the function of the display.
align 4
align 16
use_checkbox_mouse ;macro reveals processing function of the mouse.
 
 
44,41 → 44,42
;--------------------------------------------------
;radiobutton Group
;--------------------------------------------------
align 4
align 16
use_optionbox_driver ;macro that control the operating modes
align 4
align 16
use_optionbox_draw ;macro reveals the function of the display.
align 4
align 16
use_optionbox_mouse ;macro reveals processing function of the mouse.
 
;--------------------------------------------------
;scrollbar Group
;--------------------------------------------------
align 4
align 16
use_scroll_bar
align 4
align 16
use_scroll_bar_vertical
align 4
align 16
use_scroll_bar_horizontal
 
;--------------------------------------------------
;dinamic button Group
;--------------------------------------------------
align 4
align 16
use_dinamic_button
 
;--------------------------------------------------
;menubar Group
;--------------------------------------------------
align 4
align 16
use_menu_bar
 
;--------------------------------------------------
;filebrowser Group
;--------------------------------------------------
align 4
align 16
use_file_browser
;--------------------------------------------------
;align 16
init:
ret
 
85,8 → 86,8
;;;;;;;;;;;
;;Data
;;;;;;;;;;;
align 4
mouse_flag dd 0x0
;align 16
;mouse_flag dd 0x0
 
 
align 16
/programs/develop/libraries/box_lib/trunk/checkbox.mac
111,9 → 111,9
jc check_box_mouse_end ;åñëè CF=1 òî ïåðåéòè â êîíåö ò.å. ýòî âûõîä
mov esi,dword ch_text_length ;çàãðóçèòü êîë-âî ñèìâîëîâ â òåêñòîâîé ñòðîêå
;Óìíîæåíèå íà 6 Áûñòðîå óìíîæåíèå ìîæíî âîñïîëüçîâàòüñÿ ëþáûì ìç ìåòîäîâ, íî íà ñòàðûõ Ïðîöåññîðàõ (386,486,P1)áûñòðåå áóäåò ñ èíñòðóêöèåé Lea
;lea esi,[eax*2+eax]
;shl eax,1
imul esi,6 ; èëè ìîæíî è òàê óìíîæèòü íà 6
lea esi,[eax*3]
shl esi,1
; imul esi,6 ; èëè ìîæíî è òàê óìíîæèòü íà 6
add esi,dword ch_text_margin ;äîáàâèòü 3 - ðàññòîÿíèå îò ÷åê áîêñà äî íàäïèñè
 
mov eax,37 ;ïîëó÷èì êîîðäèíàòû ìûøêè
/programs/develop/libraries/box_lib/trunk/editbox.mac
1,6 → 1,15
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Basic macros for use editbox ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
macro init_editbox
{
pushad
mcall
 
popad
}
 
 
macro use_editbox_draw
{
edit_box:
14,14 → 23,15
ed_text_color equ [edi+28] ;梥â ⥪áâ 
ed_max equ [edi+32] ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦­® ¬ ªá¨¬ «ì­® ¢¢¥áâ¨
ed_text equ [edi+36] ;㪠§ â¥«ì ­  ¡ãä¥à
ed_flags equ [edi+40] ;ä« £¨
ed_size equ [edi+44] ;ª®«-¢® ᨬ¢®«®¢
ed_pos equ [edi+48] ;¯®§¨æ¨ï ªãàá®à 
ed_offset equ [edi+52] ;ᬥ饭¨¥
cl_curs_x equ [edi+56] ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® å
cl_curs_y equ [edi+60] ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® ã
ed_shift_pos equ [edi+64] ;¯®«®¦¥­¨¥ ªãàá®à 
ed_shift_pos_old equ [edi+68] ;áâ à®¥ ¯®«®¦¥­¨¥ ªãàá®à 
ed_mouse_variable equ [edi+40] ; 㪠§ â¥«ì ­  ¯¥à¥¬¥­­ãî ¤«ï ¡®ªá /£à㯯ë
ed_flags equ [edi+44] ;ä« £¨
ed_size equ [edi+48] ;ª®«-¢® ᨬ¢®«®¢
ed_pos equ [edi+52] ;¯®§¨æ¨ï ªãàá®à 
ed_offset equ [edi+56] ;ᬥ饭¨¥
cl_curs_x equ [edi+60] ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® å
cl_curs_y equ [edi+64] ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® ã
ed_shift_pos equ [edi+68] ;¯®«®¦¥­¨¥ ªãàá®à 
ed_shift_pos_old equ [edi+72] ;áâ à®¥ ¯®«®¦¥­¨¥ ªãàá®à 
 
ed_figure_only= 1000000000000000b ;®¤­¨ ᨬ¢®«ë
ed_always_focus= 100000000000000b
62,7 → 72,7
;--- à¨á㥬 ªãàá®à ---
;--- ¬®¦¥â ¥£® ­¥ ­ ¤® à¨á®¢ âì ----
test word ed_flags,ed_focus
je @f
jz @f
call .draw_cursor
@@:
call .draw_text
138,14 → 148,18
test eax,1
jnz edit_box_mouse.mouse_left_button
and word ed_flags,ed_mouse_on_off
xor ebx,ebx
mov dword [mouse_flag],ebx
mov ebx,dword ed_mouse_variable
push 0
pop dword [ebx]
; mov dword [ebx],ebx
jmp edit_box.editbox_exit
.mouse_left_button:
;----------------------------------------------------------
;--- ¡«®ª¨à®¢ª  ®â 䮪ãá¨à®¢ª¨ ¢ ¤àã£¨å ¡®ªá å ¯à¨ ¯®¯ ¤ ­¨¨ ­  ­¨å ªãàá®à 
;----------------------------------------------------------
mov eax,dword [mouse_flag]
mov eax,dword ed_mouse_variable
push dword [eax]
pop eax
test eax,eax
jz @f
cmp eax,edi
435,7 → 449,8
push ebx ;¡®«ì襥
jmp edit_box_key.sh_n1
;¥á«¨ ¨­ ç¥
edit_box_key.sh_n: push ebx
edit_box_key.sh_n:
push ebx
push eax
edit_box_key.sh_n1:
call edit_box.check_offset
920,7 → 935,8
stosb
;--------
loop @b
edit_box_key.In_k: cld
edit_box_key.In_k:
cld
pop eax
mov al,ah
stosb
1015,7 → 1031,8
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;--- ­ ¦ â  ª« ¢¨è  left ---
edit_box_key.left: mov ebx,ed_pos
edit_box_key.left:
mov ebx,ed_pos
test ebx,ebx
jz edit_box_key.sh_st_of
or word ed_flags,ed_left_fl
1025,7 → 1042,8
jmp edit_box.draw_cursor_text
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;--- ­ ¦ â  ª« ¢¨è  right ---
edit_box_key.right: mov ebx,ed_pos
edit_box_key.right:
mov ebx,ed_pos
cmp ebx,ed_size
je edit_box_key.sh_st_of
and word ed_flags,ed_right_fl
1218,7 → 1236,16
mov dword ed_shift_pos,eax
or word ed_flags,ed_mouse_on
mov dword ed_pos,eax
mov dword [mouse_flag],edi ;ãáâ ­®¢¨¬ ¨¤¥­â¨ä¨ª â®à
 
; mov dword [mouse_flag],edi ;ãáâ ­®¢¨¬ ¨¤¥­â¨ä¨ª â®à
 
mov ebx,dword ed_mouse_variable
push edi
pop dword [ebx]
 
 
 
 
bts word ed_flags,1 ;ãáâ ­®¢ª  䮪ãá 
jmp edit_box_mouse.m_sh
@@:
1229,7 → 1256,8
mov ebx,dword ed_shift_pos
call edit_box_key.sh_cl_
or word ed_flags,ed_mous_adn_b ;ãáâ ­®¢¨¬ ¡¨â çâ® ¬ë ¢ë¤¥«¨«¨ +shift_on +
edit_box_mouse.m_sh: call edit_box.draw_text
edit_box_mouse.m_sh:
call edit_box.draw_text
call edit_box.draw_cursor
;----------------------------------------------------------
;--- ¯à®æ¥¤ãà  ãáâ ­®¢ª¨ 䮪ãá  ---------------------------
1350,9 → 1378,9
ed_height=24 ; ¢ëá®â 
}
 
ed_struc_size=72
ed_struc_size=76
struc edit_box width,left,top,color,shift_color,focus_border_color,\
blur_border_color,text_color,max,text,flags,size,pos
blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
{
.width dd width
.left dd left
1364,6 → 1392,7
.text_color dd text_color
.max dd max
.text dd text
.mouse_variable dd mouse_variable
.flags dd flags+0
.size dd size+0
.pos dd pos+0
/programs/develop/libraries/box_lib/trunk/readme.txt
1,6 → 1,15
<Lrz> Òåïëîâ Àëåêñåé, ×åëÿáèíñê.
Ïðèìåð ïðîñòîãî èñïîëüçîâàíèÿ editbox â áèáëèîòåêå,
EditBox ïåðåïèñàí äëÿ ðàáîòû â áèáëèîòåêå.
Äàòà 14.10.2009
Áèáëèîòåêà ïîëüíîñòüþ ðååíòåðàáåëüíà. Äëÿ edit_box íåîáõîäèîì âíåñòè â òåêóùåì ïðèëîæåíèè ïåðåìåííóþ òèïà mouse_dd dd ?
à â ñòðóêòóðå ìàêðîñà áîêñà äîáàâèòü 1 ýëåìåíò <óêàçàòåëü íà ïåðåìåííóþ mouse_dd>
ed_struc_size=76
struc edit_box width,left,top,color,shift_color,focus_border_color,\
blur_border_color,text_color,max,text,<óêàçàòåëü íà ïåðåìåííóþ mouse_dd>,flags,size,pos
 
 
 
Äàòà 25.06.2008
ñäåëàíà ïîääåðæêà çàïóñêà àññåìáëåðíîãî ïðèìåðà ïðè ðàñïîëîæåíèè òåêóùåé áèáëèîòåêè ïî 2-ì ìåñòàì
1. /sys/lib/box_lib.obj è êîãäà áèáëèîòåêà íàõîäèòüñÿ â ïàïêå ñ ïðîãðàììîé.