Rev 3466 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3466 | Rev 3468 | ||
---|---|---|---|
Line 6... | Line 6... | ||
6 | blink; |
6 | blink; |
7 | 7 | ||
Line 8... | Line 8... | ||
8 | char download_path[]="/rd/1/.download"; |
8 | char download_path[]="/rd/1/.download"; |
9 | char search_path[]="http://nigma.ru/index.php?s="; |
9 | char search_path[]="http://nigma.ru/index.php?s="; |
10 | char version[]=" Text-based Browser 0.99"; |
10 | char version[]=" Text-based Browser 0.99.01"; |
Line 11... | Line 11... | ||
11 | 11 | ||
12 | 12 | ||
13 | struct TWebBrowser { |
13 | struct TWebBrowser { |
Line 58... | Line 58... | ||
58 | free(drawbuf); |
58 | free(drawbuf); |
59 | drawbuf = malloc(WB1.width * WB1.line_h +4 * 4 + 8); //+1 for good luck |
59 | drawbuf = malloc(WB1.width * WB1.line_h +4 * 4 + 8); //+1 for good luck |
60 | ESDWORD[drawbuf] = WB1.width; |
60 | ESDWORD[drawbuf] = WB1.width; |
61 | ESDWORD[drawbuf+4] = WB1.line_h; |
61 | ESDWORD[drawbuf+4] = WB1.line_h; |
62 | DrawBufFill(); |
62 | } |
63 | } |
- | |
64 | void DrawBufFill() |
63 | void DrawBufFill() |
65 | { |
64 | { |
66 | int i; |
65 | int i; |
67 | for (i=0; i |
66 | for (i=0; i |
68 | } |
67 | } |
Line 200... | Line 199... | ||
200 | break; |
199 | break; |
201 | case 004: //Ctrl+D |
200 | case 004: //Ctrl+D |
202 | ReadHtml(_DOS); |
201 | ReadHtml(_DOS); |
203 | break; |
202 | break; |
204 | case 001: |
203 | case 002: //free img cache |
205 | if (!pre_text) pre_text=2; |
- | |
206 | else pre_text=0; |
- | |
207 | break; |
- | |
208 | case 002: //free img cache |
- | |
209 | FreeImgCache(); |
204 | FreeImgCache(); |
210 | break; |
205 | break; |
211 | case 005: //truetype |
206 | case 003: |
- | 207 | if (!pre_text) pre_text=2; |
|
- | 208 | else pre_text=0; |
|
- | 209 | break; |
|
- | 210 | case 005: //truetype |
|
212 | if (use_truetype == 2) |
211 | if (use_truetype == 2) |
213 | { |
212 | { |
214 | RunProgram("@notify", "Library does not exists /rd/1/lib/truetype.obj"w); |
213 | RunProgram("@notify", "Library does not exists /rd/1/lib/truetype.obj"w); |
215 | return; |
214 | return; |
216 | } |
215 | } |
Line 223... | Line 222... | ||
223 | case FORWARD: |
222 | case FORWARD: |
224 | if (!BrowserHistory.GoForward()) return; |
223 | if (!BrowserHistory.GoForward()) return; |
225 | OpenPage(); |
224 | OpenPage(); |
226 | return; |
225 | return; |
227 | //case 255: //F12 |
226 | case 255: //F12 |
228 | // RunProgram("/rd/1/HTMLv_old", #URL); |
227 | RunProgram("/rd/1/HTMLv_old", #URL); |
229 | // return; |
228 | return; |
230 | case 052: //F3 |
229 | case 052: //F3 |
231 | if (strcmp(get_URL_part(5),"http:")<>0) RunProgram("/rd/1/tinypad", #URL); else RunProgram("/rd/1/tinypad", #download_path); |
230 | if (strcmp(get_URL_part(5),"http:")<>0) RunProgram("/rd/1/tinypad", #URL); else RunProgram("/rd/1/tinypad", #download_path); |
232 | return; |
231 | return; |
233 | case 054: //F5 |
232 | case 054: //F5 |
234 | IF(address_box.flags & 0b10) break; |
233 | IF(address_box.flags & 0b10) break; |
235 | case REFRESH: |
234 | case REFRESH: |
Line 424... | Line 423... | ||
424 | int j, perenos_num; |
423 | int j, perenos_num; |
425 | byte ignor_param; |
424 | byte ignor_param; |
426 | char temp[768]; |
425 | char temp[768]; |
427 | 426 | ||
Line 428... | Line -... | ||
428 | stroka = -lines.first; |
- | |
429 | stolbec = 0; |
- | |
430 | - | ||
431 | for (j = 400; j < blink + 1; j++;) DeleteButton(j); |
427 | if (blink<400) blink=400; else for ( ; blink>400; blink--;) DeleteButton(blink); |
432 | blink = 400; |
- | |
433 | - | ||
434 | b_text = i_text = u_text = s_text = blq_text = |
428 | b_text = i_text = u_text = s_text = blq_text = |
435 | li_text = link = ignor_text = text_color_index = text_colors[0] = li_tab = 0; //îáíóëÿåì òåãè |
429 | li_text = link = ignor_text = text_color_index = text_colors[0] = li_tab = 0; //îáíóëÿåì òåãè |
436 | link_color = 0x0000FF; |
430 | link_color = 0x0000FF; |
437 | bg_color = 0xFFFFFF; |
431 | bg_color = 0xFFFFFF; |
- | 432 | DrawBufFill(); |
|
438 | line = NULL; |
433 | line = NULL; |
439 | strcpy(#page_links,"|"); |
434 | strcpy(#page_links,"|"); |
440 | strcpy(#header, #version); |
435 | strcpy(#header, #version); |
441 | DrawBufInit(); |
436 | stroka = -lines.first; |
- | 437 | stolbec = 0; |
|
Line 442... | Line 438... | ||
442 | 438 | ||
443 | if (pre_text<>2) |
439 | if (pre_text<>2) |
444 | { |
440 | { |
445 | pre_text=0; |
441 | pre_text=0; |
Line 464... | Line 460... | ||
464 | { |
460 | { |
465 | tab_len=strlen(#line)/8; |
461 | tab_len=strlen(#line)/8; |
466 | tab_len=tab_len*8; |
462 | tab_len=tab_len*8; |
467 | tab_len=8+tab_len-strlen(#line); |
463 | tab_len=8+tab_len-strlen(#line); |
468 | for (j=0; j |
464 | for (j=0; j |
469 | break; |
465 | break; |
470 | } |
466 | } |
471 | case 0x0d: |
467 | goto DEFAULT_MARK; |
472 | bukva = ' '; |
- | |
473 | goto DEFAULT_MARK; |
- | |
474 | case '=': //ïîääåðæêà øàéòàíñêîé êîäèðîâêè ñòðàíèö, ñîõðàí¸ííûõ ÷åðåç ÈÅ7 |
468 | case '=': //quoted printable |
475 | if (strcmp(#URL + strlen(#URL) - 4, ".mht")<>0) goto DEFAULT_MARK; |
469 | if (strcmp(#URL + strlen(#URL) - 4, ".mht")<>0) goto DEFAULT_MARK; |
476 | 470 | ||
Line 477... | Line 471... | ||
477 | bword++; |
471 | temp[0] = ESBYTE[bword+1]; |
478 | bukva=ESBYTE[bword]; |
472 | temp[1] = ESBYTE[bword+2]; |
479 | strcpy(#temp,#bukva); |
473 | temp[2] = '\0'; |
480 | bword++; |
- | |
481 | bukva=ESBYTE[bword]; |
474 | if (bukva = Hex2Symb(#temp)) |
482 | strcat(#temp,#bukva); |
- | |
483 | 475 | { |
|
484 | bukva=Hex2Symb(#temp); |
476 | bword+=2; |
485 | if (bukva) goto DEFAULT_MARK; |
477 | goto DEFAULT_MARK; |
- | 478 | } |
|
486 | break; |
479 | break; |
Line 487... | Line 480... | ||
487 | 480 | ||
488 | case '&': // and so on |
481 | case '&': // and so on |
489 | bword++; |
482 | bword++; |
490 | tag=0; |
483 | tag=0; |
491 | for (j=0; (ESBYTE[bword]<>';') && (j<7); j++, bword++;) |
484 | for (j=0; (ESBYTE[bword]<>';') && (j<7); j++, bword++;) |
492 | { |
485 | { |
493 | bukva = ESBYTE[bword]; |
486 | bukva = ESBYTE[bword]; |
494 | strcat(#tag, #bukva); |
487 | chrcat(#tag, bukva); |
Line 495... | Line 488... | ||
495 | } |
488 | } |
496 | 489 | ||
497 | bukva = GetUnicodeSymbol(); |
490 | bukva = GetUnicodeSymbol(); |
Line 557... | Line 550... | ||
557 | tag = parametr = tagparam = ignor_param = NULL; |
550 | tag = parametr = tagparam = ignor_param = NULL; |
558 | break; |
551 | break; |
559 | default: |
552 | default: |
560 | DEFAULT_MARK: |
553 | DEFAULT_MARK: |
- | 554 | if (bukva<=15) bukva=' '; |
|
561 | if (!pre_text) && (bukva == ' ') |
555 | if (!pre_text) && (bukva == ' ') |
562 | { |
556 | { |
563 | if (line[strlen(#line)-1]==' ') break; //óáðàòü 2 ïðîáåëà ïîäðÿä |
557 | if (line[strlen(#line)-1]==' ') break; //óáðàòü 2 ïðîáåëà ïîäðÿä |
564 | if (!stolbec) && (!line) break; //ñòðîêà íå ìîæåò íà÷èíàòüñÿ ñ ïðîáåëà |
558 | if (!stolbec) && (!line) break; //ñòðîêà íå ìîæåò íà÷èíàòüñÿ ñ ïðîáåëà |
565 | } |
559 | } |