/* 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()); }