OSDN Git Service

svn rev.329より移動。
[chnosproject/CHNOSProject.git] / CHNOSProject / chnos / tolset_chn_000 / chnos_010 / chnos / shtdraw.c
diff --git a/CHNOSProject/chnos/tolset_chn_000/chnos_010/chnos/shtdraw.c b/CHNOSProject/chnos/tolset_chn_000/chnos_010/chnos/shtdraw.c
new file mode 100644 (file)
index 0000000..9d68596
--- /dev/null
@@ -0,0 +1,141 @@
+\r
+#include "core.h"\r
+\r
+uint Sheet_Drawing_Fill_Rectangle(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1)\r
+{\r
+       if(sheet == Null){\r
+               return 1;\r
+       }\r
+\r
+       if(sheet->vram == Null){\r
+               return 2;\r
+       }\r
+\r
+       return sheet->Drawing.Fill_Rectangle(sheet, c, px0, py0, px1, py1);\r
+}\r
+\r
+uint Sheet_Drawing_Put_String(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[])\r
+{\r
+       if(sheet == Null){\r
+               return 1;\r
+       }\r
+\r
+       if(sheet->vram == Null){\r
+               return 2;\r
+       }\r
+\r
+       return sheet->Drawing.Put_String(sheet, x, y, fc, s);\r
+}\r
+\r
+uint Sheet_Drawing_Draw_Point(UI_Sheet *sheet, int x, int y, uint c)\r
+{\r
+       if(sheet == Null){\r
+               return 1;\r
+       }\r
+\r
+       if(sheet->vram == Null){\r
+               return 2;\r
+       }\r
+\r
+       return sheet->Drawing.Draw_Point(sheet, x, y, c);\r
+}\r
+\r
+uint Sheet_Drawing_Scroll_Vertical(UI_Sheet *sheet, int vpx)\r
+{\r
+       if(sheet == Null){\r
+               return 1;\r
+       }\r
+\r
+       if(sheet->vram == Null){\r
+               return 2;\r
+       }\r
+\r
+       if(vpx > 0){\r
+               if((uint)vpx >= sheet->size.y){\r
+                       return 3;\r
+               }\r
+               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
+       } else if(vpx < 0){\r
+               vpx = -vpx;\r
+               if((uint)vpx >= sheet->size.y){\r
+                       return 4;\r
+               }\r
+               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
+       }\r
+\r
+       return 0;\r
+}\r
+\r
+//invalid\r
+uint Sheet_Drawing_Fill_Rectangle_Invalid(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1)\r
+{\r
+       return 0;\r
+}\r
+\r
+uint Sheet_Drawing_Put_String_Invalid(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[])\r
+{\r
+       return 0;\r
+}\r
+\r
+uint Sheet_Drawing_Draw_Point_Invalid(UI_Sheet *sheet, int x, int y, uint c)\r
+{\r
+       return 0;\r
+}\r
+\r
+\r
+//8-bit\r
+uint Sheet08_Drawing_Fill_Rectangle(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1)\r
+{\r
+       Drawing08_Fill_Rectangle(sheet->vram, sheet->size.x, c, (uint)px0, (uint)py0, (uint)px1, (uint)py1);\r
+       return 0;\r
+}\r
+\r
+uint Sheet08_Drawing_Put_String(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[])\r
+{\r
+       Drawing08_Put_String(sheet->vram, sheet->size.x, (uint)x, (uint)y, fc, s);\r
+       return 0;\r
+}\r
+\r
+uint Sheet08_Drawing_Draw_Point(UI_Sheet *sheet, int x, int y, uint c)\r
+{\r
+       Drawing08_Draw_Point(sheet->vram, sheet->size.x, (uint)x, (uint)y, c);\r
+       return 0;\r
+}\r
+\r
+//16-bit\r
+uint Sheet16_Drawing_Fill_Rectangle(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1)\r
+{\r
+       Drawing16_Fill_Rectangle(sheet->vram, sheet->size.x, c, (uint)px0, (uint)py0, (uint)px1, (uint)py1);\r
+       return 0;\r
+}\r
+\r
+uint Sheet16_Drawing_Put_String(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[])\r
+{\r
+       Drawing16_Put_String(sheet->vram, sheet->size.x, (uint)x, (uint)y, fc, s);\r
+       return 0;\r
+}\r
+\r
+uint Sheet16_Drawing_Draw_Point(UI_Sheet *sheet, int x, int y, uint c)\r
+{\r
+       Drawing16_Draw_Point(sheet->vram, sheet->size.x, (uint)x, (uint)y, c);\r
+       return 0;\r
+}\r
+\r
+//32-bit\r
+uint Sheet32_Drawing_Fill_Rectangle(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1)\r
+{\r
+       Drawing32_Fill_Rectangle(sheet->vram, sheet->size.x, c, (uint)px0, (uint)py0, (uint)px1, (uint)py1);\r
+       return 0;\r
+}\r
+\r
+uint Sheet32_Drawing_Put_String(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[])\r
+{\r
+       Drawing32_Put_String(sheet->vram, sheet->size.x, (uint)x, (uint)y, fc, s);\r
+       return 0;\r
+}\r
+\r
+uint Sheet32_Drawing_Draw_Point(UI_Sheet *sheet, int x, int y, uint c)\r
+{\r
+       Drawing32_Draw_Point(sheet->vram, sheet->size.x, (uint)x, (uint)y, c);\r
+       return 0;\r
+}\r