Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2817 → Rev 2818

/programs/network/htmlv/browser/TWB.h
9,7 → 9,7
 
char download_path[]="/rd/1/.download";
char search_path[]="http://nigma.ru/index.php?s=";
char version[]=" Text-based Browser 0.94b";
char version[]=" Text-based Browser 0.94c";
 
 
struct TWebBrowser {
25,7 → 25,8
 
TWebBrowser WB1;
 
byte rez, b_text, i_text, u_text, s_text, pre_text, blq_text, li_text, link, ignor_text, li_tab, body_present;
byte rez, b_text, i_text, u_text, s_text, pre_text, blq_text, li_text,
link, ignor_text, li_tab, first_line_drawed;
 
 
dword text_colors[30],
294,7 → 295,7
 
void TWebBrowser::ParseHTML(dword bword, fsize){
word bukva[1];
int j;
int j, perenos_num;
byte ignor_param = 0;
char temp[768];
304,7 → 305,7
for (j = 400; j < blink + 1; j++;) DeleteButton(j);
blink = 400;
 
b_text = i_text = u_text = s_text = pre_text = blq_text = body_present =
b_text = i_text = u_text = s_text = pre_text = blq_text = first_line_drawed =
li_text = link = ignor_text = text_color_index = text_colors[0] = li_tab = 0; //îáíóëÿåì òåãè
link_color = 0x0000FF;
bg_color = 0xFFFFFF;
311,23 → 312,24
line = '';
strcpy(#page_links,"|");
strcpy(#header,#version);
if (!strcmp(#URL + strlen(#URL) - 4, ".txt"))
{
DrawBar(left, top, width-15, 15, bg_color); //çàêðàøèâàåì ïåðâóþ ñòðîêó
pre_text = 1; //çà÷¸òíîå îòîáðàæåíèå òåêñòà
}
 
if (!strcmp(#URL + strlen(#URL) - 4, ".txt")) pre_text = 1;
if (!strcmp(#URL + strlen(#URL) - 4, ".mht")) ignor_text = 1;
for (bword = buf; buf + fsize > bword; bword++;) {
debug("Start parsing");
for ( ; buf+fsize > bword; bword++;) {//ESBYTE[bword]
bukva = ESBYTE[bword];
switch (bukva) {
case 0x0a:
IF(pre_text == 1) {
if (pre_text)
{
bukva = '';
temp = '';
goto NEXT_MARK;
}
case '\9':
if (pre_text == 1) //èíà÷å èä¸ì íà 0x0d
if (pre_text) //èíà÷å èä¸ì íà 0x0d
{
tab_len=strlen(#line)/8;
tab_len=tab_len*8;
344,10 → 346,14
{
bword++;
if (ESBYTE[bword] == '-') {
HH_: do {
HH_:
do
{
bword++;
IF(bword >= buf + fsize) break 1;
} while (ESBYTE[bword] <>'-');
if (bword >= buf + fsize) break 1;
}
while (ESBYTE[bword] <>'-');
bword++;
if (ESBYTE[bword] <>'-') goto HH_;
}
420,25 → 426,24
break;
default:
DEFAULT_MARK:
IF(ignor_text) break;
IF(!pre_text) && (bukva == ' ') && (!strcmp(#line + strlen(#line) - 1, " ")) continue;
if (ignor_text) break;
if (!pre_text) && (bukva == ' ') && (line[strlen(#line)-1]==' ') break;
//
if (stolbec + strlen(#line) >lines.column_max)
{
strcpy(#temp, #line + find_symbol(#line, ' ')); //ïåðåíîñ ïî ñëîâàì
line[find_symbol(#line, ' ')] = 0x00;
perenos_num = find_symbol(#line, ' ');
strcpy(#temp, #line + perenos_num); //ïåðåíîñ ïî ñëîâàì
line[perenos_num] = 0x00;
NEXT_MARK:
IF(stroka - 1 > lines.visible) && (lines.first <>0) break 1; //óõîäèì...
if (stroka >= lines.visible) && (lines.first <>0) break 1; //óõîäèì...
WhatTextStyle(left + 5, stroka * 10 + top + 5, width - 20); //âûâîä ñòðîêè
TextGoDown(left + 5, stroka * 10 + top + 5, width - 20); //çàêðàøèâàåì ñëåäóùóþ ñòðîêó
strcpy(#line, #temp);
}
if (!pre_text) && (bukva == ' ') && (!stolbec) && (!line) CONTINUE;
if (!pre_text) && (bukva == ' ') && (!stolbec) && (!line) break;
strcat(#line, #bukva);
}
}
if (strcmp(#URL + strlen(#URL) - 4, ".txt")<>0) && (!body_present)
DrawBar(left, top, width-15, 15, bg_color); //çàêðàøèâàåì ïåðâóþ ñòðîêó åñëè êàêîé-òî ðàõèò íå ñîçäàë òåã áîäè
 
if (lines.visible * 10 + 25 <= height)
DrawBar(left, lines.visible * 10 + top + 25, width - 15, -lines.visible * 10 + height - 25, bg_color);
453,6 → 458,7
ParseHTML(buf, filesize);
}
 
debug("End parsing");
DrawScroller(); //ðèñóåì ñêðîëë
}
 
541,7 → 547,13
//âûâîä íà ýêðàí
if (stroka >= 0) && (stroka - 2 < lines.visible) && (line) && (!anchor)
{
if (stroka==0) && (stolbec==0)
{
DrawBar(left, top, width-15, 15, bg_color); //çàêðàøèâàåì ïåðâóþ ñòðîêó
first_line_drawed=1;
}
WriteText(stolbec * 6 + left1, top1, 0x80, text_colors[text_color_index], #line, 0); //ìîæåò òóò ðèñîâàòü áåëóþ ñòðîêó?
//text_out stdcall (#line, -1, 16, text_colors[text_color_index], stolbec * 6 + left1, top1);
IF (b_text) { $add ebx, 1<<16 $int 0x40 }
IF (i_text) Skew(stolbec * 6 + left1, top1, strlen(#line)+1*6, 10); //íàêëîííûé òåêñò
IF (s_text) DrawBar(stolbec * 6 + left1, top1 + 4, strlen(#line) * 6, 1, text_colors[text_color_index]); //çà÷¸ðêíóòûé
585,9 → 597,6
GOTO BODY_MARK;
}
body_present = 1; //åñëè êàëè÷ íå ñîçäàë òåã áîäè íóæíî èçâðàùàòüñÿ
 
if (rez) DrawBar(WB1.left, WB1.top, WB1.width-15, 15, bg_color); //çàêðàøèâàåì ïåðâóþ ñòðîêó
return;
}
//////////////////////////
794,10 → 803,15
 
void TextGoDown(int left1, top1, width1)
{
if (!stroka) && (!stolbec) && (!first_line_drawed)
{
DrawBar(WB1.left, WB1.top, WB1.width-15, 15, bg_color); //çàêðàøèâàåì ïåðâóþ ñòðîêó
first_line_drawed=1;
}
stroka++;
IF(blq_text == 1) stolbec = 8;
if (blq_text) stolbec = 8;
ELSE stolbec = 0;
IF(li_text == 1) stolbec = li_tab * 5;
if (li_text) stolbec = li_tab * 5;
IF(stroka >= 0) && (stroka - 2 < lines.visible) && (!anchor) DrawBar(left1 - 5, top1 + 10, width1 + 5, 10, bg_color);
}
 
814,7 → 828,4
scroll1.size_y=WB1.height;
 
scrollbar_v_draw(#scroll1);
 
DefineButton(scroll1.start_x+1, scroll1.start_y+1, 16, 16, ID1+BT_HIDE, 0xE4DFE1);
DefineButton(scroll1.start_x+1, scroll1.start_y+scroll1.size_y-18, 16, 16, ID2+BT_HIDE, 0xE4DFE1);
}