Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 3019 → Rev 3020

/programs/network/htmlv/browser/HTMLv.c
47,7 → 47,36
#include "TWB.h"
#include "include\menu_rmb.h"
 
/*void tre()
{
char *font_picture;
char text[12];
int width=600;
int height=40;
char palette[256*4];
int x;
 
 
strcpy(#text, "hello world\0");
 
get_width stdcall (#text, -1, height);
width=EAX;
 
font_picture=mem_Alloc(width*height);
truetype stdcall (#text, -1, font_picture, width, height);
 
for (x=0;x<256;x++) {
palette[x*4]=255-x;
palette[x*4+1]=255-x;
palette[x*4+2]=255-x;
palette[x*4+3]=0;
}
 
PutPaletteImage(font_picture,width,height,0,0,8,#palette);
mem_Free(font_picture);
};*/
 
 
void main()
{
int btn;
58,7 → 87,7
mem_Init();
if (load_dll2(libio, #libio_init,1)!=0) debug("Íå óäàëîñü ïîäêëþ÷èòü áèáëèîòåêó libio"w);
if (load_dll2(libimg, #libimg_init,1)!=0) debug("Íå óäàëîñü ïîäêëþ÷èòü áèáëèîòåêó libimg"w);
if (load_dll2(boxlib, #edit_box_draw,0)!=0) debug("Íå óäàëîñü ïîäêëþ÷èòü áèáëèîòåêó boxlib"w);
if (load_dll2(boxlib, #edit_box_draw,0)!=0) {RunProgram("@notify", "System Error: library doesn't exists /rd/1/lib/box_lib.obj"); ExitProcess();}
load_dll2(#abox_lib, #boxlib_init,0);
if (load_dll2(libtruetype, #truetype,0)!=0) {debug("Íå óäàëîñü ïîäêëþ÷èòü áèáëèîòåêó TrueType"w); use_truetype = 2;}
/programs/network/htmlv/browser/History.txt
1,3 → 1,10
10.11.12 - 0.97.6
- íîðìàëüíûé çàïóñê ïðîãðàììû äàæå áåç áèáëèîòåêè lib_img;
- îïîâåùåíèå åñëè box_lib íå íàéäåíà;
- èñïðàâëåíà îøèáêà ïðèâîäÿùàÿ ê òîðìîæåíèþ ïðè îòîáðàæåíèè
TrueType øðèôòîâ;
- îáíîâëåíèå áèáëèîòåê.
 
05.11.12 - 0.97.5
Ïåðåêëþ÷àëêà íà øðèôòû TrueType èç ìåíþ ÏÊÌ.
 
/programs/network/htmlv/browser/TWB.h
8,7 → 8,7
 
char download_path[]="/rd/1/.download";
char search_path[]="http://nigma.ru/index.php?s=";
char version[]=" Text-based Browser 0.97.5";
char version[]=" Text-based Browser 0.97.6";
 
 
struct TWebBrowser {
122,8 → 122,7
case 005: //truetype
if (use_truetype == 2)
{
debug("Íå óäàëîñü ïîäêëþ÷èòü áèáëèîòåêó TrueType");
debug("/rd/1/lib/truetype.obj íå îáíàðóæåí èëè èìååò íåïðàâèëüíûé ôîðìàò");
RunProgram("@notify", "Library does not exists /rd/1/lib/truetype.obj"w);
return;
}
if (use_truetype == 1) use_truetype=0; else use_truetype=1;
550,7 → 549,6
{
//line_length = get_length stdcall (#line,-1,16,line_length);
text_out stdcall (#line, -1, 17, text_colors[text_color_index], start_x, start_y-3);
Pause(10);
}
else
{
780,7 → 778,7
 
if (!chTag("img"))
{
//if (GetFileInfo(#libimg)<>0) return; //åñëè áèáëèîòåêè íåò
if (GetFileInfo(libimg)<>0) return; //åñëè áèáëèîòåêè íåò
IMG_TAG:
if (!strcmp(#parametr,"src=")) //íàäî îáúåäèíèòü ñ GetNewUrl()
{
806,21 → 804,13
GOTO IMG_TAG;
}
if (!image)
{
//debug(#tag);
return;
}
if (!image) return;
 
if (w>width1) w=width1;
if (stroka==0) DrawBar(left, top, width-15, 15, bg_color); //çàêðàøèâàåì ïåðâóþ ñòðîêó
stroka+=h/10;
if (top1+h<WB1.top) || (top1>WB1.top+WB1.height-10) //åñëè ÂѨ èçîáðàæåíèå óøëî ÂÅÐÕ èëè ÂÍÈÇ
return;
 
if (top1+h<WB1.top) || (top1>WB1.top+WB1.height-10) return; //åñëè ÂѨ èçîáðàæåíèå óøëî ÂÅÐÕ èëè ÂÍÈÇ
if (top1<WB1.top) //åñëè ÷àñòü èçîáðàæåíèÿ ñâåðõó
{
DrawBar(left, top, width-15, 10, bg_color); //çàêðàøèâàåì ïåðâóþ ñòðîêó
828,22 → 818,16
h=h-img_lines_first;
top1=WB1.top;
}
if (top1>WB1.top+WB1.height-h-15) //åñëè ÷àñòü èçîáðàæåíèÿ ñíèçó IF (stroka - 2 < lines.visible)
if (top1>WB1.top+WB1.height-h-15) //åñëè ÷àñòü èçîáðàæåíèÿ ñíèçó
{
h=WB1.top+WB1.height-top1-15;
}
 
if (h<=0) return;
if (anchor) return;
img_draw stdcall (image,left1-5,top1+10,w, h,0,img_lines_first);
DrawBar(left1+w - 5, top1 + 10, width1-w + 5, h, bg_color);
IF (link)
{
DefineButton(left1 - 5, top1+10, w, h, blink + BT_HIDE, 0xB5BFC9);
}
 
IF (link) DefineButton(left1 - 5, top1+10, w, h, blink + BT_HIDE, 0xB5BFC9);
return;
}
 
/programs/network/htmlv/lib/file_system.h
46,7 → 46,7
// Ñîçäàíèå ïàïêè //
///////////////////////////
f70 create_dir_70;
:int CreateFolder(dword new_folder_path)
:int CreateDir(dword new_folder_path)
{
create_dir_70.func = 9;
create_dir_70.param1 =
186,4 → 186,18
$mov eax,70
$mov ebx,#read_file_70.func
$int 0x40
}
 
inline fastcall void SetCurDir( ECX)
{
$mov eax,30
$mov ebx,1
$int 0x40
}
 
inline fastcall void GetCurDir( ECX, EDX)
{
$mov eax,30
$mov ebx,2
$int 0x40
}
/programs/network/htmlv/lib/kolibri.h
306,6 → 306,15
$int 0x40
}
 
inline fastcall DeleteAllButtons()
{
EAX = 12; // function 12:tell os about windowdraw
EBX = 1;
$int 0x40
EBX = 2;
$int 0x40
}
 
inline fastcall MoveSize( EBX,ECX,EDX,ESI)
{
$mov eax, 67
/programs/network/htmlv/lib/mem.h
26,13 → 26,6
}
 
//mem.ReAlloc
inline fastcall dword mem_ReAllocR( ECX, EDX)
{
$mov eax, 68
$mov ebx, 20
$int 0x40
}
 
stdcall dword mem_ReAlloc(dword mptr, size)
{
$push ebx
72,30 → 65,30
inline fastcall mem_Move( EDI, ESI, ECX)
{
asm {
mov eax, ecx
cmp edi, esi
jg l1
je l2
sar ecx, 2
js l2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
jmp short l2
l1: lea esi, dsdword[ esi+ecx-4]
lea edi, dsdword[ edi+ecx-4]
sar ecx, 2
js l2
std
rep movsd
mov ecx, eax
and ecx, 3
add esi, 3
add edi, 3
rep movsb
cld
l2:
MOV EAX, ECX
CMP EDI, ESI
JG L1
JE L2
SAR ECX, 2
JS L2
REP MOVSD
MOV ECX, EAX
AND ECX, 3
REP MOVSB
JMP SHORT L2
L1: LEA ESI, DSDWORD[ ESI+ECX-4]
LEA EDI, DSDWORD[ EDI+ECX-4]
SAR ECX, 2
JS L2
STD
REP MOVSD
MOV ECX, EAX
AND ECX, 3
ADD ESI, 3
ADD EDI, 3
REP MOVSB
CLD
L2:
}
}
 
/programs/network/htmlv/lib/strings.h
203,6 → 203,8
do{
AL=DSBYTE[ESI];
IF(AL>='a')IF(AL<='z')DSBYTE[ESI]=AL&0x5f;
IF (AL>=160) && (AL<=175) DSBYTE[ESI] = AL - 32; //à-ï
IF (AL>=224) && (AL<=239) DSBYTE[ESI] = AL - 80; //à-ï
ESI++;
}while(AL!=0);
}
236,42 → 238,42
 
 
 
inline fastcall unsigned int strstr( EBX, EDX)
inline fastcall dword strstr( EBX, EDX)
{
asm {
mov edi, edx
xor ecx, ecx
xor eax, eax
dec ecx
repne scasb
not ecx
dec ecx
je ls2
mov esi, ecx
xor ecx, ecx
mov edi, ebx
dec ecx
repne scasb
not ecx
sub ecx, esi
jbe ls2
mov edi, ebx
lea ebx, DSDWORD[ esi-1]
ls1: mov esi, edx
lodsb
repne scasb
jne ls2
mov eax, ecx
push edi
mov ecx, ebx
repe cmpsb
pop edi
mov ecx, eax
jne ls1
lea eax, DSDWORD[ edi-1]
jmp short ls3
ls2: xor eax, eax
ls3:
MOV EDI, EDX
XOR ECX, ECX
XOR EAX, EAX
DEC ECX
REPNE SCASB
NOT ECX
DEC ECX
JE LS2
MOV ESI, ECX
XOR ECX, ECX
MOV EDI, EBX
DEC ECX
REPNE SCASB
NOT ECX
SUB ECX, ESI
JBE LS2
MOV EDI, EBX
LEA EBX, DSDWORD[ ESI-1]
LS1: MOV ESI, EDX
LODSB
REPNE SCASB
JNE LS2
MOV EAX, ECX
PUSH EDI
MOV ECX, EBX
REPE CMPSB
POP EDI
MOV ECX, EAX
JNE LS1
LEA EAX, DSDWORD[ EDI-1]
JMP SHORT LS3
LS2: XOR EAX, EAX
LS3:
}
}
 
298,7 → 300,7
íå 0, åñëè ñëîâî ñêîïèðîâàíî â dest (ïåðåäàéòå ýòî çíà÷åíèå
â êà÷åñòâå src äëÿ ïîñëåäóþùåãî ïîèñêà) */
 
dword fastcall strtok( EDX, ESI, EBX)
inline fastcall dword strtok( EDX, ESI, EBX)
{
asm {
XOR ECX, ECX