HTMLv 0.97

git-svn-id: svn://kolibrios.org@2895 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2012-07-31 14:44:11 +00:00
parent e838b363d6
commit 77e5190523
4 changed files with 27 additions and 16 deletions

View File

@ -52,6 +52,7 @@ void main()
int btn; int btn;
byte key; byte key;
int half_scroll_size; int half_scroll_size;
int scroll_used=0;
mem_Init(); mem_Init();
load_dll2(libio, #libio_init,1); load_dll2(libio, #libio_init,1);
@ -60,7 +61,7 @@ void main()
load_dll2(#abox_lib, #boxlib_init,0); load_dll2(#abox_lib, #boxlib_init,0);
//load_dll2(libtruetype, #truetype,0); //load_dll2(libtruetype, #truetype,0);
if (!URL) strcpy(#URL, "/sys/index.htm"); if (!URL) strcpy(#URL, "/sys/home.htm");
strcpy(#editURL, #URL); strcpy(#editURL, #URL);
Form.width=WIN_W; Form.width=WIN_W;
@ -115,18 +116,19 @@ void main()
break; break;
} }
IF (lines.all<lines.visible) break; if (!m.lkm) scroll_used=0;
half_scroll_size = WB1.height - 16 * lines.visible / lines.all - 3 /2; if (m.x>=WB1.width-14) && (m.x<=WB1.width+6) && (m.y>WB1.top+16)
if (m.x>=WB1.width-14) && (m.x<=WB1.width+6) && (m.y<WB1.top+WB1.height-16) && (lines.all>lines.visible) && (m.lkm)
&& (m.y>WB1.top+16) && (m.y<WB1.top+WB1.height-16) scroll_used=1;
&& (lines.all>lines.visible) while (m.lkm)
if (scroll_used)
{ {
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;
IF (btn<>lines.first) WB1.ParseHTML(buf); //÷òîá ëèøíèé ðàç íå ïåðåðèñîâûâàòü if (btn<>lines.first) WB1.ParseHTML(buf); //÷òîá ëèøíèé ðàç íå ïåðåðèñîâûâàòü
m.get();
} }
break; break;

View File

@ -1,7 +1,10 @@
16.07.12 - 0.96d 16.07.12 - 0.97
- небольшие улучшения в обработке ссылок и изображений; - небольшие улучшения в обработке ссылок и изображений;
- включение обработки разрывов строк через меню; - включение обработки разрывов строк через меню;
- поддержка цветов вида #abc, улучшения в обработке цветов. - поддержка цветов вида #abc, улучшения в обработке цветов;
- пропадали изображения при начале загрузки страницы;
- исправлен баг 100% загрузки процессора при использовании
скролла (спасибо hidnplayer).
14.07.12 - 0.96 14.07.12 - 0.96
- исправлен баг со строкой адреса - исправлен баг со строкой адреса

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.96d"; char version[]=" Text-based Browser 0.97";
struct TWebBrowser { struct TWebBrowser {
@ -205,10 +205,13 @@ char *ABSOLUTE_LINKS[]={ "http:", "mailto:", "ftp:", "/sys/", "/rd/", "/fd/", "/
//dword TWebBrowser::GetNewUrl(dword CUR_URL, NEW_URL){ //dword TWebBrowser::GetNewUrl(dword CUR_URL, NEW_URL){
void TWebBrowser::GetNewUrl(){ void TWebBrowser::GetNewUrl(){
int i; int i, len;
for (i=0; ABSOLUTE_LINKS[i]; i++) for (i=0; ABSOLUTE_LINKS[i]; i++)
if (!strcmpn(#URL, ABSOLUTE_LINKS[i], strlen(ABSOLUTE_LINKS[i]))) return; {
len=strlen(ABSOLUTE_LINKS[i]);
if (!strcmpn(#URL, ABSOLUTE_LINKS[i], len)) return;
}
IF (!strcmpn(#URL,"./", 2)) strcpy(#URL, #URL+2); //èãíîðèì :) IF (!strcmpn(#URL,"./", 2)) strcpy(#URL, #URL+2); //èãíîðèì :)
if (URL[0] == '/') strcpy(#URL, #URL+1); if (URL[0] == '/') strcpy(#URL, #URL+1);
@ -768,8 +771,9 @@ void TWebBrowser::WhatTextStyle(int left1, top1, width1) {
IMG_TAG: IMG_TAG:
if (!strcmp(#parametr,"src=")) //íàäî îáúåäèíèòü ñ GetNewUrl() if (!strcmp(#parametr,"src=")) //íàäî îáúåäèíèòü ñ GetNewUrl()
{ {
if (!strcmpn(#URL, "http:", 5)) || (!strcmpn(#options, "http:", 5)) return; if (downloader_id!=0) strcpy(#temp, #history_list[history_current-1].Item);
strcpy(#temp, BrowserHistory.CurrentUrl()); //äîñòà¸ì àäðåñ òåêóùåé ñòðàíèöû else strcpy(#temp, BrowserHistory.CurrentUrl()); //äîñòà¸ì àäðåñ òåêóùåé ñòðàíèöû
if (!strcmpn(#temp, "http:", 5)) || (!strcmpn(#options, "http:", 5)) return;
temp[strrchr(#temp, '/')] = 0x00; //îáðåçàåì å¸ óðë äî ïîñëåäíåãî / temp[strrchr(#temp, '/')] = 0x00; //îáðåçàåì å¸ óðë äî ïîñëåäíåãî /
strcat(#temp, #options); strcat(#temp, #options);
image=load_image(#temp); image=load_image(#temp);

View File

@ -59,6 +59,8 @@
<a href='/sys/index.htm'>Íåçàêðûòûé òåã à - Index.htm<br> <a href='/sys/index.htm'>Íåçàêðûòûé òåã à - Index.htm<br>
<a href="/sys/kernel.mnt">Kernel.mnt</a><br> <a href="/sys/kernel.mnt">Kernel.mnt</a><br>
<a href="index.htm#2.1.4">index.htm#2.1.4</a><br> <a href="index.htm#2.1.4">index.htm#2.1.4</a><br>
<a href="http://bash.im">http://bash.im</a><br>
<a href="mailto:leency@mail.ru">Mail to leency</a><br>
<a href="#2.1.4">#2.1.4</a><br> <a href="#2.1.4">#2.1.4</a><br>
<a href="background.gif">Ôîíîâàÿ êàðòèíêà</a><br> <a href="background.gif">Ôîíîâàÿ êàðòèíêà</a><br>
</font> </font>