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)
|
||||
{
|
||||
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 (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);
|
||||
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;
|
||||
|
||||
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],
|
||||
text_color_index,
|
||||
@ -368,6 +370,7 @@ void TWebBrowser::ParseHTML(dword bword){
|
||||
if (blink<400) blink=400; else for ( ; blink>400; blink--;) DeleteButton(blink);
|
||||
b_text = i_text = u_text = s_text = blq_text =
|
||||
li_text = link = ignor_text = text_color_index = text_colors[0] = li_tab = 0; //îáíóëÿåì òåãè
|
||||
text_align = ALIGN_LEFT;
|
||||
link_color = 0x0000FF;
|
||||
bg_color = 0xFFFFFF;
|
||||
DrawBufFill();
|
||||
@ -427,7 +430,6 @@ void TWebBrowser::ParseHTML(dword bword){
|
||||
bukva = ESBYTE[bword];
|
||||
chrcat(#tag, bukva);
|
||||
}
|
||||
|
||||
bukva = GetUnicodeSymbol();
|
||||
if (bukva) goto DEFAULT_MARK;
|
||||
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=")) //î÷åíü ïëîõî!!! ïîòîìó ÷òî åñëè íå ïîñëåäíèé òåã, ðàáîòàòü íå áóäåò
|
||||
{
|
||||
@ -654,10 +656,30 @@ void TWebBrowser::WhatTextStyle(int left1, top1, width1) {
|
||||
IF(rez) TextGoDown(left1, top1 + 10, width1);
|
||||
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 (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);
|
||||
IF(rez) TextGoDown(left1, top1 + 10, width1);
|
||||
b_text = rez;
|
||||
strcpy(#oldtag, #tag);
|
||||
return;
|
||||
}
|
||||
|
@ -1,18 +1,15 @@
|
||||
<!--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=windows-1251">
|
||||
<title>Тест Acid 0.1</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor="#000000" link="#0066FF" text="#FFFFFF">
|
||||
|
||||
<img name="2.1.4" src="background.gif" alt="background">
|
||||
|
||||
<b>Это тестовая страница для проверки HTML Viewer</b><br />
|
||||
<h1 align=center>Это тестовая страница для проверки HTML Viewer</h1>
|
||||
<br />
|
||||
<p>Эта программа поддерживает все популярные кодировки:
|
||||
cp1251, koi-8, cp866, unicode.</p>
|
||||
<br />
|
||||
Эта программа поддерживает все популярные кодировки: cp1251, koi-8, cp866, Unicode.<br><br>
|
||||
|
||||
<b>
|
||||
<font color="#FF0000">C</font>
|
||||
<font color="#FFC005">r</font>
|
||||
@ -30,7 +27,7 @@
|
||||
<font color="#FFC005">c</font>
|
||||
<font color="red">y</font><br>
|
||||
</b>
|
||||
Житомир 2008-2012
|
||||
Житомир 2008-2013
|
||||
|
||||
<p>
|
||||
Íåáîëüøîé ñïèñîê:<ol>
|
||||
@ -43,6 +40,7 @@
|
||||
</p>
|
||||
<br>
|
||||
|
||||
<center>
|
||||
<pre>
|
||||
Àòü!
|
||||
Äâà!
|
||||
@ -51,6 +49,7 @@
|
||||
Àâòîð ñåãî òâîðåíèÿ íå èçâåñòåí.
|
||||
|
||||
</pre>
|
||||
</center>
|
||||
<!--ýòîãî òåêñòà çäåñü <íåò>-->
|
||||
|
||||
<br>
|
||||
@ -59,6 +58,8 @@
|
||||
<label>Radio2: <input type="radio" name="sex" /></label><br>
|
||||
<br>
|
||||
|
||||
<img name="2.1.4" src="background.gif" alt="background">
|
||||
|
||||
|
||||
<font color=#777777>
|
||||
<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
|
||||
'>Î÷åíü äëèííûé àäðåñ ñòðîêè</a><br>
|
||||
|
||||
|
||||
|
||||
<hr color="#758999">
|
||||
 ýòîì òåêñòå åñòü ïåðåõîä íà ñëåäóþùóþ ñòðîêó, íî áðàóçåð
|
||||
его должен проигнорировать. Еще много пробелов. А тут есть
|
||||
табы. Кое-какие символы: " & < > • © ® „ “ — Їжачок іншого боку р. Євфрат з'їв ґрунт та єврейський ґербалайф.
|
||||
его должен проигнорировать. Еще много пробелов. А тут есть
|
||||
табы. Кое-какие символы: " & < > •
|
||||
© ® „ “ — Їжачок іншого боку р. Євфрат з'їв ґрунт та єврейський ґербалайф.
|
||||
<hr color="grey">
|
||||
|
||||
</body>
|
||||
|
Loading…
Reference in New Issue
Block a user