OSDN Git Service

AI003:config.txt, words.txtを追加。
[chnosproject/CHNOSProject.git] / CHNOSProject / chnos / tolset_chn_000 / chnos_010 / chnos / shtdraw.c
1 \r
2 #include "core.h"\r
3 \r
4 uint Sheet_Drawing_Fill_Rectangle(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1)\r
5 {\r
6         if(sheet == Null){\r
7                 return 1;\r
8         }\r
9 \r
10         if(sheet->vram == Null){\r
11                 return 2;\r
12         }\r
13 \r
14         return sheet->Drawing.Fill_Rectangle(sheet, c, px0, py0, px1, py1);\r
15 }\r
16 \r
17 uint Sheet_Drawing_Put_String(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[])\r
18 {\r
19         if(sheet == Null){\r
20                 return 1;\r
21         }\r
22 \r
23         if(sheet->vram == Null){\r
24                 return 2;\r
25         }\r
26 \r
27         return sheet->Drawing.Put_String(sheet, x, y, fc, s);\r
28 }\r
29 \r
30 uint Sheet_Drawing_Draw_Point(UI_Sheet *sheet, int x, int y, uint c)\r
31 {\r
32         if(sheet == Null){\r
33                 return 1;\r
34         }\r
35 \r
36         if(sheet->vram == Null){\r
37                 return 2;\r
38         }\r
39 \r
40         return sheet->Drawing.Draw_Point(sheet, x, y, c);\r
41 }\r
42 \r
43 uint Sheet_Drawing_Scroll_Vertical(UI_Sheet *sheet, int vpx)\r
44 {\r
45         if(sheet == Null){\r
46                 return 1;\r
47         }\r
48 \r
49         if(sheet->vram == Null){\r
50                 return 2;\r
51         }\r
52 \r
53         if(vpx > 0){\r
54                 if((uint)vpx >= sheet->size.y){\r
55                         return 3;\r
56                 }\r
57                 CFunction_MemoryMove(sheet->vram, sheet->vramsize, (void *)((uint)sheet->vram + (sheet->size.x * vpx * (sheet->bpp >> 3))), sheet->vramsize - (sheet->size.x * vpx * (sheet->bpp >> 3)));\r
58         } else if(vpx < 0){\r
59                 vpx = -vpx;\r
60                 if((uint)vpx >= sheet->size.y){\r
61                         return 4;\r
62                 }\r
63                 CFunction_MemoryMove((void *)((uint)sheet->vram + (sheet->size.x * vpx * (sheet->bpp >> 3))), sheet->vramsize - (sheet->size.x * vpx * (sheet->bpp >> 3)), sheet->vram, sheet->vramsize);\r
64         }\r
65 \r
66         return 0;\r
67 }\r
68 \r
69 //invalid\r
70 uint Sheet_Drawing_Fill_Rectangle_Invalid(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1)\r
71 {\r
72         return 0;\r
73 }\r
74 \r
75 uint Sheet_Drawing_Put_String_Invalid(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[])\r
76 {\r
77         return 0;\r
78 }\r
79 \r
80 uint Sheet_Drawing_Draw_Point_Invalid(UI_Sheet *sheet, int x, int y, uint c)\r
81 {\r
82         return 0;\r
83 }\r
84 \r
85 \r
86 //8-bit\r
87 uint Sheet08_Drawing_Fill_Rectangle(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1)\r
88 {\r
89         Drawing08_Fill_Rectangle(sheet->vram, sheet->size.x, c, (uint)px0, (uint)py0, (uint)px1, (uint)py1);\r
90         return 0;\r
91 }\r
92 \r
93 uint Sheet08_Drawing_Put_String(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[])\r
94 {\r
95         Drawing08_Put_String(sheet->vram, sheet->size.x, (uint)x, (uint)y, fc, s);\r
96         return 0;\r
97 }\r
98 \r
99 uint Sheet08_Drawing_Draw_Point(UI_Sheet *sheet, int x, int y, uint c)\r
100 {\r
101         Drawing08_Draw_Point(sheet->vram, sheet->size.x, (uint)x, (uint)y, c);\r
102         return 0;\r
103 }\r
104 \r
105 //16-bit\r
106 uint Sheet16_Drawing_Fill_Rectangle(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1)\r
107 {\r
108         Drawing16_Fill_Rectangle(sheet->vram, sheet->size.x, c, (uint)px0, (uint)py0, (uint)px1, (uint)py1);\r
109         return 0;\r
110 }\r
111 \r
112 uint Sheet16_Drawing_Put_String(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[])\r
113 {\r
114         Drawing16_Put_String(sheet->vram, sheet->size.x, (uint)x, (uint)y, fc, s);\r
115         return 0;\r
116 }\r
117 \r
118 uint Sheet16_Drawing_Draw_Point(UI_Sheet *sheet, int x, int y, uint c)\r
119 {\r
120         Drawing16_Draw_Point(sheet->vram, sheet->size.x, (uint)x, (uint)y, c);\r
121         return 0;\r
122 }\r
123 \r
124 //32-bit\r
125 uint Sheet32_Drawing_Fill_Rectangle(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1)\r
126 {\r
127         Drawing32_Fill_Rectangle(sheet->vram, sheet->size.x, c, (uint)px0, (uint)py0, (uint)px1, (uint)py1);\r
128         return 0;\r
129 }\r
130 \r
131 uint Sheet32_Drawing_Put_String(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[])\r
132 {\r
133         Drawing32_Put_String(sheet->vram, sheet->size.x, (uint)x, (uint)y, fc, s);\r
134         return 0;\r
135 }\r
136 \r
137 uint Sheet32_Drawing_Draw_Point(UI_Sheet *sheet, int x, int y, uint c)\r
138 {\r
139         Drawing32_Draw_Point(sheet->vram, sheet->size.x, (uint)x, (uint)y, c);\r
140         return 0;\r
141 }\r