Subversion Repositories Kolibri OS

Rev

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

Rev 6043 Rev 6053
Line 1... Line -...
1
char char_width[255];
-
 
Line 2... Line 1...
2
 
1
void PreparePage() 
3
void PreparePage() 
2
{
4
{
-
 
5
int i;
3
	list.SetSizes(0, TOOLBAR_H, Form.cwidth-scroll.size_x-1, Form.cheight-TOOLBAR_H, label.size.pt+2);
-
 
4
	strcpy(#title, history.current()+strrchr(history.current(),'/'));
6
	list.SetSizes(0, TOOLBAR_H, Form.cwidth-scroll.size_x-1, Form.cheight-TOOLBAR_H, label.size.pt+1);
5
	//get font chars width, need to increase performance
7
	//get font chars width, need to increase performance
-
 
8
	//if (strstri(io.buffer_data, "")==-1) {
-
 
9
		debugln("no  found");
6
	get_label_symbols_size();
10
		label.changeSIZE();
-
 
11
		for (i=0; i<256; i++) char_width[i] = label.symbol_size(i);
7
	ChangeCharset(charsets[encoding], "CP866", io.buffer_data);
-
 
8
	if (strstri(io.buffer_data, "
-
 
9
		debugln("no  found");
12
		ChangeCharset(charsets[encoding], "CP866", io.buffer_data);
10
		DrawProgress(STEP_2_COUNT_PAGE_HEIGHT);     ParceTxt(false);   //get page height to calculate buffer size
13
		DrawProgress(STEP_2_COUNT_PAGE_HEIGHT);     ParceTxt(false);        //get page height to calculate buffer size
11
		DrawProgress(STEP_3_DRAW_PAGE_INTO_BUFFER); ParceTxt(true);    //draw text in buffer
14
		DrawProgress(STEP_3_DRAW_PAGE_INTO_BUFFER); ParceTxt(true);         //draw text in buffer
-
 
15
		DrawProgress(STEP_4_SMOOTH_FONT);           label.apply_smooth();
-
 
16
		DrawProgress(STEP_5_STOP);                  DrawPage();
-
 
17
	/*}
12
	} else {
18
	else {
13
		debugln(" tag found");
19
		debugln(" tag found");
-
 
20
		label.changeSIZE();
-
 
21
		for (i=0; i<256; i++) char_width[i] = label.symbol_size(i);
-
 
22
		ChangeCharset(charsets[encoding], "CP866", io.buffer_data);
14
		DrawProgress(STEP_2_COUNT_PAGE_HEIGHT);     ParceHtml(false);  //get page height to calculate buffer size
23
		DrawProgress(STEP_2_COUNT_PAGE_HEIGHT);     ParceHtml(false);        //get page height to calculate buffer size
15
		DrawProgress(STEP_3_DRAW_PAGE_INTO_BUFFER); ParceHtml(true);   //draw text in buffer
-
 
16
	}
-
 
17
	strcat(#title, " - Aelia");
-
 
18
	DrawTitle(#title);
24
		DrawProgress(STEP_3_DRAW_PAGE_INTO_BUFFER); ParceHtml(true);         //draw text in buffer
19
	DrawProgress(STEP_4_SMOOTH_FONT);           label.apply_smooth();
25
		DrawProgress(STEP_4_SMOOTH_FONT);           label.apply_smooth();
20
	DrawProgress(STEP_5_STOP);                  DrawPage();
26
		DrawProgress(STEP_5_STOP);                  DrawPage();
-
 
27
	}*/
21
}
Line 28... Line 22...
28
}
22
 
29
 
23
void ParceTxt(byte draw)
30
void ParceTxt(byte draw)
24
{
Line 47... Line 41...
47
				if (srch_pos == line_start) break; //no white space found in whole line
41
				srch_pos--;
48
				srch_pos--;
42
			}
49
			}
43
			if (draw==true) {
50
			if (draw==true) {
44
				ESBYTE[bufoff] >< zeroch; //set line end
51
				ESBYTE[bufoff] >< zeroch; //set line end
45
				WriteTextIntoBuf(8, stroka_y, 0x000000, line_start);
52
				label.write_buf(8,stroka_y,list.w,label.size.height, 0xFFFFFF, 0, label.size.pt, line_start);
46
				ESBYTE[bufoff] >< zeroch; //restore line
53
				ESBYTE[bufoff] >< zeroch; //restore line
47
			}
54
				DrawProgressWhileDrawing(bufoff, buflen);
-
 
55
				if (stroka_y/list.item_h-list.first==list.visible) DrawPage();
-
 
56
			}
48
			stroka_y += list.item_h;
57
			stroka_y += list.item_h;
49
			line_start = bufoff;
58
			line_start = bufoff;
50
			line_length = 0;
59
			line_length = 0;
51
		}
60
		}
