Пример #1
0
void input(WINDOW *wnd)
{  
   int row=1,col=1,c;            
   curs_set(1);
   while(1)
   {  
      move (row,col);
      c = getch ();
      switch (c) 
      {
         case KEY_LEFT:
            if (col > 1) col--;
            else flash ();
            break;
         case KEY_DOWN:
            if (row < LINES - 5) row++;
            else flash ();
            break;
         case KEY_UP:
            if (row > 1) row--;
            else flash ();
            break;
         case KEY_RIGHT:
            if (col < COLS - 2) col++;
            else flash ();
            break;
         case KEY_BACKSPACE:
            if(col>1)
            {
               mvwprintw(wnd,row,--col,"%c",' ');
               wrefresh (wnd);
            }
            else flash();         
            break;
            box(wnd, 0 , 0);
         case KEY_DL:
            deleteln ();
            box(wnd, 0 , 0);
            break;
         default:
            if(c==KEY_F(3)) goto DONE;

            if(col < COLS - 1)
               mvwinsch(wnd, row, ++col-1, c);
            else{
               col=0;
               row++;
               mvwinsch(wnd, row, ++col, c);    
               }     
            box(wnd,0,0);
            wrefresh (wnd);
            
            break;
      }   
   }
   DONE:
   refresh();
};
Пример #2
0
int winsch(WINDOW *win, chtype ch) {
	if (win == NULL) {
		return ERR;
	}

	return mvwinsch(win, win->cury, win->curx, ch);
}
Пример #3
0
static int
MvWInsCh(WINDOW *win, int y, int x, chtype ch)
{
    int code;
    cchar_t tmp_cchar;

    if (ConvertCh(ch, &tmp_cchar)) {
	code = mvwins_wch(win, y, x, &tmp_cchar);
    } else {
	code = mvwinsch(win, y, x, ch);
    }
    return code;
}
Пример #4
0
int mvinsch(int y, int x, chtype ch) {
	return mvwinsch(stdscr, y, x, ch);
}