{
uint32_t *buf;
+ _SysDebug("Video_Blit: (%p, %i, %i, %i, %i)", Source, DstX, DstY, W, H);
+
if( DstX >= giScreenWidth) return ;
if( DstY >= giScreenHeight) return ;
// TODO: Handle -ve X/Y by clipping
// TODO: Handle out of bounds by clipping too
if( DstX + W > giScreenWidth ) return;
if( DstY + H > giScreenHeight )
- H = giScreenWidth - DstY;
+ H = giScreenHeight - DstY;
if( W <= 0 || H <= 0 ) return;
+ _SysDebug(" - Resolved to (%p, %i, %i, %i, %i)", Source, DstX, DstY, W, H);
+
if( DstX < giVideo_FirstDirtyLine )
giVideo_FirstDirtyLine = DstY;
if( DstY + H > giVideo_LastDirtyLine )
if(Window->X + W < 0) Window->X = -W + 1;
if(Window->Y + H < 0) Window->Y = -H + 1;
+ if( Window->W == W && Window->H == H )
+ return 0;
+
Window->W = W; Window->H = H;
if(Window->RenderBuffer) {
if( !(Window->Flags & WINFLAG_SHOW) )
return ;
-// _SysDebug("Blit %p to (%i,%i) %ix%i", Window, Window->X, Window->Y, Window->RealW, Window->RealH);
+ _SysDebug("Blit %p (%p) to (%i,%i) %ix%i", Window, Window->RenderBuffer,
+ Window->X, Window->Y, Window->RealW, Window->RealH);
Video_Blit(Window->RenderBuffer, Window->X, Window->Y, Window->RealW, Window->RealH);
if( Window == gpWM_FocusedWindow && Window->CursorW )
Window->CursorW, Window->CursorH,
0x000000
);
-
}
for( child = Window->FirstChild; child; child = child->NextSibling )
AxWin3_RichText_SetCursorPos (gMainWindow_TextArea, 0, 0);
AxWin3_RichText_SetCursorType (gMainWindow_TextArea, AXWIN3_RICHTEXT_CURSOR_VLINE);
AxWin3_RichText_SetCursorBlink (gMainWindow_TextArea, 1);
+ AxWin3_ShowWindow(gMainWindow_TextArea, 1);
// TODO: Status Bar?
AxWin3_ShowWindow(gMainWindow, 1);