tRefuse to move to a non-existent screen location (default to 0,0). Don't bothe… | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 92d42d07ec56b85a978130f527a091ed40106a03 | |
parent 88b462fb366969ddcb78b437c260d0c6dd4d5ff8 | |
Author: Ben Webb <[email protected]> | |
Date: Wed, 5 Feb 2003 15:56:35 +0000 | |
Refuse to move to a non-existent screen location (default to 0,0). Don't | |
bother moving the cursor position every time information is written to | |
tthe screen buffer - just update it when refresh() is called. | |
Diffstat: | |
M src/cursesport/cursesport.c | 10 ++++++++-- | |
1 file changed, 8 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/src/cursesport/cursesport.c b/src/cursesport/cursesport.c | |
t@@ -44,6 +44,7 @@ void refresh(void) | |
COORD size, offset; | |
SMALL_RECT screenpos; | |
+ move(CurY, CurX); | |
for (y = 0; y < Depth; y++) { | |
if (memcmp(&RealScreen[y][0], &VirtualScreen[y][0], | |
sizeof(CHAR_INFO) * Width) != 0) { | |
t@@ -91,6 +92,7 @@ SCREEN *newterm(void *a, void *b, void *c) | |
hOut = GetConHandle("CONOUT$"); | |
hIn = GetConHandle("CONIN$"); | |
SetConsoleMode(hIn, 0); | |
+ SetConsoleMode(hOut, 0); | |
return NULL; | |
} | |
t@@ -153,7 +155,6 @@ void curs_set(BOOL visible) | |
{ | |
CONSOLE_CURSOR_INFO ConCurInfo; | |
- move(CurY, CurX); | |
ConCurInfo.dwSize = 10; | |
ConCurInfo.bVisible = visible; | |
SetConsoleCursorInfo(hOut, &ConCurInfo); | |
t@@ -170,6 +171,12 @@ void move(int y, int x) | |
{ | |
COORD coord; | |
+ if (x >= Width) { | |
+ x = 0; | |
+ } | |
+ if (y >= Depth) { | |
+ y = 0; | |
+ } | |
CurX = x; | |
CurY = y; | |
coord.X = x; | |
t@@ -188,7 +195,6 @@ void addstr(const char *str) | |
for (i = 0; i < strlen(str); i++) | |
addch(str[i]); | |
- move(CurY, CurX); | |
} | |
void addch(int ch) |