void Video_Update(void);
void Video_FillRect(short X, short Y, short W, short H, uint32_t Color);
void Video_DrawRect(short X, short Y, short W, short H, uint32_t Color);
void Video_Update(void);
void Video_FillRect(short X, short Y, short W, short H, uint32_t Color);
void Video_DrawRect(short X, short Y, short W, short H, uint32_t Color);
ioctl( giTerminalFD, TERM_IOCTL_FORCESHOW, NULL );
// Create local framebuffer (back buffer)
gpScreenBuffer = malloc( giScreenWidth*giScreenHeight*4 );
memset32( gpScreenBuffer, 0x8888FF, giScreenWidth*giScreenHeight );
ioctl( giTerminalFD, TERM_IOCTL_FORCESHOW, NULL );
// Create local framebuffer (back buffer)
gpScreenBuffer = malloc( giScreenWidth*giScreenHeight*4 );
memset32( gpScreenBuffer, 0x8888FF, giScreenWidth*giScreenHeight );
+
+ // Set cursor position and bitmap
+ ioctl(giTerminalFD, TERM_IOCTL_SETCURSORBITMAP, &cCursorBitmap);
+ Video_SetCursorPos( giScreenWidth/2, giScreenHeight/2 );
+
+void Video_SetCursorPos(short X, short Y)
+{
+ struct {
+ uint16_t x;
+ uint16_t y;
+ } pos;
+ pos.x = giVideo_CursorX = X;
+ pos.y = giVideo_CursorY = Y;
+ ioctl(giTerminalFD, TERM_IOCTL_GETSETCURSOR, &pos);
+}
+
void Video_FillRect(short X, short Y, short W, short H, uint32_t Color)
{
uint32_t *buf = gpScreenBuffer + Y*giScreenWidth + X;
void Video_FillRect(short X, short Y, short W, short H, uint32_t Color)
{
uint32_t *buf = gpScreenBuffer + Y*giScreenWidth + X;