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)
|
#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)
|
void cwin_insert_char(CharWin * win)
|
||||||
{
|
{
|
||||||
char y = win->wy - 1, rx = win->wx - 1;
|
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);
|
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
|
// Insert one space character at the cursor position
|
||||||
//
|
//
|
||||||
void cwin_insert_char(CharWin * win);
|
void cwin_insert_char(CharWin * win);
|
||||||
|
|
Loading…
Reference in New Issue