OSDN Git Service

AI003:config.txt, words.txtを追加。
[chnosproject/CHNOSProject.git] / CHNOSProject / chnos / tolset_chn_000 / chnos_009 / chnos / grap_32.c
1 \r
2 #include "core.h"\r
3 \r
4 void Draw_Put_Font_32(void *vram, uint xsize, uint x, uint y, uint c, const uchar *font)\r
5 {\r
6         int i;\r
7         uchar d;\r
8         uint *p;\r
9         for (i = 0; i < 16; i++) {\r
10                 p = (uint *)vram + (y + i) * xsize + x;\r
11                 d = font[i];\r
12                 if ((d & 0x80) != 0) { p[0] = (uint)c; }\r
13                 if ((d & 0x40) != 0) { p[1] = (uint)c; }\r
14                 if ((d & 0x20) != 0) { p[2] = (uint)c; }\r
15                 if ((d & 0x10) != 0) { p[3] = (uint)c; }\r
16                 if ((d & 0x08) != 0) { p[4] = (uint)c; }\r
17                 if ((d & 0x04) != 0) { p[5] = (uint)c; }\r
18                 if ((d & 0x02) != 0) { p[6] = (uint)c; }\r
19                 if ((d & 0x01) != 0) { p[7] = (uint)c; }\r
20         }\r
21         return;\r
22 }\r
23 \r
24 void Draw_Put_String_32(void *vram, uint xsize, uint x, uint y, uint c, const uchar *s)\r
25 {\r
26         for(; *s != 0x00; s++){\r
27                 if(x > xsize - 8){\r
28                         break;\r
29                 }\r
30                 Draw_Put_Font_32(vram, xsize, x, y, c, hankaku + *s * 16);\r
31                 x += 8;\r
32         }\r
33         return;\r
34 }\r
35 \r
36 void Draw_Fill_Rectangle_32(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1)\r
37 {\r
38         uint x, y;\r
39         for(y = y0; y <= y1; y++){\r
40                 for(x = x0; x <= x1; x++){\r
41                         ((uint *)vram)[y * xsize + x] = c;\r
42                 }\r
43         }\r
44         return;\r
45 }\r
46 \r
47 void Draw_Slide_Line_32(void *vram, uint xsize, uint ysize, uint vxsize, uint px, uint py)\r
48 {\r
49         uint x, y;\r
50 \r
51         for(y = py; y < ysize + py - 16; y++){\r
52                 for(x = px; x < xsize + px; x++){\r
53                         ((uint *)vram)[y * vxsize + x] = ((uint *)vram)[(y + 16) * vxsize + x];\r
54                 }\r
55         }\r
56         return;\r
57 }\r