Add raw functions for putat in charwin
This commit is contained in:
parent
3507b09207
commit
90a1462ece
|
@ -291,6 +291,17 @@ void cwin_put_chars_raw(CharWin * win, const char * chars, char num, char color)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char cwin_put_string_raw(CharWin * win, const char * str, char color)
|
||||||
|
{
|
||||||
|
char n = cwin_putat_string_raw(win, win->cx, win->cy, str, color);
|
||||||
|
win->cx += n;
|
||||||
|
if (win->cx >= win->wx)
|
||||||
|
{
|
||||||
|
win->cx = 0;
|
||||||
|
win->cy++;
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -342,7 +353,6 @@ 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)
|
||||||
|
|
||||||
|
|
||||||
void cwin_putat_char_raw(CharWin * win, char x, char y, char ch, char color)
|
void cwin_putat_char_raw(CharWin * win, char x, char y, char ch, char color)
|
||||||
{
|
{
|
||||||
int offset = mul40[y] + x;
|
int offset = mul40[y] + x;
|
||||||
|
@ -371,6 +381,25 @@ void cwin_putat_chars_raw(CharWin * win, char x, char y, const char * chars, cha
|
||||||
|
|
||||||
#pragma native(cwin_putat_chars_raw)
|
#pragma native(cwin_putat_chars_raw)
|
||||||
|
|
||||||
|
char cwin_putat_string_raw(CharWin * win, char x, char y, const char * str, char color)
|
||||||
|
{
|
||||||
|
int offset = mul40[y] + x;
|
||||||
|
|
||||||
|
char * sp = win->sp + offset;
|
||||||
|
char * cp = win->cp + offset;
|
||||||
|
|
||||||
|
char i = 0;
|
||||||
|
while (char ch = str[i])
|
||||||
|
{
|
||||||
|
sp[i] = ch;
|
||||||
|
cp[i] = color;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma native(cwin_putat_string_raw)
|
||||||
|
|
||||||
char cwin_getat_char(CharWin * win, char x, char y)
|
char cwin_getat_char(CharWin * win, char x, char y)
|
||||||
{
|
{
|
||||||
|
|
|
@ -71,6 +71,10 @@ void cwin_put_char_raw(CharWin * win, char ch, char color);
|
||||||
//
|
//
|
||||||
void cwin_put_chars_raw(CharWin * win, const char * chars, char num, char color);
|
void cwin_put_chars_raw(CharWin * win, const char * chars, char num, char color);
|
||||||
|
|
||||||
|
// Put a zero terminated raw string at the cursor location and advance the cursor
|
||||||
|
//
|
||||||
|
char cwin_put_string_raw(CharWin * win, const char * str, char color);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Put a single char at the given window location
|
// Put a single char at the given window location
|
||||||
|
@ -94,6 +98,10 @@ void cwin_putat_char_raw(CharWin * win, char x, char y, char ch, char color);
|
||||||
//
|
//
|
||||||
void cwin_putat_chars_raw(CharWin * win, char x, char y, const char * chars, char num, char color);
|
void cwin_putat_chars_raw(CharWin * win, char x, char y, const char * chars, char num, char color);
|
||||||
|
|
||||||
|
// Put a zero terminated string at the given window location
|
||||||
|
//
|
||||||
|
char cwin_putat_string_raw(CharWin * win, char x, char y, const char * str, char color);
|
||||||
|
|
||||||
|
|
||||||
// Get a single char at the given window location
|
// Get a single char at the given window location
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue