OSDN Git Service

SimpleHTMLEditorを追加。
[chnosproject/CHNOSProject.git] / CHNOSProject / chnos / tolset_chn_000 / chnos_010 / chnos / drawing.c
diff --git a/CHNOSProject/chnos/tolset_chn_000/chnos_010/chnos/drawing.c b/CHNOSProject/chnos/tolset_chn_000/chnos_010/chnos/drawing.c
deleted file mode 100644 (file)
index b86c111..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-\r
-#include "core.h"\r
-\r
-void (*Drawing_Fill_Rectangle)(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1);\r
-void (*Drawing_Put_String)(void *vram, uint xsize, uint x, uint y, uint c, const uchar *s);\r
-void (*Drawing_Draw_Point)(void *vram, uint xsize, uint x, uint y, uint c);\r
-//Drawing\82É\8aÜ\82Ü\82ê\82é\92á\83\8c\83x\83\8b\95`\89æ\8aÖ\90\94\82Í\91S\82Ä\81A\8dÀ\95W\82Í\95\84\8d\86\82È\82µ\90®\90\94\82Å\82 \82è\81Avram\82Ì\8d\8fã\82Ì\8dÀ\95W\82ð\8c´\93_(0, 0)\82Æ\82µ\82Ä\81Ax\82Í\89E\95û\8cü\81Ay\82Í\89º\95û\8cü\82É\91\9d\89Á\82·\82é\81B\r
-//\82Ü\82½\81A\93ñ\93_\82Ì\8dÀ\95W\82ð\82Æ\82é\8aÖ\90\94\82Í\81A\81i\8aî\96{\93I\82É\81j\91S\82Ä\88ø\90\94\8d\91¤\82ªx\90¬\95ª\82Ì\8f¬\82³\82¢\91¤\81i\8c´\93_\82É\8bß\82¢\81j\82Å\82È\82¯\82ê\82Î\82È\82ç\82È\82¢\81B\r
-//\8d\82\83\8c\83x\83\8b\95`\89æ\8aÖ\90\94\82Å\82Í\81A\82»\82ê\82ç\82ð\8fã\8eè\82­\83\89\83b\83v\82·\82×\82«\82Å\82 \82é\81B\r
-\r
-void Initialize_Drawing(void)\r
-{\r
-       IO_DisplayControl *dispctrl;\r
-\r
-       dispctrl = System_Display_Get_Controller();\r
-\r
-       if(dispctrl->bpp == 8){\r
-               Drawing_Fill_Rectangle  = Drawing08_Fill_Rectangle;\r
-               Drawing_Put_String      = Drawing08_Put_String;\r
-               Drawing_Draw_Point      = Drawing08_Draw_Point;\r
-               Drawing08_Initialize_Palette();\r
-       } else if(dispctrl->bpp == 16){\r
-               Drawing_Fill_Rectangle  = Drawing16_Fill_Rectangle;\r
-               Drawing_Put_String      = Drawing16_Put_String;\r
-               Drawing_Draw_Point      = Drawing16_Draw_Point;\r
-       } else if(dispctrl->bpp == 32){\r
-               Drawing_Fill_Rectangle  = Drawing32_Fill_Rectangle;\r
-               Drawing_Put_String      = Drawing32_Put_String;\r
-               Drawing_Draw_Point      = Drawing32_Draw_Point;\r
-       } else{\r
-               Drawing_Fill_Rectangle  = Drawing_Invalid_Fill_Rectangle;\r
-               Drawing_Put_String      = Drawing_Invalid_Put_String;\r
-               Drawing_Draw_Point      = Drawing_Invalid_Draw_Point;\r
-               #ifdef CHNOSPROJECT_DEBUG_DRAWING\r
-                       debug("Initalise_Drawing:Not implemented %d bpp.\n", dispctrl->bpp);\r
-               #endif\r
-       }\r
-       return;\r
-}\r
-\r
-void Drawing_Invalid_Fill_Rectangle(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1)\r
-{\r
-       #ifdef CHNOSPROJECT_DEBUG_DRAWING\r
-               debug("Drawing_Invalid_Fill_Rectangle:[0x%X] xsize:%d color:0x%X\nDrawing_Invalid_Fill_Rectangle: (%d, %d) -> (%d, %d)\n", vram, xsize, c, x0, y0, x1, y1);\r
-       #endif\r
-       return;\r
-}\r
-\r
-void Drawing_Invalid_Put_String(void *vram, uint xsize, uint x, uint y, uint c, const uchar *s)\r
-{\r
-       #ifdef CHNOSPROJECT_DEBUG_DRAWING\r
-               debug("Drawing_Invalid_Put_String:[0x%X] xsize:%d (%d, %d) color:0x%X\nDrawing_Invalid_Put_String:>%s\n", vram, xsize, x, y, c, s);\r
-       #endif\r
-       return;\r
-}\r
-\r
-void Drawing_Invalid_Draw_Point(void *vram, uint xsize, uint x, uint y, uint c)\r
-{\r
-       #ifdef CHNOSPROJECT_DEBUG_DRAWING\r
-               debug("Drawing_Invalid_Draw_Point:[0x%X] xsize:%d (%d, %d) color:0x%X\n", vram, xsize, x, y, c);\r
-       #endif\r
-       return;\r
-}\r
-\r
-void Drawing_Draw_Line_PQ(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1)\r
-{\r
-       uint lx;\r
-       uint i;\r
-       uint a;\r
-\r
-//if negative position\r
-       if((x0 & 0x80000000) != 0 || (y0 & 0x80000000) != 0 || (x1 & 0x80000000) != 0 || (y1 & 0x80000000) != 0){\r
-               return;\r
-       }\r
-\r
-       if(x1 < x0){\r
-               lx = x0;\r
-               x0 = x1;\r
-               x1 = lx;\r
-\r
-               lx = y0;\r
-               y0 = y1;\r
-               y1 = lx;\r
-       } else if(x1 == x0){\r
-               if(y0 <= y1){\r
-                       for(i = 0; i < y1 - y0 + 1; i++){\r
-                               Drawing_Draw_Point(vram, xsize, x0, y0 + i, c);\r
-                       }\r
-               } else{\r
-                       for(i = 0; i < y0 - y1 + 1; i++){\r
-                               Drawing_Draw_Point(vram, xsize, x0, y1 + i, c);\r
-                       }\r
-               }\r
-               return;\r
-       }\r
-\r
-       lx = x1 - x0;\r
-       if(lx == 0){\r
-               lx = 1;\r
-       }\r
-\r
-       if(y0 <= y1){   //+a\r
-               a = ((y1 - y0) << 10) / lx;\r
-               for(i = 0; i < lx; i++){\r
-                       Drawing_Draw_Line_PQ(vram, xsize, c, x0 + i, y0 + ((i * a) >> 10), x0 + i,  y0 + (((i + 1) * a) >> 10));\r
-               }\r
-       } else{ //-a\r
-               a = ((y0 - y1) << 10) / lx;\r
-               for(i = 0; i < lx; i++){\r
-                       Drawing_Draw_Line_PQ(vram, xsize, c, x0 + i, y0 - ((i * a) >> 10), x0 + i,  y0 - (((i + 1) * a) >> 10));\r
-               }\r
-       }\r
-\r
-       Drawing_Draw_Point(vram, xsize, x1, y1, c);\r
-\r
-       return;\r
-}\r
-\r
-void Drawing_Draw_Circle(void *vram, uint xsize, uint x, uint y, uint c, uint r)\r
-{\r
-       uint i, r2;\r
-       uint py0, py1;\r
-\r
-       if(r > 0xfff){\r
-               return;\r
-       }\r
-\r
-       r2 = r * r;\r
-\r
-       for(i = 0; i < r; i++){\r
-               py0 = (isqrt((r2 - (i * i)) << 8) + (1 << 2)) >> 4;\r
-               py1 = (isqrt((r2 - ((i + 1) * (i + 1))) << 8) + (1 << 2)) >> 4;\r
-               Drawing_Draw_Line_PQ(vram, xsize, c, x + i, y + py0, x + i + 1, y + py1);\r
-               Drawing_Draw_Line_PQ(vram, xsize, c, x - i, y + py0, x - i - 1, y + py1);\r
-               Drawing_Draw_Line_PQ(vram, xsize, c, x - i, y - py0, x - i - 1, y - py1);\r
-               Drawing_Draw_Line_PQ(vram, xsize, c, x + i, y - py0, x + i + 1, y - py1);\r
-       }\r
-       return;\r
-}\r
-\r
-void Drawing_Fill_Circle(void *vram, uint xsize, uint x, uint y, uint c, uint r)\r
-{\r
-       uint i, r2;\r
-       uint py0, py1;\r
-\r
-       if(r > 0xfff){\r
-               return;\r
-       }\r
-\r
-       r2 = r * r;\r
-\r
-       for(i = 0; i < r; i ++){\r
-               py0 = (isqrt((r2 - (i * i)) << 8) + (1 << 2)) >> 4;\r
-               py1 = (isqrt((r2 - ((i + 1) * (i + 1))) << 8) + (1 << 2)) >> 4;\r
-               Drawing_Draw_Line_PQ(vram, xsize, c, x + i + 1, y - py1, x + i + 1, y + py1);\r
-               Drawing_Draw_Line_PQ(vram, xsize, c, x - i - 1, y - py1, x - i - 1, y + py1);\r
-       }\r
-       Drawing_Draw_Line_PQ(vram, xsize, c, x, y - r, x, y + r);\r
-       return;\r
-}\r
-\r