forked from KolibriOS/kolibrios
Suddenly HTMLv 0.99.1: support <center>, <right> tags and align="center/right" for h1..h4 tags
git-svn-id: svn://kolibrios.org@4190 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
1b66a9b63c
commit
443ee045fb
@ -32,15 +32,47 @@ void DrawBufSkew(dword x, y, w, h)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DrawBufAlignRight(dword x,y,w,h)
|
||||||
|
{
|
||||||
|
int i, j, l;
|
||||||
|
int content_width = stolbec * 6;
|
||||||
|
int content_left = w - content_width / 2;
|
||||||
|
for (j=0; j<h; j++)
|
||||||
|
{
|
||||||
|
for (i=j*w+w-x*4, l=j*w+content_width+x*4; (i>=j*w+content_left*4) && (l>=j*w*4); i-=4, l-=4)
|
||||||
|
{
|
||||||
|
ESDWORD[drawbuf+8+i] >< ESDWORD[drawbuf+8+l];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DrawBufAlignCenter(dword x,y,w,h)
|
||||||
|
{
|
||||||
|
int i, j, l;
|
||||||
|
int content_width = stolbec * 6;
|
||||||
|
int content_left = w - content_width / 2;
|
||||||
|
for (j=0; j<h; j++)
|
||||||
|
{
|
||||||
|
for (i=j*w+content_width+content_left*4, l=j*w+content_width+x*4; (i>=j*w+content_left*4) && (l>=j*w*4); i-=4, l-=4)
|
||||||
|
{
|
||||||
|
ESDWORD[drawbuf+8+i] >< ESDWORD[drawbuf+8+l];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void TextGoDown(int left1, top1, width1)
|
void TextGoDown(int left1, top1, width1)
|
||||||
{
|
{
|
||||||
if (!stroka) DrawBar(WB1.left, WB1.top, WB1.width, 5, bg_color); //çàêðàøèâàåì ôîí íàä ïåðâîé ñòðîêîé
|
if (!stroka) DrawBar(WB1.left, WB1.top, WB1.width, 5, bg_color); //çàêðàøèâàåì ôîí íàä ïåðâîé ñòðîêîé
|
||||||
stroka++;
|
|
||||||
if (blq_text) stolbec = 8; else stolbec = 0;
|
|
||||||
if (li_text) stolbec = li_tab * 5;
|
|
||||||
if (top1>=WB1.top) && ( top1 < WB1.height+WB1.top-10) && (!anchor)
|
if (top1>=WB1.top) && ( top1 < WB1.height+WB1.top-10) && (!anchor)
|
||||||
{
|
{
|
||||||
|
if (text_align == ALIGN_CENTER) DrawBufAlignCenter(left1,top1,WB1.width,WB1.line_h);
|
||||||
|
if (text_align == ALIGN_RIGHT) DrawBufAlignRight(left1,top1,WB1.width,WB1.line_h);
|
||||||
PutPaletteImage(drawbuf+8, WB1.width, WB1.line_h, left1-5, top1, 32,0);
|
PutPaletteImage(drawbuf+8, WB1.width, WB1.line_h, left1-5, top1, 32,0);
|
||||||
DrawBufFill();
|
DrawBufFill();
|
||||||
}
|
}
|
||||||
|
stroka++;
|
||||||
|
if (blq_text) stolbec = 8; else stolbec = 0;
|
||||||
|
if (li_text) stolbec = li_tab * 5;
|
||||||
}
|
}
|
@ -25,7 +25,9 @@ struct TWebBrowser {
|
|||||||
TWebBrowser WB1;
|
TWebBrowser WB1;
|
||||||
|
|
||||||
byte rez, b_text, i_text, u_text, s_text, pre_text, blq_text, li_text,
|
byte rez, b_text, i_text, u_text, s_text, pre_text, blq_text, li_text,
|
||||||
link, ignor_text, li_tab, cur_encoding;
|
link, ignor_text, li_tab, cur_encoding, text_align;
|
||||||
|
|
||||||
|
enum { ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT};
|
||||||
|
|
||||||
dword text_colors[300],
|
dword text_colors[300],
|
||||||
text_color_index,
|
text_color_index,
|
||||||
@ -368,6 +370,7 @@ void TWebBrowser::ParseHTML(dword bword){
|
|||||||
if (blink<400) blink=400; else for ( ; blink>400; blink--;) DeleteButton(blink);
|
if (blink<400) blink=400; else for ( ; blink>400; blink--;) DeleteButton(blink);
|
||||||
b_text = i_text = u_text = s_text = blq_text =
|
b_text = i_text = u_text = s_text = blq_text =
|
||||||
li_text = link = ignor_text = text_color_index = text_colors[0] = li_tab = 0; //îáíóëÿåì òåãè
|
li_text = link = ignor_text = text_color_index = text_colors[0] = li_tab = 0; //îáíóëÿåì òåãè
|
||||||
|
text_align = ALIGN_LEFT;
|
||||||
link_color = 0x0000FF;
|
link_color = 0x0000FF;
|
||||||
bg_color = 0xFFFFFF;
|
bg_color = 0xFFFFFF;
|
||||||
DrawBufFill();
|
DrawBufFill();
|
||||||
@ -427,7 +430,6 @@ void TWebBrowser::ParseHTML(dword bword){
|
|||||||
bukva = ESBYTE[bword];
|
bukva = ESBYTE[bword];
|
||||||
chrcat(#tag, bukva);
|
chrcat(#tag, bukva);
|
||||||
}
|
}
|
||||||
|
|
||||||
bukva = GetUnicodeSymbol();
|
bukva = GetUnicodeSymbol();
|
||||||
if (bukva) goto DEFAULT_MARK;
|
if (bukva) goto DEFAULT_MARK;
|
||||||
break;
|
break;
|
||||||
@ -565,7 +567,7 @@ void TWebBrowser::WhatTextStyle(int left1, top1, width1) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
IF(!chTag("q")) strcat(#line, "\"");
|
IF(!chTag("q")) chrcat(#line, '\"');
|
||||||
|
|
||||||
if (anchor) && (!strcmp(#parametr, "id=")) //î÷åíü ïëîõî!!! ïîòîìó ÷òî åñëè íå ïîñëåäíèé òåã, ðàáîòàòü íå áóäåò
|
if (anchor) && (!strcmp(#parametr, "id=")) //î÷åíü ïëîõî!!! ïîòîìó ÷òî åñëè íå ïîñëåäíèé òåã, ðàáîòàòü íå áóäåò
|
||||||
{
|
{
|
||||||
@ -654,10 +656,30 @@ void TWebBrowser::WhatTextStyle(int left1, top1, width1) {
|
|||||||
IF(rez) TextGoDown(left1, top1 + 10, width1);
|
IF(rez) TextGoDown(left1, top1 + 10, width1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (!chTag("center"))
|
||||||
|
{
|
||||||
|
if (rez) text_align = ALIGN_CENTER;
|
||||||
|
if (!rez) text_align = ALIGN_LEFT;
|
||||||
|
}
|
||||||
|
if (!chTag("right"))
|
||||||
|
{
|
||||||
|
if (rez) text_align = ALIGN_RIGHT;
|
||||||
|
if (!rez) text_align = ALIGN_LEFT;
|
||||||
|
}
|
||||||
if (!chTag("h1")) || (!chTag("h2")) || (!chTag("h3")) || (!chTag("h4")) {
|
if (!chTag("h1")) || (!chTag("h2")) || (!chTag("h3")) || (!chTag("h4")) {
|
||||||
|
if (rez)
|
||||||
|
{
|
||||||
|
if (!strcmp(#parametr, "align=")) && (!strcmp(#options,"center")) text_align = ALIGN_CENTER;
|
||||||
|
if (!strcmp(#parametr, "align=")) && (!strcmp(#options,"right")) text_align = ALIGN_RIGHT;
|
||||||
|
b_text = 1;
|
||||||
|
}
|
||||||
|
if (!rez)
|
||||||
|
{
|
||||||
|
text_align = ALIGN_LEFT;
|
||||||
|
b_text = 0;
|
||||||
|
}
|
||||||
TextGoDown(left1, top1, width1);
|
TextGoDown(left1, top1, width1);
|
||||||
IF(rez) TextGoDown(left1, top1 + 10, width1);
|
IF(rez) TextGoDown(left1, top1 + 10, width1);
|
||||||
b_text = rez;
|
|
||||||
strcpy(#oldtag, #tag);
|
strcpy(#oldtag, #tag);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,15 @@
|
|||||||
<!--doctype html public "-//w3c//dtd html 4.0 transitional//ru"-->
|
<!--doctype html public "-//w3c//dtd html 4.0 transitional//ru"-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
||||||
<title>Тест Acid 0.1</title>
|
<title>Тест Acid 0.1</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body bgcolor="#000000" link="#0066FF" text="#FFFFFF">
|
<body bgcolor="#000000" link="#0066FF" text="#FFFFFF">
|
||||||
|
<h1 align=center>Это тестовая страница для проверки HTML Viewer</h1>
|
||||||
<img name="2.1.4" src="background.gif" alt="background">
|
<br />
|
||||||
|
<p>Эта программа поддерживает все популярные кодировки:
|
||||||
<b>Это тестовая страница для проверки HTML Viewer</b><br />
|
cp1251, koi-8, cp866, unicode.</p>
|
||||||
<br />
|
<br />
|
||||||
Эта программа поддерживает все популярные кодировки: cp1251, koi-8, cp866, Unicode.<br><br>
|
|
||||||
|
|
||||||
<b>
|
<b>
|
||||||
<font color="#FF0000">C</font>
|
<font color="#FF0000">C</font>
|
||||||
<font color="#FFC005">r</font>
|
<font color="#FFC005">r</font>
|
||||||
@ -30,7 +27,7 @@
|
|||||||
<font color="#FFC005">c</font>
|
<font color="#FFC005">c</font>
|
||||||
<font color="red">y</font><br>
|
<font color="red">y</font><br>
|
||||||
</b>
|
</b>
|
||||||
Житомир 2008-2012
|
Житомир 2008-2013
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Íåáîëüøîé ñïèñîê:<ol>
|
Íåáîëüøîé ñïèñîê:<ol>
|
||||||
@ -43,6 +40,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
<center>
|
||||||
<pre>
|
<pre>
|
||||||
Àòü!
|
Àòü!
|
||||||
Äâà!
|
Äâà!
|
||||||
@ -51,6 +49,7 @@
|
|||||||
Àâòîð ñåãî òâîðåíèÿ íå èçâåñòåí.
|
Àâòîð ñåãî òâîðåíèÿ íå èçâåñòåí.
|
||||||
|
|
||||||
</pre>
|
</pre>
|
||||||
|
</center>
|
||||||
<!--ýòîãî òåêñòà çäåñü <íåò>-->
|
<!--ýòîãî òåêñòà çäåñü <íåò>-->
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
@ -59,6 +58,8 @@
|
|||||||
<label>Radio2: <input type="radio" name="sex" /></label><br>
|
<label>Radio2: <input type="radio" name="sex" /></label><br>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
<img name="2.1.4" src="background.gif" alt="background">
|
||||||
|
|
||||||
|
|
||||||
<font color=#777777>
|
<font color=#777777>
|
||||||
<a href='./index.htm'>./index.htm</a><br>
|
<a href='./index.htm'>./index.htm</a><br>
|
||||||
@ -74,62 +75,13 @@
|
|||||||
1111111111111111111111111111111111111111111111111111111111111111
|
1111111111111111111111111111111111111111111111111111111111111111
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
1111111111111111111111111111111111111111111111111111111111111111
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
1111111111111111111111111111111111111111111111111111111111111111
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
1111111111111111111111111111111111111111111111111111111111111111
|
|
||||||
'>Î÷åíü äëèííûé àäðåñ ñòðîêè</a><br>
|
'>Î÷åíü äëèííûé àäðåñ ñòðîêè</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<hr color="#758999">
|
<hr color="#758999">
|
||||||
 ýòîì òåêñòå åñòü ïåðåõîä íà ñëåäóþùóþ ñòðîêó, íî áðàóçåð
|
 ýòîì òåêñòå åñòü ïåðåõîä íà ñëåäóþùóþ ñòðîêó, íî áðàóçåð
|
||||||
его должен проигнорировать. Еще много пробелов. А тут есть
|
его должен проигнорировать. Еще много пробелов. А тут есть
|
||||||
табы. Кое-какие символы: " & < > • © ® „ “ — Їжачок іншого боку р. Євфрат з'їв ґрунт та єврейський ґербалайф.
|
табы. Кое-какие символы: " & < > •
|
||||||
|
© ® „ “ — Їжачок іншого боку р. Євфрат з'їв ґрунт та єврейський ґербалайф.
|
||||||
<hr color="grey">
|
<hr color="grey">
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
Loading…
Reference in New Issue
Block a user