MCPcopy Create free account
hub / github.com/GarageGames/Torque2D / engine_handle_cmd

Function engine_handle_cmd

engine/source/platformAndroid/T2DActivity.cpp:1126–1182  ·  view source on GitHub ↗

* Process the next main command. */

Source from the content-addressed store, hash-verified

1124 * Process the next main command.
1125 */
1126static void engine_handle_cmd(struct android_app* app, int32_t cmd) {
1127 struct engine* engine = (struct engine*)app->userData;
1128 switch (cmd) {
1129 case APP_CMD_SAVE_STATE:
1130 // The system has asked us to save our current state. Do so.
1131 engine->app->savedState = malloc(sizeof(struct saved_state));
1132 *((struct saved_state*)engine->app->savedState) = engine->state;
1133 engine->app->savedStateSize = sizeof(struct saved_state);
1134 break;
1135 case APP_CMD_INIT_WINDOW:
1136 // The window is being shown, get it ready.
1137 if (engine->app->window != NULL) {
1138
1139 engine_init_display(engine);
1140
1141 if (bSuspended == true) {
1142 glViewport(0, 0, engine->width, engine->height);
1143 Game->textureResurrect();
1144 bSuspended = false;
1145 }
1146 }
1147 break;
1148 case APP_CMD_TERM_WINDOW:
1149 bSuspended = true;
1150 Game->textureKill();
1151 // The window is being hidden or closed, clean it up.
1152 engine_term_display(engine, false);
1153 break;
1154 case APP_CMD_RESUME:
1155 break;
1156 case APP_CMD_GAINED_FOCUS:
1157 // When our app gains focus, we start monitoring the accelerometer.
1158 if (engine->accelerometerSensor != NULL && activity.isAccelerometerActive()) {
1159 ASensorEventQueue_enableSensor(engine->sensorEventQueue,
1160 engine->accelerometerSensor);
1161 // We'd like to get 30 events per second (in us).
1162 ASensorEventQueue_setEventRate(engine->sensorEventQueue,
1163 engine->accelerometerSensor, (1000L/30)*1000);
1164 }
1165
1166 engine->animating = 1;
1167 break;
1168 case APP_CMD_LOST_FOCUS:
1169 // When our app loses focus, we stop monitoring the accelerometer.
1170 // This is to avoid consuming battery while not being used.
1171 if (engine->accelerometerSensor != NULL) {
1172 ASensorEventQueue_disableSensor(engine->sensorEventQueue,
1173 engine->accelerometerSensor);
1174 }
1175
1176 // stop animating.
1177 engine->animating = 0;
1178 break;
1179 case APP_CMD_PAUSE:
1180 break;
1181 }
1182}
1183

Callers

nothing calls this directly

Calls 5

engine_init_displayFunction · 0.85
engine_term_displayFunction · 0.85
textureResurrectMethod · 0.80
textureKillMethod · 0.80
isAccelerometerActiveMethod · 0.80

Tested by

no test coverage detected