Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1389 → Rev 1390

/programs/develop/libraries/box_lib/trunk/doc/box_lib.htm
20,7 → 20,7
<li><a href="editbox\info_editbox.htm">editbox</a></li>
<li><a href="checkbox\info_checkbox.htm">checkbox</a></li>
<li>optionbox</li>
<li>scrollbar</li>
<li><a href="scrollbar\scrollbar.htm">scrollbar</a></li>
<li>d_button</li>
<li>menubar</li>
<li>filebrowser</li>
36,6 → 36,6
<p>Èãîðü Àôàíàñüåâ aka IgorA</p>
 
<hr>
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 10.01.10.</p>
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 05.02.10.</p>
</body>
</html>
/programs/develop/libraries/box_lib/trunk/doc/scrollbar/scrollbar.htm
0,0 → 1,93
<html>
<head>
<title>ýëåìåíò Scroll Bar</title>
<meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
<link href="../style.css" type=text/css rel=stylesheet>
</head>
<body>
<p><a href="../box_lib.htm">Íà ãëàâíóþ &uarr;</a></p>
<h1>Îãëàâëåíèå</h1>
<p><a href="#vveden">Ââåäåíèå</a></p>
<p><a href="#funct">Ôóíêöèè</a></p>
<ul>
<li><a href="#fun_v_draw">scrollbar_v_draw</a></li>
<li><a href="#fun_v_mouse">scrollbar_v_mouse</a></li>
<li><a href="#fun_h_draw">scrollbar_h_draw</a></li>
<li><a href="#fun_h_mouse">scrollbar_h_mouse</a></li>
<li><a href="#version">version_ch</a></li>
</ul>
<p><a href="#struc_scrollbar">Ñòðóêòóðà scrollbar</a></p>
 
<h1><a name="vveden">Ââåäåíèå</a></h1>
<p>Ñêðîëëáàð, èñïîëüçóåòñÿ ïðè âûâîäå èíôîðìàöèè, íå ïîìåùàþùåéñÿ â îêíî. Ìîæåò áûòü âåðòèêàëüíûì è ãîðèçîíòàëüíûì.</p>
 
<h1><a name="funct">Ôóíêöèè</a></h1>
 
<h2><a name="fun_v_draw">scrollbar_v_draw</a></h2>
<p>Ðèñîâàíèå âåðòèêàëüíîãî ñêðîëëèíãà.</p>
 
<h2><a name="fun_v_mouse">scrollbar_v_mouse</a></h2>
<p>Ýòà ôóíêöèÿ äîëæíà âûçûâàòñÿ äëÿ âåðòèêàëüíîãî ñêðîëëèíãà ïðè äâèæåíèè ìûøåé.</p>
 
<h2><a name="fun_h_draw">scrollbar_h_draw</a></h2>
<p>Ðèñîâàíèå ãîðèçîíòàëüíîãî ñêðîëëèíãà.</p>
 
<h2><a name="fun_h_mouse">scrollbar_h_mouse</a></h2>
<p>Ýòà ôóíêöèÿ äîëæíà âûçûâàòñÿ äëÿ ãîðèçîíòàëüíîãî ñêðîëëèíãà ïðè äâèæåíèè ìûøåé.</p>
 
<h2><a name="version">version_ch</a></h2>
<p>Âåðñèÿ ýëåìåíòà</p>
 
<h1><a name="struc_scrollbar">Ñòðóêòóðà scrollbar</a></h1>
<p>Ìàêðîñà äëÿ ñîçäàíèÿ ñòðóêòóðû äëÿ ñêðîëëáàðà íåò. Ïîòîìó äàííûå äëÿ íåå çàäàþòñÿ âðó÷íóþ.
Åñòü ìàêðîñ use_scroll_bar îí äàåò âîçìîæíîñòü ïîíÿòü êàêèå äàííûå íóæíû äëÿ ñêðîëëèíãà.</p>
<pre>macro use_scroll_bar
{
scroll_bar:
sb_size_x equ [edi]
sb_start_x equ [edi+ 2]
sb_size_y equ [edi+ 4]
sb_start_y equ [edi+ 6]
sb_btn_high equ [edi+ 8]
sb_type equ [edi+12]
sb_max_area equ [edi+16]
sb_cur_area equ [edi+20]
sb_position equ [edi+24]
sb_bckg_col equ [edi+28]
sb_frnt_col equ [edi+32]
sb_line_col equ [edi+36]
sb_redraw equ [edi+40]
sb_delta equ [edi+44]
sb_delta2 equ [edi+46]
sb_r_size_x equ [edi+48]
sb_r_start_x equ [edi+50]
sb_r_size_y equ [edi+52]
sb_r_start_y equ [edi+54]
sb_m_pos equ [edi+56]
sb_m_pos_2 equ [edi+60]
sb_m_keys equ [edi+64]
sb_run_size equ [edi+68]
sb_position2 equ [edi+72]
sb_work_size equ [edi+76]
sb_all_redraw equ [edi+80]
sb_ar_offset equ [edi+84]
}</pre>
 
