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;
byte key;
int half_scroll_size;
int scroll_used=0;
mem_Init();
load_dll2(libio, #libio_init,1);
@ -60,7 +61,7 @@ void main()
load_dll2(#abox_lib, #boxlib_init,0);
//load_dll2(libtruetype, #truetype,0);
if (!URL) strcpy(#URL, "/sys/index.htm");
if (!URL) strcpy(#URL, "/sys/home.htm");
strcpy(#editURL, #URL);
Form.width=WIN_W;
@ -115,18 +116,19 @@ void main()
break;
}
IF (lines.all<lines.visible) break;
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) && (m.y<WB1.top+WB1.height-16)
&& (lines.all>lines.visible) while (m.lkm)
if (!m.lkm) scroll_used=0;
if (m.x>=WB1.width-14) && (m.x<=WB1.width+6) && (m.y>WB1.top+16)
&& (m.y<WB1.top+WB1.height-16) && (lines.all>lines.visible) && (m.lkm)
scroll_used=1;
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; //åñëè êóðñîð íàä îêíîì
btn=lines.first; //ñîõðàíÿåì ñòàðîå êîëè÷åñòâî
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 (btn<>lines.first) WB1.ParseHTML(buf); //÷òîá ëèøíèé ðàç íå ïåðåðèñîâûâàòü
m.get();
if (lines.visible+lines.first>lines.all) lines.first=lines.all-lines.visible;
if (btn<>lines.first) WB1.ParseHTML(buf); //÷òîá ëèøíèé ðàç íå ïåðåðèñîâûâàòü
}
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
- исправлен баг со строкой адреса

View File

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

View File

@ -59,6 +59,8 @@
<a href='/sys/index.htm'>Íåçàêðûòûé òåã à - Index.htm<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="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="background.gif">Ôîíîâàÿ êàðòèíêà</a><br>
</font>