X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Usermode%2FApplications%2Faxwin3_src%2FWM%2Fvideo.c;h=d0476d09dea7b94b5f8ca6823f0cde883abede40;hb=c90f683ef8d3dde9db5b78feebe5508ca3f84ff3;hp=4121fbeb2fb237a33ce026d1e7a92ec819b48dab;hpb=52508b805ef1512b016b74461f080411cf076088;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin3_src/WM/video.c b/Usermode/Applications/axwin3_src/WM/video.c index 4121fbeb..d0476d09 100644 --- a/Usermode/Applications/axwin3_src/WM/video.c +++ b/Usermode/Applications/axwin3_src/WM/video.c @@ -1,12 +1,16 @@ /* - * Acess GUI (AxWin) Version 2 - * By John Hodge (thePowersGang) + * Acess2 GUI (AxWin) Version 3 + * - By John Hodge (thePowersGang) + * + * video.c + * - Video methods */ -#include "common.h" +#include #include #include #include #include "resources/cursor.h" +#include // === PROTOTYPES === void Video_Setup(void); @@ -18,6 +22,7 @@ void Video_DrawRect(short X, short Y, short W, short H, uint32_t Color); // === GLOBALS === int giVideo_CursorX; int giVideo_CursorY; +uint32_t *gpScreenBuffer; // === CODE === void Video_Setup(void) @@ -61,7 +66,7 @@ void Video_Setup(void) // Create local framebuffer (back buffer) gpScreenBuffer = malloc( giScreenWidth*giScreenHeight*4 ); - memset32( gpScreenBuffer, 0x8888FF, giScreenWidth*giScreenHeight ); + Video_FillRect(0, 0, giScreenWidth, giScreenHeight, 0x8080FF); // Set cursor position and bitmap ioctl(giTerminalFD, TERM_IOCTL_SETCURSORBITMAP, &cCursorBitmap); @@ -90,6 +95,7 @@ void Video_SetCursorPos(short X, short Y) void Video_FillRect(short X, short Y, short W, short H, uint32_t Color) { + int i; uint32_t *buf = gpScreenBuffer + Y*giScreenWidth + X; _SysDebug("Video_FillRect: (X=%i, Y=%i, W=%i, H=%i, Color=%08x)", @@ -103,8 +109,9 @@ void Video_FillRect(short X, short Y, short W, short H, uint32_t Color) while( H -- ) { - memset32( buf, Color, W ); - buf += giScreenWidth; + for( i = W; i --; ) + *buf++ = Color; + buf += giScreenWidth - W; } }