Пример #1
0
static void print_let_constituent(struct let_constituent *c, int depth)
{
    print_bindings(c->bindings, depth);
    printf("%sbody\n", indent(depth));
    print_body(c->body, depth+1);
    printf("%send bind\n", indent(depth));
}
Пример #2
0
static void print_defvar_constituent(struct defvar_constituent *c, int depth)
{
    printf("%sdefine variable\n", indent(depth));
    print_bindings(c->bindings, depth+1);
    if (c->tlf) {
	printf("%sinitializer\n", indent(depth));
	print_method(c->tlf, depth+1);
    }
    printf("%send define variable\n", indent(depth));
}
Пример #3
0
/* The function called whenever a key is pressed. */
static void keyPressed(unsigned char key, int x, int y)
{
    /* avoid thrashing this call */
    mwMilliSleep(THRASH_SLEEP_INTERVAL);

    if (scene->fullscreen)
    {
        mw_finish(EXIT_SUCCESS);
    }

    switch (key)
    {
        case ESCAPE:
        case 'q':
            glutDestroyWindow(window);
            mw_finish(EXIT_SUCCESS);

        case 'h':
            print_bindings(stderr);
            break;

        case 'p':
            scene->paused = !scene->paused;
            break;

        case ' ':
            scene->step = TRUE;
            break;

        case 'b':
            scene->starsize *= 1.1;
            if (scene->starsize > 100.0)
            {
                scene->starsize = 100.0;
            }
            scene->changed = TRUE;
            break;

        case 's':
            scene->starsize *= 0.9;
            if (scene->starsize < 1.0e-3)
            {
                scene->starsize = 1.0e-3;
            }
            scene->changed = TRUE;
            break;

        case 'm':
            scene->ntri *= 2;
            if (scene->ntri > 24)
            {
                scene->ntri = 24;
            }
            scene->changed = TRUE;
            break;

        case 'f':
            scene->ntri /= 2;
            if (scene->ntri < 4)
            {
                scene->ntri = 4;
            }
            scene->changed = TRUE;
            break;

        case 'a':
            scene->drawaxes = !scene->drawaxes;
            scene->changed = TRUE;
            break;
        case '>':
            scene->dt /= 2.0;
            if (scene->dt < 10.0)
            {
                scene->dt = 10.0;
            }
            break;
        case '<':
            scene->dt *= 2.0;
            if (scene->dt > 1.0e6)
            {
                scene->dt = 1.0e6;
            }
            break;

        default:
            break;
    }
}