Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6057 → Rev 6058

/programs/cmm/aelia/prepare_page.h
6,6 → 6,7
//get font chars width, need to increase performance
get_label_symbols_size();
ChangeCharset(charsets[encoding], "CP866", io.buffer_data);
link.clear();
if (strstri(io.buffer_data, "<html")==-1) {
debugln("no <html> found");
DrawProgress(STEP_2_COUNT_PAGE_HEIGHT); ParceTxt(false); //get page height to calculate buffer size
82,8 → 83,19
bool pre;
bool ignore;
dword color;
void clear();
} style;
 
void _style::clear()
{
b=u=i=s=0;
h1=h2=h3=h4=h5=h6=0;
a=0;
pre=0;
ignore=0;
color=0;
}
 
struct _text {
dword start;
int x, y;
96,6 → 108,7
dword value[10];
void parce();
int nameis();
void clear();
};
 
void _tag::parce()
108,10 → 121,15
 
int _tag::nameis(dword _in_tag_name)
{
if (strcmp(_in_tag_name, name)==0) return true;
if (name) && (strcmp(_in_tag_name, name)==0) return true;
return false;
}
 
void _tag::clear()
{
start=name=0;
}
 
#define HTML_PADDING_X 8;
#define HTML_PADDING_Y 5;
 
127,6 → 145,8
_tag tag;
dword DOM_pos;
 
tag.clear();
style.clear();
/* Create DOM */
debugln("creating DOM");
DOM.len = strlen(io.buffer_data);
133,15 → 153,16
DOM.start = malloc(DOM.len);
DOM.end = DOM.start + DOM.len;
strlcpy(DOM.start, io.buffer_data, DOM.len);
//RemoveSpecialSymbols(DOM.start, DOM.len);
//DOM.len = strlen(DOM.start);
 
/* Parce DOM */
debugln("starting DOM parce...");
text.start = DOM_pos;
text.start = DOM.start;
for (DOM_pos=DOM.start; DOM_pos<DOM.end; DOM_pos++)
{
if (ESBYTE[DOM_pos]==0x0D) || (ESBYTE[DOM_pos]==0x0A) ESBYTE[DOM_pos]=' ';
ch = ESBYTE[DOM_pos];
//debugch(ch);
if (ch=='<') {
ESBYTE[DOM_pos] = '\0';
tag.start = DOM_pos + 1;
152,7 → 173,6
}
while (get_label_len(text.start) + stroka_x + 30 > list.w)
{
//debugln("long line cut");
zeroch = 0;
for (line_break=tag.start-1; line_break>text.start; line_break--;)
{
161,7 → 181,10
ESBYTE[line_break] >< zeroch; //restore line
}
if (draw==true) {
if (style.a) label_draw_bar(stroka_x, stroka_y+label.size.pt+1, get_label_len(text.start), style.color);
if (style.a) {
link.add(stroka_x,stroka_y,get_label_len(text.start),list.item_h,text.start," ");
label_draw_bar(stroka_x, stroka_y+label.size.pt+1, get_label_len(text.start), style.color);
}
WriteTextIntoBuf(stroka_x, stroka_y, style.color, text.start);
}
ESBYTE[line_break] >< zeroch; //restore line
170,7 → 193,10
stroka_y += list.item_h;
}
if (draw==true) {
if (style.a) label_draw_bar(stroka_x, stroka_y+label.size.pt+1, get_label_len(text.start), style.color);
if (style.a) {
link.add(stroka_x,stroka_y,get_label_len(text.start),list.item_h,text.start," ");
label_draw_bar(stroka_x, stroka_y+label.size.pt+1, get_label_len(text.start), style.color);
}
WriteTextIntoBuf(stroka_x, stroka_y, style.color, text.start);
}
stroka_x += get_label_len(text.start);