<p><b>sb_btn_high</b> - âûñîòà áîêîâûõ êíîïîê (ëåâàÿ è ïðàâàÿ äëÿ ãîðèç. è âåðõíÿÿ è íèæíÿÿ äëÿ âåðò.)</p>
<p><b>sb_type</b> - çàðåçåðâèðîâàíî äëÿ áóäóùèõ òèïîâ, åñëè ñêðîëëáàð áóäåò äîðàáàòûâàòüñÿ.</p>
<p><b>sb_max_area</b> - îáëàñòü ìàêñèìàëüíàÿ, àêòóàëüíî êîãäà íå âëàçèò â
îòîáðàæàåìóþ îáëàñòü, ò.å. ñëó÷àé àêòèâíîñòè êîìïîíåíòà (âåñü ìàêñèìàëüíûé ðàçìåð äîêóìåíòà)</p>
<p><b>sb_cur_area</b> - îáëàñòü îòîáðàæàåìàÿ (êàêàÿ ÷àñòü äîêóìåíòà âëàçèò â ýêðàí)</p>
<p><b>sb_position</b> - ïîçèöèÿ áåãóíêà èçìåíÿåìàÿ îò 0 äî çíà÷åíèÿ (sb_max_area-sb_cur_area)</p>
<p><b>sb_bckg_col</b> - öâåò âíóòðåííèé, ïðèìåíÿåòñÿ äëÿ îáëàñòåé ìåæäó áåãóíêîì è êíîêàìè</p>
<p><b>sb_frnt_col</b> - öâåò íàðóæíûé, ïðèìåíÿåòñÿ äëÿ îáëàñòåé îòëè÷íûõ îò ïðèìåíÿåìûõ â sb_bckg_col</p>
<p><b>sb_line_col</b> - öâåò ëèíèé è ñòðåëîê íà êíîïêàõ</p>
<p><b>sb_redraw</b> - èíäèêàòîð íåîáõîäèìîñòè ïåðåðèñîâêè óïðàâëÿåìîé îáëàñòè ó÷èòûâàÿ èçìåíåíèå sb_position è sb_cur_area</p>
<p><b>sb_delta2</b> - èíäèêàòîð çàõâàòà ôîêóñà ñêðîëëáàðîì (óäåðæàíèå áåãóíêà)</p>
<p><b>sb_all_redraw</b> - ôëàã óñòàíàâëèâàåìûé â 1 äëÿ ïåðåðèñîâêè âñåãî êîìïîíåíòà, åñëè ïîñòàâèòü 0, òî ïåðåðèñîâêà ïðîèñõîäèò òîëüêî äëÿ îáëàñòè áåãóíêà. Ââåäåíî äëÿ óñêîðåíèÿ îòðèñîâêè, ïîñêîëüêó íå âî âñåõ ñëó÷àÿõ òðåáóåòñÿ ïðèíóäèòåüíî îòðèñîâûâàòü âñå ÷àñòè êîìïîíåíòà. Êîãäà âûçûâàåòñÿ ïî ñîáûòèþ ìûøè âñåãäà îòðèñîâûâàåòñÿ ñàìèì êîìïîíåíòîì ñî çíà÷åíèåì 0.</p>
<p><b>sb_ar_offset</b> - âåëè÷èíà ñìåùåíèÿ ïðè îäíîêðàòíîì íàæàòèè áîêîâîé êíîïêè.</p>
 
<hr>
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 05.02.10.</p>
</body>
</html>
/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]