Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1382 → Rev 1390

/programs/develop/libraries/box_lib/trunk/tree_list.mac
1,6 → 1,6
; ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj
; ýëåìåíò TreeList äëÿ Kolibri OS
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 23.12.2009 IgorA
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 05.02.2010 IgorA
; íà êîä ïðèìåíåíà GPL2 ëèöåíçèÿ
 
 
317,17 → 317,10
tl_mouse: ;ðåàêöèÿ íà ìûøü
push ebp
mov ebp,esp
push eax ebx ecx edx edi esi
pushad
mov edi,dword[ebp+8]
 
mov eax,37
mov ebx,2
int 0x40
 
bt eax,0 ;left mouse button press
jae .no_draw
 
mov eax,37
mov ebx,1
int 0x40
 
334,24 → 327,34
mov ebx,tl_box_left
shl ebx,16
cmp eax,ebx ;ëåâàÿ ãðàíèöà îêíà
jl .no_in_wnd
jl .test_scroll
 
mov ebx,tl_box_left
add ebx,tl_box_width
shl ebx,16
cmp eax,ebx ;ïðàâàÿ ãðàíèöà îêíà
jg .test_scroll ;.no_in_wnd
jg .test_scroll
 
mov ebx,tl_box_top
add ebx,tl_box_height
cmp ax,bx ;íèæíÿÿ ãðàíèöà îêíà
jg .no_in_wnd
jg .test_scroll
 
sub ebx,tl_box_height
add bx,tl_capt_cy
cmp ax,bx ;âåðõíÿÿ ãðàíèöà îêíà + âûñîòà ïîäïèñè
jl .no_in_wnd
jl .test_scroll
 
push eax ebx
mov eax,37
mov ebx,2
int 0x40
 
bt eax,0 ;left mouse button press
pop ebx eax
jae .no_draw
 
 
mov esi,tl_el_focus
mov dword[esi],edi ;set focus
 
447,6 → 450,12
jne .no_draw ;ïîïàëè íà ñêðîëëèíã - íå ñíèìàåì ôîêóñ ñ TreeList
;-------------------------------------------------------------------------------
.no_in_wnd: ;íå ïîïàëè â îêíî - ïîòåðÿ ôîêóñà (ïðè óñëîâèè ÷òî ôîêóñ áûë íà äàííîì ýåëåìåíòå)
mov eax,37 ;ïðîâåðÿåì íàæàòîñòü ëþáûõ êíîïîê
mov ebx,2
int 0x40
cmp eax,0 ;íè÷å íå íàæàëè eax=0
je .no_draw
 
mov ebx,tl_el_focus
cmp dword[ebx],edi
jne .no_draw ;ýëåìåíò íå â ôîêóñå
456,7 → 465,7
call tl_draw_cursor ;ðèñóåì êóðñîð ñ ïîòåðÿíûì ôîêóñîì
.no_draw:
 
pop esi edi edx ecx ebx eax
popad
pop ebp
ret 4
 
653,6 → 662,13
@@:
 
call tl_draw_cursor
 
mov edi,tl_p_scrol ;ðèñóåì äî÷åðíèé ñêðîëëèíã
cmp edi,0 ;äëÿ òîãî ÷òî-áû åãî íå ïðèøëîñü ðèñîâàòü â ïîëüçîâàòåëüñêîé ïðîãðàììå
je .end_draw ;åñëè íåò ñêðîëëèíãà âûõîäèì
push dword edi
call scroll_bar_vertical.draw
 
.end_draw:
pop esi edi edx ecx ebx eax
pop ebp
2330,7 → 2346,7
; pop ebx
; add esi,ebx
.beg_cycle:
cmp dword[esi],0x65657274 ;0x65657274 = 'tree'
cmp dword[esi],'tree'
jne .no_tree
xor ebx,ebx
mov bx,word[esi+4]
2341,7 → 2357,7
loop .beg_cycle
@@:
 
cmp dword[esi],0x65657274 ;0x65657274 = 'tree'
cmp dword[esi],'tree'
jne .no_tree
bt word[ebp+18],1 ;load in add mode
jc @f
2410,7 → 2426,7
mov esi,dword[ebp+ 8]
mov edi,dword[ebp+12]
@@:
cmp dword[esi],0x65657274 ;0x65657274 = 'tree'
cmp dword[esi],'tree'
jne @f
xor ebx,ebx
mov bx,word[esi+4]