/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 è êîãäà áèáëèîòåêà íàõîäèòüñÿ â ïàïêå ñ ïðîãðàììîé. |
/programs/media/scrshoot/scrshoot.asm |
---|
602,10 → 602,10 |
labels_end: |
editboxes: |
edit1 edit_box 300,5,35,cl_white,0xaabbcc,0,0,0,300,ed_buffer.1,ed_focus,10,10 ; ¯ãâì ª ä ©«ã |
edit2 edit_box 35,75,134,cl_white,0xaabbcc,0,0,0,9,ed_buffer.2,ed_figure_only,3,3 ; § ¤¥à¦ª |
edit3 edit_box 35,165,164,cl_white,0xaabbcc,0,0,0,9,ed_buffer.3,ed_figure_only ; ¢â®ã¬¥à æ¨ï |
edit4 edit_box 16,165,181,cl_white,0xaabbcc,0,0,0,1,sign_n_input,ed_figure_only,1 |
edit1 edit_box 300,5,35,cl_white,0xaabbcc,0,0,0,300,ed_buffer.1,mouse_dd,ed_focus,10,10 ; ¯ãâì ª ä ©«ã |
edit2 edit_box 35,75,134,cl_white,0xaabbcc,0,0,0,9,ed_buffer.2,mouse_dd,ed_figure_only,3,3 ; § ¤¥à¦ª |
edit3 edit_box 35,165,164,cl_white,0xaabbcc,0,0,0,9,ed_buffer.3,mouse_dd,ed_figure_only ; ¢â®ã¬¥à æ¨ï |
edit4 edit_box 16,165,181,cl_white,0xaabbcc,0,0,0,1,sign_n_input,mouse_dd,ed_figure_only,1 |
editboxes_end: |
buttons: |
806,6 → 806,7 |
shoot_esp rb 512 ; á⥪ ¯®â®ª ä®âª ìï |
set_rect_window_esp rb 512 ; á⥪ ®ª ®¡« á⨠|
; app_end ; ª®¥æ ¯à®£à ¬¬ë |
mouse_dd rd 1 |
align 4 |
cur_dir_path rb 4096 |
library_path rb 4096 |
/programs/media/scrshoot/srectwin.inc |
---|
264,15 → 264,15 |
rect_input: |
.left edit_box 35,95,5,cl_white,0,0,0,5,rect_input_buffer.left,\ |
ed_figure_only+ed_focus |
mouse_dd1,ed_figure_only+ed_focus |
.top edit_box 35,95,25,cl_white,0,0,0,5,rect_input_buffer.top,\ |
ed_figure_only |
mouse_dd1,ed_figure_only |
.width edit_box 35,95,45,cl_white,0,0,0,5,rect_input_buffer.width,\ |
ed_figure_only |
mouse_dd1,ed_figure_only |
.height edit_box 35,95,65,cl_white,0,0,0,5,rect_input_buffer.height,\ |
ed_figure_only |
mouse_dd1,ed_figure_only |
rect_input_end: |
mouse_dd1 rd 1 |
rect_input_labels: |
.left label 10,10,0,rect_input_labels_text.left |
.top label 10,30,0,rect_input_labels_text.top |
/programs/system/cpu/trunk/cpu.asm |
---|
658,7 → 658,7 |
;aOption_box_mouse db 'option_box_mouse',0 |
;aVersion_op db 'version_op',0 |
edit1 edit_box 350,(64-offset_x),(398-offset_y),0xffffff,0x6f9480,0,0xAABBCC,0,start_application_c,start_application,ed_focus,start_application_e,start_application_e |
edit1 edit_box 350,(64-offset_x),(398-offset_y),0xffffff,0x6f9480,0,0xAABBCC,0,start_application_c,start_application,mouse_dd,ed_focus,start_application_e,start_application_e |
list_start dd 0 |
724,7 → 724,7 |
I_END: |
winxpos rd 1 |
winypos rd 1 |
mouse_dd rd 1 |
cpu_percent rd 1 |
tcolor rd 1 |
list_add rd 1 |
/programs/system/rdsave/trunk/rdsave.asm |
---|
281,7 → 281,7 |
title db appname,version,0 |
editbox: |
edit1 edit_box 170,10,113,0xffffff,0xaabbcc,0,0,0,512,path4,ed_focus,26,26 |
edit1 edit_box 170,10,113,0xffffff,0xaabbcc,0,0,0,512,path4,mouse_dd,ed_focus,26,26 |
editbox_end: |
if lang eq ru |
366,7 → 366,7 |
rb 514 |
sc system_colors |
mouse_dd rd 1 |
cur_dir_path rb 4096 |
library_path rb 4096 |
align 4 |
/programs/system/run/trunk/run.asm |
---|
238,7 → 238,7 |
ret |
run_but txt_button 0,5,15,25,2,0,0,run_but_text, |
input_fn edit_box 0,5,5,0xffffff,0x6a9480,0,0xaaaaaa,0,511,fn,ed_focus+ed_always_focus |
input_fn edit_box 0,5,5,0xffffff,0x6a9480,0,0xaaaaaa,0,511,fn,mouse_dd,ed_focus+ed_always_focus |
;mouse_flag: dd 0x0 |
if lang eq ru |
316,7 → 316,7 |
run_par rb 256 |
par rb 256 |
fn rb 512 |
mouse_dd rd 1 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
cur_dir_path rb 4096 |
library_path rb 4096 |