aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jonas <himself@jonasgunz.de> 2018-12-27 11:35:34 +0100
committerGravatar jonas <himself@jonasgunz.de> 2018-12-27 11:35:34 +0100
commit3cfea2815e3edfeb15fd7f0173957254babc7326 (patch)
treeb839575b6cbb0013b84e2ea4bb189193b807410f
parentf3772d321faae1cd72e577cea5b9fc75accd0700 (diff)
downloadtermgl-3cfea2815e3edfeb15fd7f0173957254babc7326.tar.gz
Added _EVENT_TERM to cInput
_EVENT_TERM is returned when Cmd + C is pressed
-rw-r--r--cInput.cpp7
-rw-r--r--cInput.h1
-rw-r--r--main.cpp6
3 files changed, 12 insertions, 2 deletions
diff --git a/cInput.cpp b/cInput.cpp
index 2a6e11c..a862127 100644
--- a/cInput.cpp
+++ b/cInput.cpp
@@ -45,8 +45,11 @@ sInputEvent cInput::poll()
return ret;
read (STDIN_FILENO, &buff, 1);
-
- if (buff[0] == '\x1B') //Escape sequence
+ if (buff[0] == 3) {
+ // User pressd Ctr+C
+ ret.type = _EVENT_TERM;
+ }
+ else if (buff[0] == '\x1B') //Escape sequence
{
read (STDIN_FILENO, &buff, 5);
if(buff[0] == '[')
diff --git a/cInput.h b/cInput.h
index 8e3481c..9ff2041 100644
--- a/cInput.h
+++ b/cInput.h
@@ -23,6 +23,7 @@
#define _EVENT_CHAR 1
#define _EVENT_KEY 2
#define _EVENT_MOUSE 3
+#define _EVENT_TERM 4
struct sInputEvent
{
diff --git a/main.cpp b/main.cpp
index f0f6f50..786194a 100644
--- a/main.cpp
+++ b/main.cpp
@@ -42,10 +42,16 @@ int main()
pos.x = ie.x;
pos.y = ie.y;
}
+ else if (ie.type == _EVENT_TERM)
+ {
+ return 0;
+ }
a.clear();
a.drawPoint('X', pos, true, _COL_GREEN);
a.render();
+
+ usleep(10*1000);
}
}