At get to charwin

This commit is contained in:
drmortalwombat 2021-11-19 08:13:36 +01:00
parent b7aaf52f6a
commit f2dc0091a8
2 changed files with 44 additions and 0 deletions

View File

@ -303,6 +303,39 @@ char cwin_putat_string(CharWin * win, char x, char y, const char * str, char col
#pragma native(cwin_putat_string)
char cwin_getat_char(CharWin * win, char x, char y)
{
char * sp = win->sp + 40 * y + x;
char c = *sp;
if (c & 0x40)
c ^= 0xc0;
if (!(c & 0x20))
c |= 0x40;
return c;
}
void cwin_getat_chars(CharWin * win, char x, char y, char * chars, char num)
{
char * sp = win->sp + 40 * y + x;
for(char i=0; i<num; i++)
{
char c = sp[i];
if (c & 0x40)
c ^= 0xc0;
if (!(c & 0x20))
c |= 0x40;
chars[i] = c;
}
}
void cwin_insert_char(CharWin * win)
{
char y = win->wy - 1, rx = win->wx - 1;

View File

@ -74,6 +74,17 @@ void cwin_putat_chars(CharWin * win, char x, char y, const char * chars, char nu
//
char cwin_putat_string(CharWin * win, char x, char y, const char * str, char color);
// Get a single char at the given window location
//
char cwin_getat_char(CharWin * win, char x, char y);
// Get an array of chars at the given window location
//
void cwin_getat_chars(CharWin * win, char x, char y, char * chars, char num);
// Insert one space character at the cursor position
//
void cwin_insert_char(CharWin * win);