root/gameio.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. signal_handler
  2. set_signalhandlers
  3. gameioinit
  4. gameioread
  5. gameiopost
  6. gameioclear
  7. gameiorefresh
  8. gameioput
  9. gameiousleep

   1 /* gameio.c */
   2 
   3 #include<stdio.h>
   4 #include <termios.h>
   5 #include <unistd.h>
   6 #include <sys/signal.h>
   7 #include <stdlib.h>
   8 #include <curses.h>
   9 
  10 static WINDOW *win;
  11 
  12 static void signal_handler(int unused)
  13 {
  14   printf("handler\n");
  15   endwin();
  16   exit(EXIT_SUCCESS);
  17 }
  18 
  19 static void set_signalhandlers(void)
  20 {
  21     signal(SIGHUP, signal_handler);
  22     signal(SIGINT, signal_handler);
  23     signal(SIGILL, signal_handler);
  24     signal(SIGTERM,signal_handler);
  25     signal(SIGQUIT,signal_handler);
  26 }
  27 
  28 void gameioinit(void){
  29   set_signalhandlers();
  30   win = initscr();
  31   nodelay(win,TRUE);
  32   cbreak();
  33   noecho();
  34 }
  35 
  36 int gameioread(){
  37   int ret = getch();
  38   if (ret <=0){
  39     return 0;
  40   }else{
  41     return ret;
  42   }
  43 }
  44 
  45 void gameiopost(void){
  46   nocbreak();
  47   echo();
  48   endwin();
  49 }
  50 
  51 void gameioclear(){
  52   clear();
  53 }
  54 
  55 void gameiorefresh(void){
  56   refresh();
  57 }
  58 
  59 void gameioput(int x, int y, char ch){
  60   mvaddch(y,x,ch);
  61 }
  62 
  63 void gameiousleep(int t){
  64   usleep(t);
  65 }

/* [<][>][^][v][top][bottom][index][help] */