forked from KolibriOS/kolibrios
HTMLv 0.69: image improvements, GetNextParam() optimizations
git-svn-id: svn://kolibrios.org@2182 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
0e33fe59a3
commit
536efe1968
@ -1,3 +1,7 @@
|
|||||||
|
13.09.11 -- v0.69 -- 11.2 Кб
|
||||||
|
- нормальная прокрутка изображений;
|
||||||
|
- оптимизация процедуры парсинга тега с параметрами.
|
||||||
|
|
||||||
05.09.11 -- v0.68 -- 11.2 Кб
|
05.09.11 -- v0.68 -- 11.2 Кб
|
||||||
- устранён вылет программы при неправильном параметре color тега <font> - алсо
|
- устранён вылет программы при неправильном параметре color тега <font> - алсо
|
||||||
иногда действительно полезно читать маны;
|
иногда действительно полезно читать маны;
|
||||||
|
@ -18,7 +18,7 @@ dword j,
|
|||||||
char download_path[]="/rd/1/.download";
|
char download_path[]="/rd/1/.download";
|
||||||
//char search_path[]="http://nova.rambler.ru/search?words=";
|
//char search_path[]="http://nova.rambler.ru/search?words=";
|
||||||
char search_path[]="http://nigma.ru/index.php?s=";
|
char search_path[]="http://nigma.ru/index.php?s=";
|
||||||
char version[]=" Text-based Browser 23.68";
|
char version[]=" Text-based Browser 23.69";
|
||||||
|
|
||||||
|
|
||||||
struct TWebBrowser {
|
struct TWebBrowser {
|
||||||
@ -421,48 +421,42 @@ void TWebBrowser::ParseHTML(dword bword, fsize){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GetNextParam() {
|
void GetNextParam()
|
||||||
dword kavichki = false,
|
{
|
||||||
i = strlen(#tagparam) - 1;
|
byte kavichki = false;
|
||||||
|
int i = strlen(#tagparam) - 1;
|
||||||
WHILE((i > 0) && (tagparam[i] == '"') || (tagparam[i] == ' ') || (tagparam[i] == '\'') || (tagparam[i] == '/'))
|
|
||||||
|
WHILE((i > 0) && ((tagparam[i] == '"') || (tagparam[i] == ' ') || (tagparam[i] == '\'') || (tagparam[i] == '/')))
|
||||||
{
|
{
|
||||||
IF (tagparam[i] == '"') kavichki=1;
|
IF (tagparam[i] == '"') || (tagparam[i] == '\'') kavichki=tagparam[i];
|
||||||
IF (tagparam[i] == '\'') kavichki=2;
|
|
||||||
tagparam[i] = 0x00;
|
tagparam[i] = 0x00;
|
||||||
i--;
|
i--;
|
||||||
}
|
}
|
||||||
|
|
||||||
IF (kavichki==1) // "
|
IF (kavichki)
|
||||||
{
|
{
|
||||||
i=find_symbol(#tagparam, '"');
|
i=find_symbol(#tagparam, kavichki);
|
||||||
copystr(#tagparam + i, #options);
|
copystr(#tagparam + i, #options);
|
||||||
}
|
}
|
||||||
ELSE IF (kavichki==2) // '
|
|
||||||
{
|
|
||||||
i=find_symbol(#tagparam, '\'');
|
|
||||||
copystr(#tagparam + i, #options);
|
|
||||||
}
|
|
||||||
|
|
||||||
ELSE
|
ELSE
|
||||||
{
|
{
|
||||||
//i=find_symbol(#tagparam, '=');
|
WHILE((i > 0) && (tagparam[i] <>'=')) i--; //i=find_symbol(#tagparam, '=')+1;
|
||||||
WHILE((i > 0) && (tagparam[i] <>'=')) i--;
|
i++;
|
||||||
i+=1;
|
|
||||||
copystr(#tagparam + i, #options); //êîïèðóåì îïöèþ
|
copystr(#tagparam + i, #options); //êîïèðóåì îïöèþ
|
||||||
WHILE (options[0] == ' ') copystr(#options + 1, #options);
|
WHILE (options[0] == ' ') copystr(#options + 1, #options);
|
||||||
}
|
}
|
||||||
tagparam[i] = 0x00;
|
tagparam[i] = 0x00;
|
||||||
|
|
||||||
//
|
FOR ( ; ((tagparam[i] <>' ') && (i > 0); i--)
|
||||||
WHILE((tagparam[i] <>' ') && (i > 0)) {
|
{
|
||||||
IF(tagparam[i] == '=') //äåğçêàÿ çàãëóøêà
|
IF (tagparam[i] == '=') //äåğçêàÿ çàãëóøêà
|
||||||
{
|
{
|
||||||
//copystr(#tagparam+i+2,#options);
|
//copystr(#tagparam+i+2,#options);
|
||||||
tagparam[i + 1] = 0x00;
|
tagparam[i + 1] = 0x00;
|
||||||
}
|
}
|
||||||
i--;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
copystr(#tagparam + i + 1, #parametr); //êîïèðóåì ïàðàìåòð
|
copystr(#tagparam + i + 1, #parametr); //êîïèðóåì ïàðàìåòð
|
||||||
tagparam[i] = 0x00;
|
tagparam[i] = 0x00;
|
||||||
}
|
}
|
||||||
@ -474,8 +468,8 @@ void TWebBrowser::WhatTextStyle(int left1, top1, width1) {
|
|||||||
dword hr_color;
|
dword hr_color;
|
||||||
|
|
||||||
dword image=0;
|
dword image=0;
|
||||||
char temp[1024];
|
char temp[4096];
|
||||||
int w, h;
|
int w, h, img_za_kadrom=0;
|
||||||
|
|
||||||
IF(tag[0] == '/') {
|
IF(tag[0] == '/') {
|
||||||
rez = 0;
|
rez = 0;
|
||||||
@ -665,29 +659,22 @@ void TWebBrowser::WhatTextStyle(int left1, top1, width1) {
|
|||||||
|
|
||||||
if (top1+h<WB1.top) || (top1>WB1.top+WB1.height-10) //åñëè ÂѨ èçîáðàæåíèå óøëî ÂÅÐÕ èëè ÂÍÈÇ
|
if (top1+h<WB1.top) || (top1>WB1.top+WB1.height-10) //åñëè ÂѨ èçîáðàæåíèå óøëî ÂÅÐÕ èëè ÂÍÈÇ
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (top1<WB1.top) //åñëè ÷àñòü èçîáðàæåíèÿ ñâåðõó
|
if (top1<WB1.top) //åñëè ÷àñòü èçîáðàæåíèÿ ñâåðõó
|
||||||
{
|
{
|
||||||
h=h-WB1.top+top1;
|
img_za_kadrom=WB1.top-top1;
|
||||||
|
h=h-img_za_kadrom;
|
||||||
top1=WB1.top-5;
|
top1=WB1.top-5;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (top1>WB1.top+WB1.height-h-10) //åñëè ÷àñòü èçîáðàæåíèÿ ñíèçó IF (stroka - 2 < max_kolvo_strok)
|
if (top1>WB1.top+WB1.height-h-10) //åñëè ÷àñòü èçîáðàæåíèÿ ñíèçó IF (stroka - 2 < max_kolvo_strok)
|
||||||
{
|
{
|
||||||
//WriteDebug(IntToStr(top1));
|
|
||||||
//WriteDebug(IntToStr(WB1.top));
|
|
||||||
//WriteDebug(IntToStr(h));
|
|
||||||
h=WB1.top+WB1.height-top1-10;
|
h=WB1.top+WB1.height-top1-10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//WriteDebug(IntToStr(h));
|
|
||||||
//Pause(10);
|
|
||||||
|
|
||||||
IF (h<=0) return;
|
IF (h<=0) return;
|
||||||
|
|
||||||
img_draw stdcall (image,left1-5,top1+10,w, h,0,0);
|
img_draw stdcall (image,left1-5,top1+10,w, h,0,img_za_kadrom);
|
||||||
//WriteDebug("Good");
|
|
||||||
DrawBar(left1+w - 5, top1 + 10, width1-w + 5, h, 0xFFFFFF);
|
DrawBar(left1+w - 5, top1 + 10, width1-w + 5, h, 0xFFFFFF);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user