Exemplo n.º 1
0
int add_binding(Widget window, int keywstate, int function, short value)
{
   keybinding *newbinding;

   /* If key is already bound to the function, ignore it */

   if (isbound(window, keywstate, function, value)) return 1;
	   
   /* Add the new key binding */

   newbinding = new keybinding;
   newbinding->window = window;
   newbinding->keywstate = keywstate;
   newbinding->function = function;
   newbinding->value = value;
   newbinding->nextbinding = keylist;
   keylist = newbinding;
   return 0;
}
Exemplo n.º 2
0
int item(struct Info *mx, char *p, int way)
{
    switch (sameCorn(mx, way)) {
    case UPLEFT:
        ++mx->i;
        ++mx->j;
        break;
    case UPRIGH:
        ++mx->i;
        --mx->j;
        break;
    case BOTRIGH:
        --mx->i;
        --mx->j;
        break;
    case BOTLEFT:
        --mx->i;
        ++mx->j;
        break;
    default:
        fprintf(stderr, "item: no match option\n");
        break;
    }

    for (; isbound(mx, way) && !p[(coor(mx->col, mx->i, mx->j))];
          condit(mx, way)) {
        p[(coor(mx->col, mx->i, mx->j))] = mx->count;
        if (mx->ord == INC)
            ++mx->count;
        else if (mx->ord == DEC)
            --mx->count;
    }

    if (mx->ord == INC) {
        if (mx->count > mx->row * mx->col)
            return 1;
    } else if (mx->ord == DEC) {
        if (mx->count == 0)
            return 1;
    }
    return 0;
}