From 5a347ee585cf03b7847fcba1e551fe4f57198ec5 Mon Sep 17 00:00:00 2001 From: Yogev Ezra Date: Sat, 25 Jun 2011 12:58:55 +0000 Subject: [PATCH] HTMLv: some optimizations git-svn-id: svn://kolibrios.org@1974 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/network/htmlv/browser/HTMLv.c-- | 28 ++++++------ programs/network/htmlv/browser/TWB.h-- | 56 ++++++++++++------------ programs/network/htmlv/lib/kolibri.h-- | 16 +++---- 3 files changed, 50 insertions(+), 50 deletions(-) diff --git a/programs/network/htmlv/browser/HTMLv.c-- b/programs/network/htmlv/browser/HTMLv.c-- index 2f2fbf7c7a..b0ad4af091 100644 --- a/programs/network/htmlv/browser/HTMLv.c-- +++ b/programs/network/htmlv/browser/HTMLv.c-- @@ -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; diff --git a/programs/network/htmlv/browser/TWB.h-- b/programs/network/htmlv/browser/TWB.h-- index c3db007a7d..4e440e85da 100644 --- a/programs/network/htmlv/browser/TWB.h-- +++ b/programs/network/htmlv/browser/TWB.h-- @@ -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='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;