Rev 5231 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5231 | Rev 5252 | ||
---|---|---|---|
Line 69... | Line 69... | ||
69 | } |
69 | } |
70 | } |
70 | } |
Line 71... | Line 71... | ||
71 | 71 | ||
72 | void canvas_draw_text(rect* r, char* txt, __u32 len, __u32 color) |
72 | void canvas_draw_text(rect* r, char* txt, __u32 len, __u32 color) |
73 | { |
- | |
74 | __u16 x = r->x + (r->width - len * FONT_WIDTH - len) / 2 - canvas.area.x; |
- | |
75 | __u16 y = r->y + (r->height - FONT_HEIGHT) / 2 - canvas.area.y; |
- | |
76 | 73 | { |
|
77 | __u32 w; |
74 | __u32 w; |
78 | __u32 h; |
75 | __u32 h; |
Line 79... | Line 76... | ||
79 | char* mem; |
76 | char* mem; |
Line 92... | Line 89... | ||
92 | "c"(color | (8 << 24)), |
89 | "c"(color | (8 << 24)), |
93 | "d"((__u32)txt), |
90 | "d"((__u32)txt), |
94 | "S"(len), |
91 | "S"(len), |
95 | "D"((__u32)(mem))); |
92 | "D"((__u32)(mem))); |
Line -... | Line 93... | ||
- | 93 | ||
- | 94 | __u16 x = r->x + (r->width - (len * FONT_WIDTH + len) * 2) / 2 - canvas.area.x; |
|
- | 95 | __u16 y = r->y + (r->height - FONT_HEIGHT * 2) / 2 - canvas.area.y; |
|
96 | 96 | ||
97 | int row = 0; |
97 | int row = 0; |
98 | int column = 0; |
98 | int column = 0; |
99 | __u32* __mem = (__u32*)(mem + 8); |
99 | __u32* __mem = (__u32*)(mem + 8); |
100 | for (row = 0; row < h; row++) |
100 | for (row = 0; row < h; row++) |
101 | { |
101 | { |
102 | for (column = 0; column < w; column++) |
102 | for (column = 0; column < w; column++) |
103 | { |
103 | { |
104 | __u32 c = __mem[column + row * w]; |
104 | __u32 c = __mem[column + row * w]; |
105 | if (c & 0xFF000000) |
105 | if (c & 0xFF000000) |
106 | { |
106 | { |
- | 107 | canvas.image[canvas_index(row * 2 + y,column * 2 + x)] = *((rgb*)&c); |
|
- | 108 | canvas.image[canvas_index(row * 2 + y,column * 2 + 1 + x)] = *((rgb*)&c); |
|
- | 109 | ||
- | 110 | canvas.image[canvas_index(row * 2 + 1 + y,column * 2 + x)] = *((rgb*)&c); |
|
107 | canvas.image[canvas_index(row + y,column + x)] = *((rgb*)&c); |
111 | canvas.image[canvas_index(row * 2 + 1 + y,column * 2 + 1 + x)] = *((rgb*)&c); |
108 | } |
112 | } |
109 | } |
113 | } |
Line 110... | Line 114... | ||
110 | } |
114 | } |