Ejemplo n.º 1
0
/* This function is called on exit */
void cleanup(void)
{
    write_config_file();
    write_saved_games();

    shutdown_audio();

    winsys_shutdown();
}
Ejemplo n.º 2
0
static void engine_handle_cmd(struct android_app* app, int32_t cmd) {
    engine* e = (engine*)app->userData;

    switch (cmd) {

        case APP_CMD_SAVE_STATE:
        	LOGDw("engine_handle_cmd", "APP_CMD_SAVE_STATE");
        	e->app->savedState = malloc(sizeof(struct saved_state));
            *((struct saved_state*)e->app->savedState) = e->state;
            e->app->savedStateSize = sizeof(struct saved_state);
            break;

        case APP_CMD_INIT_WINDOW:
        	LOGDw("engine_handle_cmd", "APP_CMD_INIT_WINDOW");
        	if (e->app->window != NULL) {
				LOGD("call_order", "APP_CMD_INIT_WINDOW");
				first_init(e);
			}
            break;

        case APP_CMD_START:
        	LOGDw("engine_handle_cmd", "APP_CMD_START");
			ANativeActivity_setWindowFlags(app->activity, AWINDOW_FLAG_KEEP_SCREEN_ON, 0);
        	break;

        case APP_CMD_TERM_WINDOW:
        	LOGDw("engine_handle_cmd", "APP_CMD_TERM_WINDOW");
			gles_term_display(&g_sc);
            break;

        case APP_CMD_GAINED_FOCUS:
        	LOGDw("engine_handle_cmd", "APP_CMD_GAINED_FOCUS");
        	kill_all_touch_circles();
        	draw_frame();
        	e->animating = 1;
            break;

        case APP_CMD_LOST_FOCUS:
        	LOGDw("engine_handle_cmd", "APP_CMD_LOST_FOCUS");
        	kill_all_touch_circles();
        	draw_frame();
        	e->animating = 0;
        	if (sles_init_called)wake_from_paused = TRUE;

        	// タッチの円形全部無効スべき
            pause_all_voices();
    		usleep(5000000);
    		shutdown_audio();
//    		join_control_loop();
//    		e->app->destroyRequested = 1; // RvA
            break;

        case APP_CMD_STOP:
        	LOGDw("engine_handle_cmd", "APP_CMD_STOP");
        	break;

        case APP_CMD_DESTROY:
        	LOGDw("engine_handle_cmd", "APP_CMD_DESTROY");
        	break;
    }
}