Beispiel #1
0
Datei: vt.c Projekt: Akehi/RTKLIB
/* handle escape sequence ----------------------------------------------------*/
static int seq_esc(vt_t *vt)
{
    if (vt->nesc<3) return 1;
    vt->nesc=0;
    if (!strncmp(vt->esc+1,"[A",2)) return hist_prev(vt); /* cursor up */
    if (!strncmp(vt->esc+1,"[B",2)) return hist_next(vt); /* cursor down */
    if (!strncmp(vt->esc+1,"[C",2)) return right_cur(vt); /* cursor right */
    if (!strncmp(vt->esc+1,"[D",2)) return left_cur (vt); /* cursor left */
    return 1;
}
void
MapArea::createCursors(void)
{
   DEBUG_MSG("MapArea::createCursors(): creating new cursors\n");
   
      // TODO: Use X11 cursors

   top_left_cur()=new QCursor(SizeFDiagCursor);
   top_cur()=new QCursor(SizeVerCursor);
   top_right_cur()=new QCursor(SizeBDiagCursor);
   right_cur()=new QCursor(SizeHorCursor);
   bottom_left_cur()=new QCursor(SizeBDiagCursor);
   bottom_cur()=new QCursor(SizeVerCursor);
   bottom_right_cur()=new QCursor(SizeFDiagCursor);
   left_cur()=new QCursor(SizeHorCursor);
   inside_cur()=new QCursor(SizeAllCursor);
   ptr_cur()=new QCursor(ArrowCursor);
}
GPQCursor
MapArea::getCursor(int vic_code, int vic_data)
{
   DEBUG_MSG("MapArea::getCursor(): vic_code=" << vic_code <<
	     ", vic_data=" << vic_data << "\n");
   
   if (vic_code>=OBJECT_CODES) return ma_getCursor(vic_code, vic_data);
   else return (vic_code==FAR ? ptr_cur() :
		vic_code==TOP_LEFT ? top_left_cur() :
		vic_code==TOP ? top_cur() :
		vic_code==TOP_RIGHT ? top_right_cur() :
		vic_code==BOTTOM_LEFT ? bottom_left_cur() :
		vic_code==BOTTOM ? bottom_cur() :
		vic_code==BOTTOM_RIGHT ? bottom_right_cur() :
		vic_code==LEFT ? left_cur() :
		vic_code==RIGHT ? right_cur() :
		vic_code==INSIDE ? inside_cur() :
		inside_cur());
}