Subversion Repositories Kolibri OS

Rev

Rev 1978 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1978 Rev 2085
Line 1... Line 1...
1
//http://jsbeautifier.org/
1
//http://jsbeautifier.org/
2
//Web-component, Leency & Veliant 2007-2009
2
//Web-component, Leency & Veliant 2007-2009
3
//lev
3
//lev
4
//èäåÿ - ëåâûå ôàéëû îòêðûâàòü ñîîòâåòñòâóþùèìè ïðîãàìè
-
 
Line 5... Line -...
5
 
-
 
Line -... Line 4...
-
 
4
 
-
 
5
 
6
//	wintodos(buf); -> â ïàðñå õòìë êàê è âñå êîäèðîâêè
6
//èäåÿ - ëåâûå ôàéëû îòêðûâàòü ñîîòâåòñòâóþùèìè ïðîãàìè
Line 7... Line -...
7
 
-
 
8
//ol - öèôåðêè
-
 
Line 9... Line 7...
9
 
7
//wintodos(buf); -> â ïàðñå õòìë êàê è âñå êîäèðîâêè
10
//óñêîðåíà çàãðóçêà ñòðàíèöû, ñîäåðæàùåé èçîáðàæåíèÿ
8
//ol - öèôåðêè
11
//óìåíüøåíî êîëè÷åñòâî ïåðåðèñîâîê çàãîëîâêà îêíà ïðè çàãðóçêå ñòðàíèöû
9
 
12
 
10
 
13
dword j,
11
dword j,
Line 14... Line 12...
14
	buf,
12
	buf,
15
	filesize,
13
	filesize,
16
	blink = 400;
14
	blink = 400;
17
 int i;
15
 int i;
Line 18... Line 16...
18
 
16
 
19
 char download_path[]="/rd/1/.download";
17
 char download_path[]="/rd/1/.download";
20
//char search_path[]="http://nova.rambler.ru/search?words=";
18
//char search_path[]="http://nova.rambler.ru/search?words=";
21
 char search_path[]="http://nigma.ru/index.php?s=";
19
 char search_path[]="http://nigma.ru/index.php?s=";
22
 char version[]=" HTML Viewer v0.63";
20
 char version[]=" Text-based Browser 23.67";
23
 
21
 
24
 
22
 
Line 62... Line 60...
62
		ReadHtml();
60
		ReadHtml();
63
		break;
61
		break;
64
	case BACK:
62
	case BACK:
65
		BrowserHistory.GoBack();
63
		BrowserHistory.GoBack();
66
		return;
64
		return;
67
	/*case FORWARD:
65
	case FORWARD:
68
		WriteDebug(#UrlHistory);
66
		//RunProgram("@notify", "Forward button is not realized yet");
69
		return;*/
67
		return;
70
	case 054: //F5
68
	case 054: //F5
71
		IF(edit1.flags == 66) break;
69
		IF(edit1.flags == 66) break;
72
  case REFRESH:
70
  case REFRESH:
