*/
void VT_int_PutString(tVTerm *Term, const Uint8 *Buffer, Uint Count)
{
- Uint32 val;
int i;
// Iterate
for( i = 0; i < Count; i++ )
{
// Handle escape sequences
- if( Buffer[i] == 0x1B )
+ int ret = VT_int_ParseEscape(Term, (const char*)&Buffer[i], Count-i);
+ if( ret > 0 )
{
- i ++;
- i += VT_int_ParseEscape(Term, (const char*)&Buffer[i]) - 1;
+ i += ret-1;
continue;
}
if( Buffer[i] < 128 ) // Plain ASCII
VT_int_PutChar(Term, Buffer[i]);
else { // UTF-8
+ Uint32 val;
i += ReadUTF8(&Buffer[i], &val) - 1;
VT_int_PutChar(Term, val);
}
* \param NewWidth New framebuffer width
* \param NewHeight New framebuffer height
*/
-void VT_int_ChangeMode(tVTerm *Term, int NewMode, int NewWidth, int NewHeight)
+void VT_int_Resize(tVTerm *Term, int NewWidth, int NewHeight)
{
int oldW = Term->Width;
int oldTW = Term->TextWidth;
if(NewWidth > giVT_RealWidth) NewWidth = giVT_RealWidth;
if(NewHeight > giVT_RealHeight) NewHeight = giVT_RealHeight;
- Term->Mode = NewMode;
-
// Fast exit if no resolution change
if(NewWidth == Term->Width && NewHeight == Term->Height)
return ;
}
// Debug
- switch(NewMode)
+ #if 0
+ switch(Term->Mode)
{
case TERM_MODE_TEXT:
Log_Log("VTerm", "Set VT %p to text mode (%ix%i)",
//case TERM_MODE_3DACCEL:
// return;
}
+ #endif
}