Fix empty cwin_fill_rect

This commit is contained in:
drmortalwombat 2021-11-18 22:51:00 +01:00
parent 4017cc386b
commit b7aaf52f6a
2 changed files with 17 additions and 7 deletions

View File

@ -255,6 +255,8 @@ void cwin_putat_char(CharWin * win, char x, char y, char ch, char color)
win->cp[offset] = color; win->cp[offset] = color;
} }
#pragma native(cwin_putat_char)
void cwin_putat_chars(CharWin * win, char x, char y, const char * chars, char num, char color) void cwin_putat_chars(CharWin * win, char x, char y, const char * chars, char num, char color)
{ {
int offset = 40 * y + x; int offset = 40 * y + x;
@ -275,6 +277,8 @@ void cwin_putat_chars(CharWin * win, char x, char y, const char * chars, char nu
} }
} }
#pragma native(cwin_putat_chars)
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)
{ {
int offset = 40 * y + x; int offset = 40 * y + x;
@ -297,6 +301,7 @@ char cwin_putat_string(CharWin * win, char x, char y, const char * str, char col
return i; return i;
} }
#pragma native(cwin_putat_string)
void cwin_insert_char(CharWin * win) void cwin_insert_char(CharWin * win)
{ {
@ -493,13 +498,16 @@ void cwin_scroll_down(CharWin * win, char by)
void cwin_fill_rect(CharWin * win, char x, char y, char w, char h, char ch, char color) void cwin_fill_rect(CharWin * win, char x, char y, char w, char h, char ch, char color)
{ {
char * sp = win->sp + 40 * y + x; if (w > 0)
char * cp = win->cp + 40 * y + x;
for(char y=0; y<h; y++)
{ {
fill_fwd(sp, cp, ch, color, w); char * sp = win->sp + 40 * y + x;
sp += 40; char * cp = win->cp + 40 * y + x;
cp += 40;
for(char y=0; y<h; y++)
{
fill_fwd(sp, cp, ch, color, w);
sp += 40;
cp += 40;
}
} }
} }

View File

@ -82,6 +82,8 @@ void cwin_insert_char(CharWin * win);
// //
void cwin_delete_char(CharWin * win); void cwin_delete_char(CharWin * win);
int cwin_getch(void);
// Edit the window position using the char as the input // Edit the window position using the char as the input
// //
bool cwin_edit_char(CharWin * win, char ch); bool cwin_edit_char(CharWin * win, char ch);