At get to charwin
This commit is contained in:
parent
b7aaf52f6a
commit
f2dc0091a8
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue