HTMLv: some optimizations

git-svn-id: svn://kolibrios.org@1974 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Yogev Ezra 2011-06-25 12:58:55 +00:00
parent f1a2dfb7be
commit 5a347ee585
3 changed files with 50 additions and 50 deletions

View File

@ -2,18 +2,18 @@
//Copyright 2007-2009 by Veliant & Leency
//Asper, Lrz, Nable, lev.
#include "..\lib\kolibri.h--"
#include "..\lib\memory.h--"
#include "..\lib\file_system.h--"
#include "include\some_code.h--"
#include "img\toolbar_icons.c--"
#include "img\URLgoto.txt";
#include "../lib/kolibri.h--"
#include "../lib/memory.h--"
#include "../lib/file_system.h--"
#include "include/some_code.h--"
#include "img/toolbar_icons.c--"
#include "img/URLgoto.txt";
//Asper
#include "..\lib\mem.h--"
#include "..\lib\libio_lib.h--"
#include "..\lib\libimg_lib.h--"
#include "..\lib\edit_box_lib.h--"
#include "..\lib\dll.h--"
#include "../lib/mem.h--"
#include "../lib/libio_lib.h--"
#include "../lib/libimg_lib.h--"
#include "../lib/edit_box_lib.h--"
#include "../lib/dll.h--"
//ïåðåìåííûå
byte URL[4096]="/sys/html/index.htm",
@ -94,12 +94,12 @@ void main()
WB1.Scan(btn);
//WB1.HttpLoad(#URL);
}
break;
BREAK;
case evKey:
key = GetKey();
WB1.Scan(key);
if (key<>0x0d) && (key<>183) && (key<>184) && (key<>173) {EAX=key<<8; edit_box_key stdcall(#edit1);} //àäðåñíàÿ ñòðîêà
break;
IF (key<>0x0d) && (key<>183) && (key<>184) && (key<>173) {EAX=key<<8; edit_box_key stdcall(#edit1);} //àäðåñíàÿ ñòðîêà
BREAK;
case evReDraw:
Draw_Window();
break;

View File

@ -6,7 +6,7 @@
// wintodos(buf); -> â ïàğñå õòìë êàê è âñå êîäèğîâêè
//ol - öèôåğêè
#define HTMLV_VERSION "HTML Viewer v0.63"
//óñêîğåíà çàãğóçêà ñòğàíèöû, ñîäåğæàùåé èçîáğàæåíèÿ
//óìåíüøåíî êîëè÷åñòâî ïåğåğèñîâîê çàãîëîâêà îêíà ïğè çàãğóçêå ñòğàíèöû
@ -42,7 +42,7 @@ TWebBrowser WB1;
void TWebBrowser::Scan(dword id) {
int i=0;
if (id > 399) {
IF (id > 399) {
j = 0;
FOR(i = 0; i <= id - 401; i++) {
do j++;
@ -104,21 +104,21 @@ void TWebBrowser::Scan(dword id) {
IF(za_kadrom == kolichestvo - max_kolvo_strok) return;
za_kadrom = za_kadrom + max_kolvo_strok + 2;
IF(max_kolvo_strok + za_kadrom > kolichestvo) za_kadrom = kolichestvo - max_kolvo_strok;
break;
BREAK;
case 184: //PgUp
IF(za_kadrom == 0) return;
IF(za_kadrom == 0) RETURN;
za_kadrom = za_kadrom - max_kolvo_strok - 2;
IF(za_kadrom < 0) za_kadrom = 0;
break;
BREAK;
case 180: //home
IF (za_kadrom <>0) za_kadrom = 0;
ELSE return;
break;
ELSE RETURN;
BREAK;
case 181: //end
za_kadrom = kolichestvo - max_kolvo_strok;
break;
BREAK;
default:
return;
RETURN;
}
IF(id == 11) koitodos(buf);
ParseHTML(buf, filesize);
@ -175,14 +175,14 @@ void ReadHtml(byte DO_LOAD) {
IF(buf) free(buf);
buf = malloc(1048576);
if (!strcmp(get_URL_part(5),"http:")))
IF (!strcmp(get_URL_part(5),"http:")))
{
if (DO_LOAD) && (!WindowRePaint)
IF (DO_LOAD) && (!WindowRePaint)
{
DeleteFile(#download_path);
IF (URL[strlen(#URL)-1]=='/') URL[strlen(#URL)-1]='';
RunProgram("/sys/downloader", #URL);
return;
RETURN;
}
ReadFile(0, 1048576, buf, #download_path);
}
@ -194,7 +194,7 @@ void ReadHtml(byte DO_LOAD) {
void TWebBrowser::Load(dword adress) {
if (URL[0] == '#') { //ìû íå óìååì ïåðåõîäèòü ïî ññûëêå âíóòðè äîêóìåíòà. Ïîêà ÷òî...
IF (URL[0] == '#') { //ìû íå óìååì ïåðåõîäèòü ïî ññûëêå âíóòðè äîêóìåíòà. Ïîêà ÷òî...
copystr(#editURL, #URL);
return;
}
@ -205,8 +205,8 @@ void TWebBrowser::Load(dword adress) {
max_kolvo_stolbcov = width - 30 / 6;
max_kolvo_strok = height - 3 / 10 - 2;
copystr(" HTML Viewer v0.63", #header);
if (!WindowRePaint) {
copystr(" " + HTMLV_VERSION, #header);
IF (!WindowRePaint) {
za_kadrom = 0;
copystr(#URL, #editURL);
BrowserHistory.AddUrl();
@ -227,7 +227,7 @@ void TWebBrowser::Load(dword adress) {
WriteText(left + 10, top + 18, 0x80, 0, "Page not found. May be, URL contains some errors.", 0);
}
IF (!strcmp(" HTML Viewer v0.63", #header)) DrawTitle(#header);
IF (!strcmp(" " + HTMLV_VERSION, #header)) DrawTitle(#header);
}
@ -272,12 +272,12 @@ void TWebBrowser::ParseHTML(dword bword, fsize){
temp = '';
goto NEXT_MARK;
}
case '\9':
case 0x0d:
CASE '\9':
CASE 0x0d:
//IF(pre_text == 1) {copystr(" ", #line + strlen(#line)); break;} ELSE
bukva = ' ';
goto DEFAULT_MARK;
case '<':
CASE '<':
bword++; //ïğîìîòàåì ñèìâîë <
IF(ESBYTE[bword] == '!') //ôèëüòğàöèÿ âíóòğè <!-- -->, äåğçêî
{
@ -291,7 +291,7 @@ void TWebBrowser::ParseHTML(dword bword, fsize){
IF(ESBYTE[bword] <>'-') GOTO HH_;
}
}
while (ESBYTE[bword] <>'>') && (bword < buf + fsize) //ïîëó÷àåì òåã è åãî ïàðàìåòðû
WHILE (ESBYTE[bword] <>'>') && (bword < buf + fsize) //ïîëó÷àåì òåã è åãî ïàðàìåòðû
{
bukva = ESBYTE[bword];
IF(bukva == '\9') || (bukva == '\x0a') || (bukva == '\x0d') bukva = ' ';
@ -397,7 +397,7 @@ void TWebBrowser::ParseHTML(dword bword, fsize){
TextGoDown(left + 5, stroka * 10 + top + 5, width - 20); //çàêğàøèâàåì ñòğîêó âêîíöå
copystr(#temp, #line);
}
IF(pre_text == 0) && (bukva == ' ') && (stolbec == 0) && (strlen(#line) == 0) continue;
IF(pre_text == 0) && (bukva == ' ') && (stolbec == 0) && (strlen(#line) == 0) CONTINUE;
copystr(#bukva, #line + strlen(#line));
}
}
@ -422,18 +422,18 @@ void GetNextParam() {
i--;
}
if (kavichki==1) // "
IF (kavichki==1) // "
{
i=find_symbol(#tagparam, '"');
copystr(#tagparam + i, #options);
}
else if (kavichki==2) // '
ELSE IF (kavichki==2) // '
{
i=find_symbol(#tagparam, '\'');
copystr(#tagparam + i, #options);
}
else
ELSE
{
//i=find_symbol(#tagparam, '=');
WHILE((i > 0) && (tagparam[i] <>'=')) i--;
@ -487,7 +487,7 @@ void TWebBrowser::WhatTextStyle(word left1, top1, width1) {
w_title = 0;
stolbec = 0;
copystr(#line, #header);
copystr(" - HTML Viewer v0.63", #header + strlen(#header));
copystr(" - " + HTMLV_VERSION, #header + strlen(#header));
IF(stroka == 0) || (WindowRePaint == 1) DrawTitle(#header);
//äà, çíàş, 2 ğàçà âûõîäèò, íî, åñëè áîëüøàÿ ñòğàíèöà, òî òğóú
return;
@ -620,7 +620,7 @@ void TWebBrowser::WhatTextStyle(word left1, top1, width1) {
{
//IF (GetFileInfo(#libimg)<>0) return; //åñëè áèáëèîòåêè íåò
IMG_TAG:
if (strcmp(#parametr,"src=")==0) //íàäî îáúåäèíèòü ñ GetNewUrl()
IF (strcmp(#parametr,"src=")==0) //íàäî îáúåäèíèòü ñ GetNewUrl()
{
copystr(BrowserHistory.CurrentUrl(), #temp); //äîñòà¸ì àäğåñ òåêóùåé ñòğàíèöû
temp[find_symbol(#temp, '/')] = 0x00; //îáğåçàåì å¸ óğë äî ïîñëåäíåãî /
@ -637,8 +637,8 @@ void TWebBrowser::WhatTextStyle(word left1, top1, width1) {
if (image)
{
if (width1<w) w=width1;
if (WB1.height<h) h=WB1.height;
IF (width1<w) w=width1;
IF (WB1.height<h) h=WB1.height;
IF (top1<WB1.top) {h=h-top1+WB1.top; top1=WB1.top;}
TextGoDown2(left1+w,top1,width1-w,h);
IF (stroka - 2 < max_kolvo_strok) img_draw stdcall (image,left1-5,top1+10,w,-stroka * 10 + WB1.height -15 + h,0,0);

View File

@ -376,7 +376,7 @@ dword Hex2Symb(char* htmlcolor)
FOR (;j<2;j++)
{
ch=ESBYTE[htmlcolor+j];
IF (ch==0x0d) || (ch=='\9') return '';
IF (ch==0x0d) || (ch=='\9') RETURN '';
IF ((ch>='0') && (ch<='9')) ch -= '0';
IF ((ch>='A') && (ch<='F')) ch -= 'A'-10;
IF ((ch>='a') && (ch<='f')) ch -= 'a'-10;
@ -430,32 +430,32 @@ inline fastcall int utf8rutodos(dword ESI) //-
EDI+=2;
ESI++;
}
else IF (BL == 0xC2) && ((ESBYTE[ESI+1]==0xAB) || (ESBYTE[ESI+1]==0xBB)) // "
ELSE IF (BL == 0xC2) && ((ESBYTE[ESI+1]==0xAB) || (ESBYTE[ESI+1]==0xBB)) // "
{
ESBYTE[EDI] = '\"';
ESI++;
}
else IF (BL == 0xC2) && (ESBYTE[ESI+1]==0xB7) // _
ELSE IF (BL == 0xC2) && (ESBYTE[ESI+1]==0xB7) // _
{
ESBYTE[EDI] = '_';
ESI++;
}
else IF (BL >= 0x90) && (BL <= 0xAF)
ELSE IF (BL >= 0x90) && (BL <= 0xAF)
{
BL -= 0x10;
ESBYTE[EDI] = BL;
}
else IF (BL >= 0x80) && (BL <= 0x8F)
ELSE IF (BL >= 0x80) && (BL <= 0x8F)
{
BL += 0x60;
ESBYTE[EDI] = BL;
}
else IF (BL >= 0xB0) && (BL <= 0xBF)
ELSE IF (BL >= 0xB0) && (BL <= 0xBF)
{
BL -= 0x10;
ESBYTE[EDI] = BL;
}
else ESBYTE[EDI] = BL;
ELSE ESBYTE[EDI] = BL;
ESI++;
EDI++;
}
@ -574,7 +574,7 @@ void DrawFlatButton(dword x,y,width,height,id,color,text)
void DrawCircle(int x, y, r)
{
int i; float px=0, py=r, ii = r * 3.1415926 * 2;
for (i = 0; i < ii; i++)
FOR (i = 0; i < ii; i++)
{
PutPixel(px + x, y - py, 0);
px = py / r + px;