Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 5717 → Rev 5718

/programs/cmm/TWB/TWB.c
64,6 → 64,7
if (!header)
{
ChangeCharset("UTF-8", "CP866", #line);
strcpy(#header, #line);
strcat(#header, " -");
strcat(#header, #version);
585,8 → 586,11
{
strcpy(bufpointer, o_bufpointer);
}
//bufpointer = ChangeCharset(charsets[set_new_encoding], "CP866", bufpointer);
if (set_new_encoding == CH_CP1251)
{
bufpointer = ChangeCharset("CP1251", "UTF-8", bufpointer);
}
}
 
 
void TWebBrowser::DrawScroller()
/programs/cmm/TWB/acid_0.1.htm
1,14 → 1,14
<!--doctype html public "-//w3c//dtd html 4.0 transitional//ru"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Òåñò Acid 0.1</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Тест Acid 0.1</title>
</head>
<body bgcolor="#000000" link="#0066FF" text="#FFFFFF">
<h1 align=center>Ýòî òåñòîâàÿ ñòðàíèöà äëÿ ïðîâåðêè WebViewer</h1>
<h1 align=center>Это тестовая страница для проверки WebViewer</h1>
<br />
<p>WebViewer ÿâëÿåòñÿ òåêñòîâûì áðàóçåðîì è ïîääåðæèâàåò âñå ïîïóëÿðíûå êîäèðîâêè (cp1251, koi-8, cp866, unicode)
è íåêîòîðûå òåãè. Ïîääåðæêà òàáëèèö (&lt;table&gt;), CSS, Javascript'a è Êîíòàêòèêà ïîêà íå ðåàëèçîâàíà :)
<p>WebViewer является текстовым браузером и поддерживает все популярные кодировки (cp1251, koi-8, cp866, unicode)
и некоторые теги. Поддержка таблииц (&lt;table&gt;), CSS, Javascript'a и Контактика пока не реализована :)
</p>
<br />
 
34,33 → 34,33
<br>
 
<p>
Íåáîëüøîé ñïèñîê:<ol>
<li><q>Ýòîò òåêñò â êàâû÷êàõ</q></li>
<li><u>Ýòî ïîä÷åðêíóòûé òåêñò</u></li>
<li><s>Ýòî ïåðå÷åðêíóòûé òåêñò</s></li>
<li><i>Ýòî íàêëîííûé òåêñò</i></li>
<li><strong>Ýòî òåêñò ñ óñèëåííûì âûäåëåíèåì</strong></li>
<li><b><u><s><font color="#777444">Ìíîãî òåãîâ</font></s></u></b></ol>
Небольшой список:<ol>
<li><q>Этот текст в кавычках</q></li>
<li><u>Это подчеркнутый текст</u></li>
<li><s>Это перечеркнутый текст</s></li>
<li><i>Это наклонный текст</i></li>
<li><strong>Это текст с усиленным выделением</strong></li>
<li><b><u><s><font color="#777444">Много тегов</font></s></u></b></ol>
</p>
<br>
 
<pre>
"Îñåíü óæå ïðèøëà!"-
Øåïíóë ìíå íà óõî âåòåð,
Ïîäêðàâøèñü ê ïîäóøêå ìîåé.
"Осень уже пришла!"-
Шепнул мне на ухо ветер,
Подкравшись к подушке моей.
 
Áàñå
Басе
</pre>
<!-- êîììåíòàðèé: ýòîãî òåêñòà çäåñü <íåò> -->
<!-- комментарий: этого текста здесь <нет> -->
 
<br>
 
<a href="http://kolibrios.org/i/logo.png"><img id="2.1.4" src="http://kolibrios.org/i/logo.png" alt="logo"><br>Îòêðûòü</a><br>
<a href="http://kolibrios.org/i/logo.png"><img id="2.1.4" src="http://kolibrios.org/i/logo.png" alt="logo"><br>Открыть</a><br>
 
<br>
<br>
<a href='./index.htm'>./index.htm</a><br>
<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="#2.1.4">#2.1.4</a><br>
<a href="http://bash.im">http://bash.im</a><br>
68,20 → 68,20
<br>
<br>
 
 ýòîì òåêñòå åñòü ïåðåõîä íà ñëåäóþùóþ ñòðîêó, íî áðàóçåð
åãî äîëæåí ïðîèãíîðèðîâàòü. Åùå ìíîãî ïðîáåëîâ. À òóò åñòü
òàáû. Êîå-êàêèå ñèìâîëû: &quot; &amp; &lt; &gt; &#149;
&nbsp; &copy; &reg; &bdquo; &ldquo; &#151; ¯æà÷îê ³íøîãî áîêó ð. ªâôðàò ç'¿â ´ðóíò òà ºâðåéñüêèé ´åðáàëàéô.
В этом тексте есть переход на следующую строку, но браузер
его должен проигнорировать. Еще много пробелов. А тут есть
табы. Кое-какие символы: &quot; &amp; &lt; &gt; &#149;
&nbsp; &copy; &reg; &bdquo; &ldquo; &#151; Їжачок іншого боку р. Євфрат з'їв ґрунт та єврейський ґербалайф.
<condition show_if=1>
<p>61055,&nbsp; &#1075;.
&#1061;&#1072;&#1088;&#1100;&#1082;&#1086;&#1074;, &#1091;&#1083;.&nbsp; &#1050;&#1088;&#1072;&#1089;&#1085;&#1086;&#1079;&#1085;&#1072;&#1084;&#1077;&#1085;&#1085;&#1072;&#1103;, 16</SPAN>,&nbsp; &#1088;&#1072;&#1076;&#1080;&#1086;&#1092;&#1080;&#1079;&#1080;&#1095;&#1077;&#1089;&#1082;&#1080;&#1081;
&#1082;&#1086;&#1088;&#1087;&#1091;&#1089; &#1085;&#1072; &#1090;&#1077;&#1088;&#1088;&#1080;&#1090;&#1086;&#1088;&#1080;&#1080; &#1053;&#1058;&#1059; «&#1061;&#1055;&#1048;»
&#1082;&#1086;&#1088;&#1087;&#1091;&#1089; &#1085;&#1072; &#1090;&#1077;&#1088;&#1088;&#1080;&#1090;&#1086;&#1088;&#1080;&#1080; &#1053;&#1058;&#1059; «&#1061;&#1055;&#1048;»
</p>
</condition>
 
<hr color="#758999">
<center>Zhitomyr 2008-2014</center>
<center>Zhitomyr 2008-2015</center>
 
 
</body>
/programs/cmm/TWB/img_cache.h
9,7 → 9,7
struct ImageCache {
int pics_count;
void Free();
int GetImageNumber();
int GetImage();
void Images();
};
 
22,7 → 22,7
}
}
 
int ImageCache::GetImageNumber(dword i_path)
int ImageCache::GetImage(dword i_path)
{
int i;
for (i=0; i<=pics_count; i++) if (!strcmp(#pics[i].path, i_path)) return i; //image exists
43,10 → 43,15
do{
if (!strcmp(#parametr,"src=")) //íàäî îáúåäèíèòü ñ GetNewUrl()
{
if (http_transfer<>0) strcpy(#img_path, #history_list[BrowserHistory.current-1].Item); else
if (http_transfer!=0)
strcpy(#img_path, #history_list[BrowserHistory.current-1].Item);
else
{
//if (strcmp(#options))
strcpy(#img_path, #options);
}
PageLinks.GetAbsoluteURL(#img_path);
cur_pic = GetImageNumber(#img_path);
cur_pic = GetImage(#img_path);
}
if (!strcmp(#parametr,"alt="))
{
67,17 → 72,17
imgh = DSWORD[pics[cur_pic].image+8];
if (imgw > width1) imgw = width1;
if (stroka==0) DrawBar(WB1.list.x, WB1.list.y, WB1.list.w-15, 5, bg_color); //çàêðàøèâàåì ïåðâóþ ñòðîêó
if (stroka==0) DrawBar(WB1.list.x, WB1.list.y, WB1.list.w-15, 5, bg_color); //fill first line
stroka += imgh / WB1.list.line_h;
if (imgh % WB1.list.line_h) stroka++;
if (top1+imgh<WB1.list.y) || (top1>WB1.list.y+WB1.list.h-10) return; //åñëè ÂѨ èçîáðàæåíèå óøëî ÂÅÐÕ èëè ÂÍÈÇ
if (top1<WB1.list.y) //åñëè ÷àñòü èçîáðàæåíèÿ ñâåðõó
if (top1+imgh<WB1.list.y) || (top1>WB1.list.y+WB1.list.h-10) return; //if all image is out of visible area
if (top1<WB1.list.y) //if image partly visible (at the top)
{
img_lines_first=WB1.list.y-top1;
imgh=imgh-img_lines_first;
top1=WB1.list.y;
}
if (top1>WB1.list.y+WB1.list.h-imgh-5) //åñëè ÷àñòü èçîáðàæåíèÿ ñíèçó
if (top1>WB1.list.y+WB1.list.h-imgh-5) //if image partly visible (at the bottom)
{
imgh=WB1.list.y+WB1.list.h-top1-5;
}
87,7 → 92,7
img_draw stdcall (pics[cur_pic].image, left1-5, top1, imgw, imgh,0,img_lines_first);
DrawBar(left1+imgw - 5, top1, WB1.list.w-imgw, imgh, bg_color);
DrawBar(WB1.list.x, top1+imgh, WB1.list.w, -imgh % WB1.list.line_h + WB1.list.line_h, bg_color);
IF (link)
if (link)
{
UnsafeDefineButton(left1 - 5, top1, imgw, imgh-1, PageLinks.count + 400 + BT_HIDE, 0xB5BFC9);
PageLinks.AddText(0, imgw, imgh-1, NOLINE);
/programs/cmm/TWB/links.h
24,7 → 24,8
dword GetURL();
void Clear();
void GetAbsoluteURL();
};
int UrlAbsolute();
} PageLinks;
 
void LinksArray::AddLink(dword new_link, int link_x, link_y)
{
98,18 → 99,33
}
}
 
char *ABSOLUTE_LINKS[]={ "http:", "mailto:", "ftp:", "/sys/",
"/kolibrios/", "/rd/", "/bd", "/hd", "/cd", "/tmp", "/usbhd", "WebView:", 0};
void LinksArray::GetAbsoluteURL(dword in_URL){
int i, len;
int LinksArray::UrlAbsolute(dword in_URL)
{
if(!strncmp(in_URL,"http:",5)) return 1;
if(!strncmp(in_URL,"https:",6)) return 1;
if(!strncmp(in_URL,"mailto:",7)) return 1;
if(!strncmp(in_URL,"ftp:",4)) return 1;
if(!strncmp(in_URL,"WebView:",8)) return 1;
if(!strncmp(in_URL,"/sys/",5)) return 1;
if(!strncmp(in_URL,"/hd/",4)) return 1;
if(!strncmp(in_URL,"/fd/",4)) return 1;
if(!strncmp(in_URL,"/rd/",4)) return 1;
if(!strncmp(in_URL,"/tmp/",5)) return 1;
if(!strncmp(in_URL,"/cd/",4)) return 1;
if(!strncmp(in_URL,"/bd/",4)) return 1;
if(!strncmp(in_URL,"/usbhd/",7)) return 1;
if(!strncmp(in_URL,"/kolibrios/",11)) return 1;
return 0;
}
 
void LinksArray::GetAbsoluteURL(dword in_URL)
{
int i;
dword orig_URL = in_URL;
char newurl[sizeof(URL)];
for (i=0; ABSOLUTE_LINKS[i]; i++)
{
len=strlen(ABSOLUTE_LINKS[i]);
if (!strcmpn(in_URL, ABSOLUTE_LINKS[i], len)) return;
}
if (UrlAbsolute(in_URL)) return;
IF (!strcmpn(in_URL,"./", 2)) in_URL+=2;
strcpy(#newurl, BrowserHistory.CurrentUrl());
 
141,5 → 157,3
}
 
 
 
LinksArray PageLinks;