73
		copystr(#URL, #editURL);
71
		copystr(#URL, #editURL);
74
		Draw_Window();
72
		Draw_Window();
75
		return;
73
		return;
-
 
74
	case 014: //Ctrl+N íîâîå îêíî
-
 
75
	case 020: //Ctrl+T íîâàÿ âêëàäêà
-
 
76
	case NEWTAB:
-
 
77
		MoveSize(190,80,OLD,OLD);
-
 
78
		RunProgram(#program_path, #URL);
-
 
79
		return;
76
	case HOME:
80
	case HOME:
77
		copystr("/sys/index.htm", #editURL);
81
		copystr("/sys/index.htm", #editURL);
78
	case GOTOURL:
82
	case GOTOURL:
79
	case 0x0D: //enter
83
	case 0x0D: //enter
80
		copystr(#editURL, #URL);
84
		copystr(#editURL, #URL);
Line 233... Line 237...
233
byte rez, b_text, i_text, u_text, s_text, w_title, pre_text, blq_text, li_text, link, ignor_text, li_tab;
237
byte rez, b_text, i_text, u_text, s_text, w_title, pre_text, blq_text, li_text, link, ignor_text, li_tab;
234
dword text_colors[10],
238
dword text_colors[10],
235
	text_color_index = 0,
239
	text_color_index = 0,
236
	link_color;
240
	link_color;
237
int stroka,
241
int stroka,
238
	stolbec;
242
	stolbec,
-
 
243
	tab_len;
239
	byte line[330],
244
	byte line[330],
240
	tag[100],
245
	tag[100],
241
	tagparam[10000],
246
	tagparam[10000],
242
	parametr[1200],
247
	parametr[1200],
243
	options[1000];
248
	options[1000];
Line 269... Line 274...
269
				bukva = '';
274
				bukva = '';
270
				temp = '';
275
				temp = '';
271
				goto NEXT_MARK;
276
				goto NEXT_MARK;
272
			}
277
			}
273
		CASE '\9':
278
		CASE '\9':
-
 
279
			if (pre_text == 1) //èíà÷å èä¸ì íà 0x0d	
274
		CASE 0x0d:
280
			{
-
 
281
				tab_len=strlen(#line)/8;
-
 
282
				tab_len=tab_len*8;
-
 
283
				tab_len=8+tab_len-strlen(#line);
275
			//IF(pre_text == 1) {copystr("   ", #line + strlen(#line)); break;} ELSE
284
				for (i=0; i
-
 
285
				break;
-
 
286
			}		
-
 
287
		case 0x0d:
276
			bukva = ' ';
288
			bukva = ' ';
277
			goto DEFAULT_MARK;
289
			goto DEFAULT_MARK;
278
		CASE '<':
290
		case '<':
279
			bword++; //ïðîìîòàåì ñèìâîë <
291
			bword++; //ïðîìîòàåì ñèìâîë <
280
			IF(ESBYTE[bword] == '!') //ôèëüòðàöèÿ âíóòðè , äåðçêî
292
			IF(ESBYTE[bword] == '!') //ôèëüòðàöèÿ âíóòðè , äåðçêî
281
			{
293
			{
282
				bword++;
294
				bword++;
283
				IF(ESBYTE[bword] == '-') {
295
				IF(ESBYTE[bword] == '-') {
Line 323... Line 335...
323
			copystr(#bukva, #temp + strlen(#temp));
335
			copystr(#bukva, #temp + strlen(#temp));
Line 324... Line 336...
324
			
336
			
325
			bukva=Hex2Symb(#temp);
337
			bukva=Hex2Symb(#temp);
326
			IF (bukva) goto DEFAULT_MARK;
338
			IF (bukva) goto DEFAULT_MARK;
327
			break; 
-
 
328
		/*case '\\': //ïîääåðæêà RTF, http://dev.rembish.ru/rtf.phps
-
 
329
			IF(strcmp(#URL + strlen(#URL) - 4, ".rtf")<>0) goto DEFAULT_MARK;
-
 
330
			rtf_text='';
-
 
331
			
-
 
332
			//
-
 
333
               bword++;
-
 
334
			j = 0;
-
 
335
 
-
 
336
			IF (ESBYTE[bword]=='\'')
-
 
337
			{
-
 
338
				bword++;
-
 
339
				bukva=ESBYTE[bword];
-
 
340
				copystr(#bukva, #rtf_text);
-
 
341
	
-
 
342
				bword++;
-
 
343
				bukva=ESBYTE[bword];
-
 
344
				copystr(#bukva, #rtf_text + strlen(#rtf_text));
-
 
345
 
-
 
346
				bukva=Hex2Symb(#rtf_text);
-
 
347
				IF (bukva) goto DEFAULT_MARK;
-
 
348
			}
-
 
349
 
-
 
350
			WHILE ((ESBYTE[bword] <>' ') && (j < 25) && (ESBYTE[bword] <>'\\') && (ESBYTE[bword] <>0x0d)) {
-
 
351
				bukva = ESBYTE[bword];
-
 
352
				copystr(#bukva, #rtf_text + strlen(#rtf_text));
-
 
353
				bword++;
-
 
354
				j++;
-
 
355
			}
-
 
356
			
-
 
357
			IF (strcmp(#rtf_text,"par")==0) goto NEXT_MARK;
-
 
358
			break;*/						
339
			break; 
359
		case '&':
340
		case '&':
360
			IF(ignor_text) break;
341
			IF(ignor_text) break;
361
			bword++;
342
			bword++;
362
			j = 0;
343
			j = 0;
Line 455... Line 436...
455
}
436
}
Line 456... Line 437...
456
 
437
 
457
 
438
 
458
 
439
 
Line 459... Line 440...
459
char oldtag[100];
440
char oldtag[100];
460
void TWebBrowser::WhatTextStyle(word left1, top1, width1) {
441
void TWebBrowser::WhatTextStyle(int left1, top1, width1) {
461
	dword hr_color;
442
	dword hr_color;
Line 634... Line 615...
634
			GOTO IMG_TAG;
615
			GOTO IMG_TAG;
635
		}
616
		}
Line 636... Line 617...
636
 
617
 
637
        if (image)
618
        if (image)
-
 
619
        {
-
 
620
			stroka+=h/10;
-
 
621
			
-
 
622
			if (top1+hWB1.top+WB1.height-10) //åñëè ÂѨ èçîáðàæåíèå óøëî ÂÅÐÕ èëè ÂÍÈÇ
-
 
623
				return;
-
 
624
			
-
 
625
			if (top1
638
        {
626
			{
-
 
627
				h=h-WB1.top+top1;
-
 
628
				top1=WB1.top-5;
-
 
629
			}
-
 
630
			
-
 
631
			if (top1>WB1.top+WB1.height-h-10) //åñëè ÷àñòü èçîáðàæåíèÿ ñíèçó     IF (stroka - 2 < max_kolvo_strok)
-
 
632
			{
639
			IF (width1
633
				//WriteDebug(IntToStr(top1));
-
 
634
				//WriteDebug(IntToStr(WB1.top));
640
			IF (WB1.height
635
				//WriteDebug(IntToStr(h));
-
 
636
				h=WB1.top+WB1.height-top1-10;
-
 
637
			}			 
641
		IF (top1
638
			
642
		TextGoDown2(left1+w,top1,width1-w,h);
639
			img_draw stdcall (image,left1-5,top1+10,w, h,0,0);
643
        IF (stroka - 2 < max_kolvo_strok) img_draw stdcall (image,left1-5,top1+10,w,-stroka * 10 + WB1.height -15 + h,0,0);
640
			DrawBar(left1+w - 5, top1 + 10, width1-w + 5, h, 0xFFFFFF);
644
        }
-
 
645
        //else WriteDebug(#options);
641
        }
Line 646... Line 642...
646
	}
642
	}
647
 
643
 
648
	if (!chTag("meta")) {
644
	if (!chTag("meta")) {
649
		META:
645
		META:
650
		if (!strcmp(#parametr, "charset=")) || (!strcmp(#parametr, "content="))
646
		if (!strcmp(#parametr, "charset=")) || (!strcmp(#parametr, "content="))
Line 651... Line 647...
651
		{
647
		{
652
			copystr(#options[find_symbol(#options, '=')],#options); //ïîèñê â content=
648
			copystr(#options[find_symbol(#options, '=')],#options); //ïîèñê â content=
653
 
649
 
654
      IF (!strcmp(#options,"utf-8"))
650
      IF (!strcmp(#options,"utf-8")) || (!strcmp(#options,"utf8"))
655
			{
651
			{
656
				ReadHtml(DONT_LOAD);
652
				ReadHtml(DONT_LOAD);
Line 679... Line 675...
679
	IF(blq_text == 1) stolbec = 8;
675
	IF(blq_text == 1) stolbec = 8;
680
	ELSE stolbec = 0;
676
	ELSE stolbec = 0;
681
	IF(li_text == 1) stolbec = li_tab * 5;
677
	IF(li_text == 1) stolbec = li_tab * 5;
682
	IF(stroka >= 0) && (stroka - 2 < max_kolvo_strok) DrawBar(left1 - 5, top1 + 10, width1 + 5, 10, 0xFFFFFF);
678
	IF(stroka >= 0) && (stroka - 2 < max_kolvo_strok) DrawBar(left1 - 5, top1 + 10, width1 + 5, 10, 0xFFFFFF);
683
}
679
}
684
 
-
 
685
void TextGoDown2(int left1,top1,width1,height1)//ASPER: Íàäî çàìåíèòü ýòó ôóíêöèþ áîëåå ïðàâèëüíîé.
-
 
686
{
-
 
687
  stroka+=height1/10;
-
 
688
  IF (blq_text==1) stolbec=8; ELSE stolbec=0;
-
 
689
  IF (li_text==1) stolbec=5;
-
 
690
  IF (stroka>=0) && (stroka-2
-
 
691
}
-
 
692
>
680
>