• R/O
  • SSH
  • HTTPS

chnosproject: Commit


Commit MetaInfo

Revisión239 (tree)
Tiempo2011-02-24 00:17:50
Autorhikarupsp

Log Message

Draw_Fill_Rectangleを追加。

Cambiar Resumen

Diferencia incremental

--- beta/tolset_chn_000/chnos_009/chnos/grap_16.c (revision 238)
+++ beta/tolset_chn_000/chnos_009/chnos/grap_16.c (revision 239)
@@ -30,3 +30,15 @@
3030 }
3131 return;
3232 }
33+
34+void Draw_Fill_Rectangle_16(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1)
35+{
36+ uint x, y;
37+ c = RGB_32_To_16(c);
38+ for(y = y0; y <= y1; y++){
39+ for(x = x0; x <= x1; x++){
40+ ((ushort *)vram)[y * xsize + x] = (ushort)c;
41+ }
42+ }
43+ return;
44+}
--- beta/tolset_chn_000/chnos_009/chnos/grap_08.c (revision 238)
+++ beta/tolset_chn_000/chnos_009/chnos/grap_08.c (revision 239)
@@ -30,3 +30,16 @@
3030 }
3131 return;
3232 }
33+
34+void Draw_Fill_Rectangle_08(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1)
35+{
36+ uint x, y;
37+ c = RGB_32_To_08(c);
38+ for(y = y0; y <= y1; y++){
39+ for(x = x0; x <= x1; x++){
40+ ((uchar *)vram)[y * xsize + x] = (uchar)c;
41+ }
42+ }
43+ return;
44+}
45+
--- beta/tolset_chn_000/chnos_009/chnos/bootpack.c (revision 238)
+++ beta/tolset_chn_000/chnos_009/chnos/bootpack.c (revision 239)
@@ -15,6 +15,7 @@
1515 Initialise_Graphic(vesa->BitsPerPixel);
1616 IO_STI();
1717
18+ Draw_Fill_Rectangle(vesa->PhysBasePtr, boot->scrnx, 0xc6c6c6, 0, 0, boot->scrnx, boot->scrny);
1819 Draw_Put_String(vesa->PhysBasePtr, boot->scrnx, 0, 0, 0xFFFFFF, "Welcome to CHNOSProject.");
1920
2021 for (;;) {
--- beta/tolset_chn_000/chnos_009/chnos/graphic.c (revision 238)
+++ beta/tolset_chn_000/chnos_009/chnos/graphic.c (revision 239)
@@ -21,15 +21,19 @@
2121 };
2222
2323 void (*Draw_Put_String)(void *vram, uint xsize, uint x, uint y, uint c, const uchar *s);
24+void (*Draw_Fill_Rectangle)(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1);
2425
2526 void Initialise_Graphic(uint bpp)
2627 {
2728 if(bpp == 8){
2829 Draw_Put_String = Draw_Put_String_08;
30+ Draw_Fill_Rectangle = Draw_Fill_Rectangle_08;
2931 } else if(bpp == 16){
3032 Draw_Put_String = Draw_Put_String_16;
33+ Draw_Fill_Rectangle = Draw_Fill_Rectangle_16;
3134 } else if(bpp == 32){
3235 Draw_Put_String = Draw_Put_String_32;
36+ Draw_Fill_Rectangle = Draw_Fill_Rectangle_32;
3337 }
3438 return;
3539 }
--- beta/tolset_chn_000/chnos_009/chnos/grap_32.c (revision 238)
+++ beta/tolset_chn_000/chnos_009/chnos/grap_32.c (revision 239)
@@ -29,3 +29,15 @@
2929 }
3030 return;
3131 }
32+
33+void Draw_Fill_Rectangle_32(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1)
34+{
35+ uint x, y;
36+ for(y = y0; y <= y1; y++){
37+ for(x = x0; x <= x1; x++){
38+ ((uint *)vram)[y * xsize + x] = c;
39+ }
40+ }
41+ return;
42+}
43+
--- beta/tolset_chn_000/chnos_009/chnos/core.h (revision 238)
+++ beta/tolset_chn_000/chnos_009/chnos/core.h (revision 239)
@@ -103,17 +103,21 @@
103103 /*grap_08.c*/
104104 void Draw_Put_Font_08(void *vram, uint xsize, uint x, uint y, uint c, const uchar *font);
105105 void Draw_Put_String_08(void *vram, uint xsize, uint x, uint y, uint c, const uchar *s);
106+void Draw_Fill_Rectangle_08(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1);
106107 /*grap_16.c*/
107108 void Draw_Put_Font_16(void *vram, uint xsize, uint x, uint y, uint c, const uchar *font);
108109 void Draw_Put_String_16(void *vram, uint xsize, uint x, uint y, uint c, const uchar *s);
110+void Draw_Fill_Rectangle_16(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1);
109111 /*grap_32.c*/
110112 void Draw_Put_Font_32(void *vram, uint xsize, uint x, uint y, uint c, const uchar *font);
111113 void Draw_Put_String_32(void *vram, uint xsize, uint x, uint y, uint c, const uchar *s);
114+void Draw_Fill_Rectangle_32(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1);
112115 /*graphic.c*/
113116 void Initialise_Graphic(uint bpp);
114117 uchar RGB_32_To_08(uint c32);
115118 ushort RGB_32_To_16(uint c32);
116119 extern void (*Draw_Put_String)(void *vram, uint xsize, uint x, uint y, uint c, const uchar *s);
120+extern void (*Draw_Fill_Rectangle)(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1);
117121
118122 /*intrpt.c 割り込み設定とどこにも属さない割り込みハンドラー*/
119123 void Initialise_ProgrammableInterruptController(void);
Show on old repository browser