Example #1
0
void State::Manager::Run(State& entranceState) {
	SDL_setenv("UBUNTU_PLATFORM_API_BACKEND", "touch_mirclient", 1);
	accel = ua_sensors_accelerometer_new();
	ua_sensors_accelerometer_set_reading_cb(accel, tilt_cb, 0);
	ua_sensors_accelerometer_enable(accel);

	current = &entranceState;
	current->Enter();
	//clock_t ticks = clock();
	while (!quit) {
		PollEvent();
		Tilt();
		if (next)
			EnterNextState();
		CallLoopFunction();
		if (param.framerate != 0) {
			/**clock_t nticks = clock();
			int32_t sleeptime = (CLOCKS_PER_SEC/param.framerate - (nticks-ticks)) / 1000;
			if (sleeptime > 0)
				SDL_Delay(sleeptime);*/
			SDL_Delay(1);
			//ticks = nticks;
		}
	}
	current->Exit();
	previous = current;
	current = NULL;
}
int main(int argc, char** argv)
{
    UASensorsAccelerometer* accelerometer = ua_sensors_accelerometer_new();
    UASensorsProximity* proximity = ua_sensors_proximity_new();
    UASensorsLight* ambientlight = ua_sensors_light_new();

    ua_sensors_accelerometer_set_reading_cb(accelerometer,
                                            on_new_accelerometer_event,
                                            NULL);

    ua_sensors_proximity_set_reading_cb(proximity,
                                        on_new_proximity_event,
                                        NULL);
  
    ua_sensors_light_set_reading_cb(ambientlight,
                                    on_new_light_event,
                                    NULL);

    ua_sensors_accelerometer_enable(accelerometer);
    ua_sensors_proximity_enable(proximity);
    ua_sensors_light_enable(ambientlight);

    while(true)
    {
    }
}