52
	}
Line 63... Line 55...
63
		list.count = stroka_y/list.item_h+2;
55
		if (list.count < list.visible) list.count = list.visible;
64
		if (list.count < list.visible) list.count = list.visible;
56
		label.size.height = list.count+1*list.item_h;
65
		label.size.height = list.count+1*list.item_h;
57
		label.raw_size = 0;
66
		label.raw_size = 0;
58
	} 
67
	} 
59
	if (draw==true) WriteTextIntoBuf(8, stroka_y, 0x000000, line_start);
68
	if (draw==true) label.write_buf(8,stroka_y,list.w,label.size.height, 0xFFFFFF, 0, label.size.pt, line_start);
60
}
69
}
61
 
Line 70... Line 62...
70
 
62
 
71
 
63
/*========================================================
72
/*========================================================
64
=                                                        =
73
=                                                        =
65
=                        HTML                            =
74
=                        HTML                            =
66
=                                                        =
Line 75... Line -...
75
=                                                        =
-
 
76
========================================================*/
-
 
77
 
-
 
78
/*
-
 
79
HTML parcer tags:
-
 
80
 
67
========================================================*/
81
 
-
 
82
 
-
 
83
 
-
 
84

...

-
 
85
 
-
 
86
 
-
 
Line 87... Line 68...
87
 
68
 
88
 
