HTMLv 0.99.02: scroll bug fixed

git-svn-id: svn://kolibrios.org@3477 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2013-04-20 21:31:47 +00:00
parent 2d22e5927b
commit 72bcc9e95d
2 changed files with 16 additions and 12 deletions

View File

@ -88,7 +88,7 @@ void main()
};*/ };*/
btn=GetProcessSlot(Form.ID); btn=GetProcessSlot(Form.ID);
IF (btn<>GetActiveProcess()) break; //åñëè îêíî íå àêòèâíî íà ñîáûòèÿ ìûøè íå ðåàãèðóåì if (btn<>GetActiveProcess()) break; //åñëè îêíî íå àêòèâíî íà ñîáûòèÿ ìûøè íå ðåàãèðóåì
edit_box_mouse stdcall (#address_box); edit_box_mouse stdcall (#address_box);
@ -97,19 +97,20 @@ void main()
if (m.pkm) && (m.y>WB1.top) && (m.y<Form.height) && (filesize) if (m.pkm) && (m.y>WB1.top) && (m.y<Form.height) && (filesize)
{ {
SwitchToAnotherThread(); SwitchToAnotherThread();
CreateThread(#menu_rmb,#stak); CreateThread(#menu_rmb,#stak);
break;
} }
IF (m.vert==65535) //ïðîêðóòêà êîë¸ñèêîì if (m.vert==65535) //ïðîêðóòêà êîë¸ñèêîì
{ {
IF (lines.first==0) break; if (lines.first==0) break;
IF (lines.first>3) lines.first-=2; ELSE lines.first=1; if (lines.first>3) lines.first-=2; ELSE lines.first=1;
WB1.Scan(ID1); WB1.Scan(ID1);
break; break;
} }
IF (m.vert==1) if (m.vert==1)
{ {
IF(lines.visible+lines.first+3>=lines.all) WB1.Scan(181); if(lines.visible+lines.first+3>=lines.all) WB1.Scan(181);
ELSE { ELSE {
lines.first+=2; lines.first+=2;
WB1.Scan(ID2); WB1.Scan(ID2);
@ -118,14 +119,17 @@ void main()
} }
if (!m.lkm) scroll_used=0; if (!m.lkm) scroll_used=0;
if (m.x>=WB1.width-14) && (m.x<=WB1.width+6) && (m.y>WB1.top+16) if (m.x>=scroll1.start_x) && (m.x<=scroll1.start_x+scroll1.size_x)
&& (m.y<WB1.top+WB1.height-16) && (lines.all>lines.visible) && (m.lkm) && (m.y>=scroll1.start_y+scroll1.btn_height) && (-scroll1.btn_height+scroll1.start_y+scroll1.size_y>m.y)
scroll_used=1; && (lines.all>lines.visible) && (m.lkm)
{
scroll_used=1;
}
if (scroll_used) if (scroll_used)
{ {
half_scroll_size = WB1.height - 16 * lines.visible / lines.all - 3 /2; half_scroll_size = WB1.height - 16 * lines.visible / lines.all - 3 /2;
IF (half_scroll_size+WB1.top>m.y) || (m.y<0) || (m.y>4000) m.y=half_scroll_size+WB1.top; //åñëè êóðñîð íàä îêíîì if (half_scroll_size+WB1.top>m.y) || (m.y<0) || (m.y>4000) m.y=half_scroll_size+WB1.top; //åñëè êóðñîð íàä îêíîì
btn=lines.first; //ñîõðàíÿåì ñòàðîå êîëè÷åñòâî btn=lines.first; //ñîõðàíÿåì ñòàðîå êîëè÷åñòâî
lines.first = m.y -half_scroll_size -WB1.top * lines.all / WB1.height; lines.first = m.y -half_scroll_size -WB1.top * lines.all / WB1.height;
if (lines.visible+lines.first>lines.all) lines.first=lines.all-lines.visible; if (lines.visible+lines.first>lines.all) lines.first=lines.all-lines.visible;

View File

@ -8,7 +8,7 @@ dword
char download_path[]="/rd/1/.download"; char download_path[]="/rd/1/.download";
char search_path[]="http://nigma.ru/index.php?s="; char search_path[]="http://nigma.ru/index.php?s=";
char version[]=" Text-based Browser 0.99.01"; char version[]=" Text-based Browser 0.99.02";
struct TWebBrowser { struct TWebBrowser {