Beispiel #1
0
static int tolua_tags_next(lua_State * L)
{
    tag_iterator *iter = (tag_iterator *)lua_touserdata(L, lua_upvalueindex(1));
    if (iter->node) {
        tolua_pushusertype(L, (void *)iter->r, TOLUA_CAST "region");
        tag_advance(iter);
        return 1;
    }
    else {
        return 0;                   /* no more values to return */
    }
}
Beispiel #2
0
void tag_rewind(tag_iterator * iter)
{
    if (iter->list) {
        iter->r = NULL;
        iter->node = iter->list->tags[0];
        iter->hash = 0;
        if (iter->node) {
            iter->r = findregion(iter->node->coord.x, iter->node->coord.y);
        }
        if (!iter->r) {
            tag_advance(iter);
        }
    }
    else {
        iter->node = 0;
        iter->hash = MAXTHASH;
    }
}
Beispiel #3
0
//-------------------------------------------------------------------------
int py_tag_advance(const char *line, int cnt)
{
  return tag_advance(line, cnt)-line;
}