69
/*    <meta encoding> <a hrf=""> <img src="" alt=""> <h1>..<h6> <b> <u> <s> <pre> */</pre></td>
          </tr>
          <tr>
            <td class="lineno">89</td>
            <td class="diff"><pre>*/</pre></td>
            <td class="lineno">70</td>
            <td class="diff"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">90</td>
            <td class="diff"><pre> </pre></td>
            <td class="lineno">71</td>
            <td class="diff"><pre>struct _DOM {</pre></td>
          </tr>
          <tr>
            <th colspan="2">Line 97...</th>
            <th colspan="2">Line 78...</th>
          </tr>
          <tr>
            <td class="lineno">97</td>
            <td class="diff"><pre>struct _style {</pre></td>
            <td class="lineno">78</td>
            <td class="diff"><pre>	bool b, u, i, s;</pre></td>
          </tr>
          <tr>
            <td class="lineno">98</td>
            <td class="diff"><pre>	bool b, u, i, s;</pre></td>
            <td class="lineno">79</td>
            <td class="diff"><pre>	bool h1, h2, h3, h4, h5, h6;</pre></td>
          </tr>
          <tr>
            <td class="lineno">99</td>
            <td class="diff"><pre>	bool h1, h2, h3, h4, h5, h6;</pre></td>
            <td class="lineno">80</td>
            <td class="diff"><pre>	bool a;</pre></td>
          </tr>
          <tr>
            <td class="lineno">100</td>
            <td class="diff"><pre>	bool a;</pre></td>
            <td class="lineno">81</td>
            <td class="diff"><pre>	bool pre;</pre></td>
          </tr>
          <tr>
            <td class="lineno">101</td>
            <td class="diff"><pre>	bool pre;</pre></td>
            <td class="lineno">82</td>
            <td class="diff"><pre>	bool ignore;</pre></td>
          </tr>
          <tr>
            <td class="lineno">102</td>
            <td class="diffchanged"><pre>	bool title;</pre></td>
            <td class="lineno">83</td>
            <td class="diffchanged"><pre>	dword color;</pre></td>
          </tr>
          <tr>
            <td class="lineno">103</td>
            <td class="diffchanged"><pre>	bool br;</pre></td>
            <td class="lineno">84</td>
            <td class="diffchanged"><pre>} style;</pre></td>
          </tr>
          <tr>
            <td class="lineno">104</td>
            <td class="diff"><pre>} style;</pre></td>
            <td class="lineno">85</td>
            <td class="diff"><pre> </pre></td>
          </tr>
          <tr>
            <th colspan="2">Line -...</th>
            <th colspan="2">Line 86...</th>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">86</td>
            <td class="diffadded"><pre>struct _text {</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">87</td>
            <td class="diffadded"><pre>	dword start;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">88</td>
            <td class="diffadded"><pre>	int x, y;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">89</td>
            <td class="diffadded"><pre>};</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">90</td>
            <td class="diffadded"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">105</td>
            <td class="diff"><pre> </pre></td>
            <td class="lineno">91</td>
            <td class="diff"><pre>struct _tag {</pre></td>
          </tr>
          <tr>
            <td class="lineno">106</td>
            <td class="diff"><pre>struct _tag {</pre></td>
            <td class="lineno">92</td>
            <td class="diff"><pre>	dword start;</pre></td>
          </tr>
          <tr>
            <td class="lineno">107</td>
            <td class="diff"><pre>	dword start;</pre></td>
            <td class="lineno">93</td>
            <td class="diff"><pre>	dword name;</pre></td>
          </tr>
          <tr>
            <td class="lineno">108</td>
            <td class="diff"><pre>	dword name;</pre></td>
            <td class="lineno">94</td>
            <td class="diff"><pre>	dword param[10];</pre></td>
          </tr>
          <tr>
            <td class="lineno">109</td>
            <td class="diff"><pre>	dword param[10];</pre></td>
            <td class="lineno">95</td>
            <td class="diff"><pre>	dword value[10];</pre></td>
          </tr>
          <tr>
            <td class="lineno">110</td>
            <td class="diff"><pre>	dword value[10];</pre></td>
            <td class="lineno">96</td>
            <td class="diff"><pre>	void parce();</pre></td>
          </tr>
          <tr>
            <td class="lineno">111</td>
            <td class="diffchanged"><pre>	void parce();</pre></td>
            <td class="lineno">97</td>
            <td class="diffchanged"><pre>	int nameis();</pre></td>
          </tr>
          <tr>
            <td class="lineno">112</td>
            <td class="diff"><pre>	void get_param_value();</pre></td>
            <td class="lineno">98</td>
            <td class="diff"><pre>};</pre></td>
          </tr>
          <tr>
            <th colspan="2">Line 113...</th>
            <th colspan="2">Line 99...</th>
          </tr>
          <tr>
            <td class="lineno">113</td>
            <td class="diff"><pre>};</pre></td>
            <td class="lineno">99</td>
            <td class="diff"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">114</td>
            <td class="diff"><pre> </pre></td>
            <td class="lineno">100</td>
            <td class="diff"><pre>void _tag::parce()</pre></td>
          </tr>
          <tr>
            <td class="lineno">115</td>
            <td class="diffchanged"><pre>void _tag::parce()</pre></td>
            <td class="lineno">101</td>
            <td class="diffchanged"><pre>{</pre></td>
          </tr>
          <tr>
            <td class="lineno">116</td>
            <td class="diffchanged"><pre>{</pre></td>
            <td class="lineno">102</td>
            <td class="diffchanged"><pre>	dword o = name = start;</pre></td>
          </tr>
          <tr>
            <td class="lineno">117</td>
            <td class="diffdeleted"><pre>	bool closed_status = false;</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">118</td>
            <td class="diffchanged"><pre>	if (start) debugln(start);</pre></td>
            <td class="lineno">103</td>
            <td class="diffchanged"><pre>	while (ESBYTE[o]!=' ') && (ESBYTE[o]) o++; //searching for a space after tag name</pre></td>
          </tr>
          <tr>
            <td class="lineno">119</td>
            <td class="diffchanged"><pre>	/*</pre></td>
            <td class="lineno">104</td>
            <td class="diffchanged"><pre>	ESBYTE[o] = '\0';</pre></td>
          </tr>
          <tr>
            <td class="lineno">120</td>
            <td class="diffdeleted"><pre>	if (strncmp(start, "/", 1)==0) {</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">121</td>
            <td class="diffdeleted"><pre>		start++;</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">122</td>
            <td class="diffdeleted"><pre>		closed_status = true;</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">123</td>
            <td class="diffdeleted"><pre>	}</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">124</td>
            <td class="diffdeleted"><pre>	if (!strcmp(start, "title")) style.title = closed_status;</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">125</td>
            <td class="diff"><pre>	if (!strcmp(start, "br")) style.br = closed_status;</pre></td>
            <td class="lineno">105</td>
            <td class="diff"><pre>	strlwr(name);</pre></td>
          </tr>
          <tr>
            <th colspan="2">Line 126...</th>
            <th colspan="2">Line -...</th>
          </tr>
          <tr>
            <td class="lineno">126</td>
            <td class="diffdeleted"><pre>	*/</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">127</td>
            <td class="diffdeleted"><pre>}</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">128</td>
            <td class="diffdeleted"><pre> </pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">129</td>
            <td class="diffdeleted"><pre>struct _text {</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">130</td>
            <td class="diffdeleted"><pre>	dword start;</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">131</td>
            <td class="diffdeleted"><pre>	int x, y;</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">132</td>
            <td class="diffchanged"><pre>	void draw();	</pre></td>
            <td class="lineno">106</td>
            <td class="diffchanged"><pre>}</pre></td>
          </tr>
          <tr>
            <td class="lineno">133</td>
            <td class="diff"><pre>};</pre></td>
            <td class="lineno">107</td>
            <td class="diff"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">134</td>
            <td class="diffdeleted"><pre> </pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">135</td>
            <td class="diffdeleted"><pre>void _text::draw()</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">136</td>
            <td class="diffdeleted"><pre>{</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">137</td>
            <td class="diffchanged"><pre>	if (start) debugln(start);</pre></td>
            <td class="lineno">108</td>
            <td class="diffchanged"><pre>int _tag::nameis(dword _in_tag_name)</pre></td>
          </tr>
          <tr>
            <td class="lineno">138</td>
            <td class="diffdeleted"><pre>	/*</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">139</td>
            <td class="diffdeleted"><pre>	if (style.title) {</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">140</td>
            <td class="diffdeleted"><pre>		strlcpy(#title, start, sizeof(title));</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">141</td>
            <td class="diffdeleted"><pre>		DrawTitle(#title);</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">142</td>
            <td class="diffdeleted"><pre>		return;</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">143</td>
            <td class="diffchanged"><pre>	}</pre></td>
            <td class="lineno">109</td>
            <td class="diffchanged"><pre>{</pre></td>
          </tr>
          <tr>
            <td class="lineno">144</td>
            <td class="diffdeleted"><pre>	if (style.br) {</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">145</td>
            <td class="diffdeleted"><pre>		y += list.item_h;</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">146</td>
            <td class="diff"><pre>		style.br = false;</pre></td>
            <td class="lineno">110</td>
            <td class="diff"><pre>	if (strcmp(_in_tag_name, name)==0) return true;</pre></td>
          </tr>
          <tr>
            <th colspan="2">Line -...</th>
            <th colspan="2">Line 111...</th>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">111</td>
            <td class="diffadded"><pre>	return false;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">112</td>
            <td class="diffadded"><pre>}</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">113</td>
            <td class="diffadded"><pre> </pre></td>
          </tr>
          <tr>
            <th colspan="2">Line 147...</th>
            <th colspan="2">Line 114...</th>
          </tr>
          <tr>
            <td class="lineno">147</td>
            <td class="diff"><pre>	}</pre></td>
            <td class="lineno">114</td>
            <td class="diff"><pre>#define HTML_PADDING_X 8;</pre></td>
          </tr>
          <tr>
            <td class="lineno">148</td>
            <td class="diff"><pre>	*/</pre></td>
            <td class="lineno">115</td>
            <td class="diff"><pre>#define HTML_PADDING_Y 5;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">116</td>
            <td class="diffadded"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">117</td>
            <td class="diffadded"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">118</td>
            <td class="diffadded"><pre>void ParceHtml(byte draw)</pre></td>
          </tr>
          <tr>
            <td class="lineno">149</td>
            <td class="diffchanged"><pre>}</pre></td>
            <td class="lineno">119</td>
            <td class="diffchanged"><pre>{</pre></td>
          </tr>
          <tr>
            <td class="lineno">150</td>
            <td class="diff"><pre> </pre></td>
            <td class="lineno">120</td>
            <td class="diff"><pre>int stroka_x = HTML_PADDING_X;</pre></td>
          </tr>
          <tr>
            <td class="lineno">151</td>
            <td class="diff"><pre> </pre></td>
            <td class="lineno">121</td>
            <td class="diff"><pre>int stroka_y = HTML_PADDING_Y;</pre></td>
          </tr>
          <tr>
            <td class="lineno">152</td>
            <td class="diff"><pre>void ParceHtml(byte draw)</pre></td>
            <td class="lineno">122</td>
            <td class="diff"><pre>dword line_break;</pre></td>
          </tr>
          <tr>
            <td class="lineno">153</td>
            <td class="diff"><pre>{</pre></td>
            <td class="lineno">123</td>
            <td class="diff"><pre>byte ch, zeroch;</pre></td>
          </tr>
          <tr>
            <th colspan="2">Line 154...</th>
            <th colspan="2">Line 124...</th>
          </tr>
          <tr>
            <td class="lineno">154</td>
            <td class="diff"><pre>byte ch;</pre></td>
            <td class="lineno">124</td>
            <td class="diff"><pre>_DOM DOM;</pre></td>
          </tr>
          <tr>
            <td class="lineno">155</td>
            <td class="diffchanged"><pre>_DOM DOM;</pre></td>
            <td class="lineno">125</td>
            <td class="diffchanged"><pre>_text text;</pre></td>
          </tr>
          <tr>
            <td class="lineno">156</td>
            <td class="diff"><pre>_text text;</pre></td>
            <td class="lineno">126</td>
            <td class="diff"><pre>_tag tag;</pre></td>
          </tr>
          <tr>
            <td class="lineno">157</td>
            <td class="diff"><pre>_tag tag;</pre></td>
            <td class="lineno">127</td>
            <td class="diff"><pre>dword DOM_pos;</pre></td>
          </tr>
          <tr>
            <td class="lineno">158</td>
            <td class="diff"><pre>dword DOM_pos;</pre></td>
            <td class="lineno">128</td>
            <td class="diff"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">159</td>
            <td class="diff"><pre> </pre></td>
            <td class="lineno">129</td>
            <td class="diff"><pre>	/* Create DOM */</pre></td>
          </tr>
          <tr>
            <th colspan="2">Line 160...</th>
            <th colspan="2">Line 130...</th>
          </tr>
          <tr>
            <td class="lineno">160</td>
            <td class="diff"><pre>	/* Create DOM */</pre></td>
            <td class="lineno">130</td>
            <td class="diff"><pre>	debugln("creating DOM");</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">131</td>
            <td class="diffadded"><pre>	DOM.len = strlen(io.buffer_data);</pre></td>
          </tr>
          <tr>
            <td class="lineno">161</td>
            <td class="diff"><pre>	debugln("starting DOM parce");</pre></td>
            <td class="lineno">132</td>
            <td class="diff"><pre>	DOM.start = malloc(DOM.len);</pre></td>
          </tr>
          <tr>
            <td class="lineno">162</td>
            <td class="diff"><pre>	DOM.len = strlen(io.buffer_data);</pre></td>
            <td class="lineno">133</td>
            <td class="diff"><pre>	DOM.end = DOM.start + DOM.len;</pre></td>
          </tr>
          <tr>
            <td class="lineno">163</td>
            <td class="diff"><pre>	DOM.start = malloc(DOM.len);</pre></td>
            <td class="lineno">134</td>
            <td class="diff"><pre>	strlcpy(DOM.start, io.buffer_data, DOM.len);</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">135</td>
            <td class="diffadded"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">164</td>
            <td class="diff"><pre>	DOM.end = DOM.start + DOM.len;</pre></td>
            <td class="lineno">136</td>
            <td class="diff"><pre>	/* Parce DOM */</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">137</td>
            <td class="diffadded"><pre>	debugln("starting DOM parce...");</pre></td>
          </tr>
          <tr>
            <td class="lineno">165</td>
            <td class="diff"><pre>	strlcpy(DOM.start, io.buffer_data, DOM.len);</pre></td>
            <td class="lineno">138</td>
            <td class="diff"><pre>	text.start = DOM_pos;</pre></td>
          </tr>
          <tr>
            <td class="lineno">166</td>
            <td class="diffchanged"><pre> </pre></td>
            <td class="lineno">139</td>
            <td class="diffchanged"><pre>	for (DOM_pos=DOM.start; DOM_pos<DOM.end; DOM_pos++)</pre></td>
          </tr>
          <tr>
            <td class="lineno">167</td>
            <td class="diff"><pre>	/* Parce DOM */</pre></td>
            <td class="lineno">140</td>
            <td class="diff"><pre>	{</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">141</td>
            <td class="diffadded"><pre>		if (ESBYTE[DOM_pos]==0x0D) || (ESBYTE[DOM_pos]==0x0A) ESBYTE[DOM_pos]=' ';</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">142</td>
            <td class="diffadded"><pre>		ch = ESBYTE[DOM_pos];</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">143</td>
            <td class="diffadded"><pre>		//debugch(ch);</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">144</td>
            <td class="diffadded"><pre>		if (ch=='<') {</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">145</td>
            <td class="diffadded"><pre>			ESBYTE[DOM_pos] = '\0';</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">146</td>
            <td class="diffadded"><pre>			tag.start = DOM_pos + 1;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">147</td>
            <td class="diffadded"><pre>			if (style.ignore) continue;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">148</td>
            <td class="diffadded"><pre>			if (tag.nameis("title")) {</pre></td>
          </tr>
          <tr>
            <td class="lineno">168</td>
            <td class="diffchanged"><pre>	text.start = DOM_pos;</pre></td>
            <td class="lineno">149</td>
            <td class="diffchanged"><pre>				strcpy(#title, text.start);</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">150</td>
            <td class="diffadded"><pre>				continue;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">151</td>
            <td class="diffadded"><pre>			}</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">152</td>
            <td class="diffadded"><pre>			while (get_label_len(text.start) + stroka_x + 30 > list.w)</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">153</td>
            <td class="diffadded"><pre>			{</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">154</td>
            <td class="diffadded"><pre>				//debugln("long line cut");</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">155</td>
            <td class="diffadded"><pre>				zeroch = 0;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">156</td>
            <td class="diffadded"><pre>				for (line_break=tag.start-1; line_break>text.start; line_break--;)</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">157</td>
            <td class="diffadded"><pre>				{</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">158</td>
            <td class="diffadded"><pre>					ESBYTE[line_break] >< zeroch; //set line end</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">159</td>
            <td class="diffadded"><pre>					if (get_label_len(text.start) + stroka_x + 30 <= list.w) break;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">160</td>
            <td class="diffadded"><pre>					ESBYTE[line_break] >< zeroch; //restore line</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">161</td>
            <td class="diffadded"><pre>				}</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">162</td>
            <td class="diffadded"><pre>				if (draw==true) {</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">163</td>
            <td class="diffadded"><pre>					if (style.a) label_draw_bar(stroka_x, stroka_y+label.size.pt+1, get_label_len(text.start), style.color);</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">164</td>
            <td class="diffadded"><pre>					WriteTextIntoBuf(stroka_x, stroka_y, style.color, text.start);</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">165</td>
            <td class="diffadded"><pre>				}</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">166</td>
            <td class="diffadded"><pre>				ESBYTE[line_break] >< zeroch; //restore line</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">167</td>
            <td class="diffadded"><pre>				text.start = line_break;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">168</td>
            <td class="diffadded"><pre>				stroka_x = HTML_PADDING_X;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">169</td>
            <td class="diffadded"><pre>				stroka_y += list.item_h;</pre></td>
          </tr>
          <tr>
            <td class="lineno">169</td>
            <td class="diff"><pre>	for (DOM_pos=DOM.start; DOM_pos<DOM.end; DOM_pos++)</pre></td>
            <td class="lineno">170</td>
            <td class="diff"><pre>			}</pre></td>
          </tr>
          <tr>
            <td class="lineno">170</td>
            <td class="diff"><pre>	{</pre></td>
            <td class="lineno">171</td>
            <td class="diff"><pre>			if (draw==true) {</pre></td>
          </tr>
          <tr>
            <td class="lineno">171</td>
            <td class="diffchanged"><pre>		ch = ESBYTE[DOM_pos];</pre></td>
            <td class="lineno">172</td>
            <td class="diffchanged"><pre>				if (style.a) label_draw_bar(stroka_x, stroka_y+label.size.pt+1, get_label_len(text.start), style.color);</pre></td>
          </tr>
          <tr>
            <td class="lineno">172</td>
            <td class="diff"><pre>		if (ch=='<') {</pre></td>
            <td class="lineno">173</td>
            <td class="diff"><pre>				WriteTextIntoBuf(stroka_x, stroka_y, style.color, text.start);</pre></td>
          </tr>
          <tr>
            <td class="lineno">173</td>
            <td class="diff"><pre>			ESBYTE[DOM_pos] = NULL;</pre></td>
            <td class="lineno">174</td>
            <td class="diff"><pre>			}</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">175</td>
            <td class="diffadded"><pre>			stroka_x += get_label_len(text.start);</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">176</td>
            <td class="diffadded"><pre>		}</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">177</td>
            <td class="diffadded"><pre>		if (ch=='>') {</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">178</td>
            <td class="diffadded"><pre>			ESBYTE[DOM_pos] = '\0';</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">179</td>
            <td class="diffadded"><pre>			text.start = DOM_pos + 1;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">180</td>
            <td class="diffadded"><pre>			tag.parce();</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">181</td>
            <td class="diffadded"><pre>			if (tag.nameis("br")) || (tag.nameis("p")) || (tag.nameis("div")) || (tag.nameis("h1")) || (tag.nameis("h2")) {</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">182</td>
            <td class="diffadded"><pre>				stroka_y+= list.item_h;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">183</td>
            <td class="diffadded"><pre>				stroka_x = HTML_PADDING_X;</pre></td>
          </tr>
          <tr>
            <td class="lineno">174</td>
            <td class="diff"><pre>			tag.start = DOM_pos + 1;</pre></td>
            <td class="lineno">184</td>
            <td class="diff"><pre>				continue;</pre></td>
          </tr>
          <tr>
            <td class="lineno">175</td>
            <td class="diff"><pre>			text.draw();</pre></td>
            <td class="lineno">185</td>
            <td class="diff"><pre>			}</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">186</td>
            <td class="diffadded"><pre>			if (tag.nameis("script")) || (tag.nameis("style")) style.ignore = true;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">187</td>
            <td class="diffadded"><pre>			if (tag.nameis("/script")) || (tag.nameis("/style")) style.ignore = false;</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">188</td>
            <td class="diffadded"><pre>			if (tag.nameis("a"))  { style.a = true;  style.color=0x0000FF; }</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">189</td>
            <td class="diffadded"><pre>			if (tag.nameis("/a")) { style.a = false; style.color=0x000000; }</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">190</td>
            <td class="diffadded"><pre>		}		</pre></td>
          </tr>
          <tr>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
            <td class="lineno">191</td>
            <td class="diffadded"><pre>	}</pre></td>
          </tr>
          <tr>
            <td class="lineno">176</td>
            <td class="diff"><pre>		}</pre></td>
            <td class="lineno">192</td>
            <td class="diff"><pre>	if (draw==false) {</pre></td>
          </tr>
          <tr>
            <td class="lineno">177</td>
            <td class="diffdeleted"><pre>		if (ch=='>') {</pre></td>
            <td class="lineno">-</td>
            <td class="diffempty"><pre> </pre></td>
          </tr>
          <tr>
            <td class="lineno">178</td>
            <td class="diff"><pre>			ESBYTE[DOM_pos] = NULL;</pre></td>
            <td class="lineno">193</td>
            <td class="diff"><pre>		list.count = stroka_y/list.item_h+2;</pre></td>
          </tr>
          <tr>
            <td class="lineno">179</td>
            <td class="diff"><pre>			text.start = DOM_pos + 1;</pre></td>
            <td class="lineno">194</td>
            <td class="diff"><pre>		if (list.count < list.visible) list.count = list.visible;</pre></td>
          </tr>
        </tbody>
       </table>
  </div>
</div>
<div id="footer">
  <p style="padding:0; margin:0"><small>Powered by <a href="https://websvnphp.github.io/">WebSVN</a> 2.7.0 and <a href="http://subversion.apache.org">Apache Subversion</a> 1.14.1     ✓ <a href="http://validator.w3.org/check?uri=http://websvn.kolibrios.org/diff.php?repname=Kolibri+OS%26path=%2Fprograms%2Fcmm%2Faelia%2Fprepare_page.h%26rev=6053%26peg=6053%26template=%26language=en">XHTML</a> & <a href="http://jigsaw.w3.org/css-validator/validator?uri=http://websvn.kolibrios.org/diff.php?repname=Kolibri+OS%26path=%2Fprograms%2Fcmm%2Faelia%2Fprepare_page.h%26rev=6053%26peg=6053%26template=%26language=en">CSS</a></small></p>
</div>
</body>
</html>