Subversion Repositories Kolibri OS

Rev

Rev 4475 | Rev 4666 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4486 leency 1
 
4475 leency 2
3
 
4
	int bufx, bufy, bufw, bufh, buf_line_h;
5
6
 
7
	void Fill();
8
	void Skew();
9
	void DrawBar();
10
	void AlignCenter();
11
	void AlignRight();
12
};
13
14
 
15
{
16
	bufx = i_bufx;
17
	bufy = i_bufy;
18
	bufw = i_bufw;
19
	bufh = i_bufh;
20
	buf_line_h = i_buf_line_h;
21
	free(buf_data);
22
	buf_data = malloc(bufw * buf_line_h +4 * 4 + 8); //+1 for good luck
23
	ESDWORD[buf_data] = bufw;
24
	ESDWORD[buf_data+4] = buf_line_h;
25
}
26
27
 
28
{
29
	int i;
30
	int max_i = bufw * buf_line_h + 4 * 4 + buf_data +8;
4486 leency 31
	for (i=buf_data+8; i
32
}
4475 leency 33
34
 
35
{
36
	int i, j;
37
	for (j=0; j
38
	{
39
		for (i = y+j*bufw+x*4+8+buf_data; i
4486 leency 40
	}
4475 leency 41
}
42
43
 
44
void DrawBufer::Skew(dword x, y, w, h)
45
{
46
	int i, j;
47
	for (j=0; j<=3; j++)
48
	{
49
		for (i = y+j*bufw+x+w+h*4; i>y+j*bufw+x+h-12*4 ; i-=4)
50
								ESDWORD[buf_data+i+8] = ESDWORD[-shift[j]+buf_data+i+8];
51
	}
52
}
53
54
 
55
{
56
	int i, j, l;
57
	int content_left = w - content_width / 2;
58
	for (j=0; j
59
	{
60
		for (i=j*w+w-x*4, l=j*w+content_width+x*4; (i>=j*w+content_left*4) && (l>=j*w*4); i-=4, l-=4)
61
		{
62
			ESDWORD[buf_data+8+i] >< ESDWORD[buf_data+8+l];
63
		}
64
	}
65
}
66
67
 
68
{
69
	int i, j, l;
70
	int content_left = w - content_width / 2;
71
	for (j=0; j
72
	{
73
		for (i=j*w+content_width+content_left*4, l=j*w+content_width+x*4; (i>=j*w+content_left*4) && (l>=j*w*4); i-=4, l-=4)
74
		{
75
			ESDWORD[buf_data+8+i] >< ESDWORD[buf_data+8+l];
76
		}
77
	}
78
}
79