1 /*-------------------------------------------------------------------------
2 * drawElements Quality Program Tester Core
3 * ----------------------------------------
5 * Copyright 2014 The Android Open Source Project
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
21 * \brief Android Native Activity.
22 *//*--------------------------------------------------------------------*/
24 #include "tcuAndroidNativeActivity.hpp"
29 static void onStartCallback (ANativeActivity* activity)
31 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onStart();
34 static void onResumeCallback (ANativeActivity* activity)
36 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onResume();
39 static void* onSaveInstanceStateCallback (ANativeActivity* activity, size_t* outSize)
41 return static_cast<tcu::Android::NativeActivity*>(activity->instance)->onSaveInstanceState(outSize);
44 static void onPauseCallback (ANativeActivity* activity)
46 return static_cast<tcu::Android::NativeActivity*>(activity->instance)->onPause();
49 static void onStopCallback (ANativeActivity* activity)
51 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onStop();
54 static void onDestroyCallback (ANativeActivity* activity)
56 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onDestroy();
59 static void onWindowFocusChangedCallback (ANativeActivity* activity, int hasFocus)
61 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onWindowFocusChanged(hasFocus);
64 static void onNativeWindowCreatedCallback (ANativeActivity* activity, ANativeWindow* window)
66 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onNativeWindowCreated(window);
69 static void onNativeWindowResizedCallback (ANativeActivity* activity, ANativeWindow* window)
71 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onNativeWindowResized(window);
74 static void onNativeWindowRedrawNeededCallback (ANativeActivity* activity, ANativeWindow* window)
76 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onNativeWindowRedrawNeeded(window);
79 static void onNativeWindowDestroyedCallback (ANativeActivity* activity, ANativeWindow* window)
81 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onNativeWindowDestroyed(window);
84 static void onInputQueueCreatedCallback (ANativeActivity* activity, AInputQueue* queue)
86 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onInputQueueCreated(queue);
89 static void onInputQueueDestroyedCallback (ANativeActivity* activity, AInputQueue* queue)
91 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onInputQueueDestroyed(queue);
94 static void onContentRectChangedCallback (ANativeActivity* activity, const ARect* rect)
96 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onContentRectChanged(rect);
99 static void onConfigurationChangedCallback (ANativeActivity* activity)
101 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onConfigurationChanged();
104 static void onLowMemoryCallback (ANativeActivity* activity)
106 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onLowMemory();
116 NativeActivity::NativeActivity (ANativeActivity* activity)
117 : m_activity(activity)
119 activity->instance = (void*)this;
120 activity->callbacks->onStart = onStartCallback;
121 activity->callbacks->onResume = onResumeCallback;
122 activity->callbacks->onSaveInstanceState = onSaveInstanceStateCallback;
123 activity->callbacks->onPause = onPauseCallback;
124 activity->callbacks->onStop = onStopCallback;
125 activity->callbacks->onDestroy = onDestroyCallback;
126 activity->callbacks->onWindowFocusChanged = onWindowFocusChangedCallback;
127 activity->callbacks->onNativeWindowCreated = onNativeWindowCreatedCallback;
128 activity->callbacks->onNativeWindowResized = onNativeWindowResizedCallback;
129 activity->callbacks->onNativeWindowRedrawNeeded = onNativeWindowRedrawNeededCallback;
130 activity->callbacks->onNativeWindowDestroyed = onNativeWindowDestroyedCallback;
131 activity->callbacks->onInputQueueCreated = onInputQueueCreatedCallback;
132 activity->callbacks->onInputQueueDestroyed = onInputQueueDestroyedCallback;
133 activity->callbacks->onContentRectChanged = onContentRectChangedCallback;
134 activity->callbacks->onConfigurationChanged = onConfigurationChangedCallback;
135 activity->callbacks->onLowMemory = onLowMemoryCallback;
138 NativeActivity::~NativeActivity (void)
142 void NativeActivity::onStart (void)
146 void NativeActivity::onResume (void)
150 void* NativeActivity::onSaveInstanceState (size_t* outSize)
156 void NativeActivity::onPause (void)
160 void NativeActivity::onStop (void)
164 void NativeActivity::onDestroy (void)
168 void NativeActivity::onWindowFocusChanged (int hasFocus)
173 void NativeActivity::onNativeWindowCreated (ANativeWindow* window)
178 void NativeActivity::onNativeWindowResized (ANativeWindow* window)
183 void NativeActivity::onNativeWindowRedrawNeeded (ANativeWindow* window)
188 void NativeActivity::onNativeWindowDestroyed (ANativeWindow* window)
193 void NativeActivity::onInputQueueCreated (AInputQueue* queue)
198 void NativeActivity::onInputQueueDestroyed (AInputQueue* queue)
203 void NativeActivity::onContentRectChanged (const ARect* rect)
208 void NativeActivity::onConfigurationChanged (void)
212 void NativeActivity::onLowMemory (void)
216 void NativeActivity::finish (void)
218 ANativeActivity_finish(m_activity);