1/*------------------------------------------------------------------------- 2 * drawElements Quality Program Tester Core 3 * ---------------------------------------- 4 * 5 * Copyright 2014 The Android Open Source Project 6 * 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 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 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. 18 * 19 *//*! 20 * \file 21 * \brief Android Native Activity. 22 *//*--------------------------------------------------------------------*/ 23 24#include "tcuAndroidNativeActivity.hpp" 25#include "deMemory.h" 26 27DE_BEGIN_EXTERN_C 28 29static void onStartCallback (ANativeActivity* activity) 30{ 31 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onStart(); 32} 33 34static void onResumeCallback (ANativeActivity* activity) 35{ 36 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onResume(); 37} 38 39static void* onSaveInstanceStateCallback (ANativeActivity* activity, size_t* outSize) 40{ 41 return static_cast<tcu::Android::NativeActivity*>(activity->instance)->onSaveInstanceState(outSize); 42} 43 44static void onPauseCallback (ANativeActivity* activity) 45{ 46 return static_cast<tcu::Android::NativeActivity*>(activity->instance)->onPause(); 47} 48 49static void onStopCallback (ANativeActivity* activity) 50{ 51 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onStop(); 52} 53 54static void onDestroyCallback (ANativeActivity* activity) 55{ 56 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onDestroy(); 57} 58 59static void onWindowFocusChangedCallback (ANativeActivity* activity, int hasFocus) 60{ 61 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onWindowFocusChanged(hasFocus); 62} 63 64static void onNativeWindowCreatedCallback (ANativeActivity* activity, ANativeWindow* window) 65{ 66 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onNativeWindowCreated(window); 67} 68 69static void onNativeWindowResizedCallback (ANativeActivity* activity, ANativeWindow* window) 70{ 71 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onNativeWindowResized(window); 72} 73 74static void onNativeWindowRedrawNeededCallback (ANativeActivity* activity, ANativeWindow* window) 75{ 76 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onNativeWindowRedrawNeeded(window); 77} 78 79static void onNativeWindowDestroyedCallback (ANativeActivity* activity, ANativeWindow* window) 80{ 81 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onNativeWindowDestroyed(window); 82} 83 84static void onInputQueueCreatedCallback (ANativeActivity* activity, AInputQueue* queue) 85{ 86 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onInputQueueCreated(queue); 87} 88 89static void onInputQueueDestroyedCallback (ANativeActivity* activity, AInputQueue* queue) 90{ 91 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onInputQueueDestroyed(queue); 92} 93 94static void onContentRectChangedCallback (ANativeActivity* activity, const ARect* rect) 95{ 96 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onContentRectChanged(rect); 97} 98 99static void onConfigurationChangedCallback (ANativeActivity* activity) 100{ 101 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onConfigurationChanged(); 102} 103 104static void onLowMemoryCallback (ANativeActivity* activity) 105{ 106 static_cast<tcu::Android::NativeActivity*>(activity->instance)->onLowMemory(); 107} 108 109DE_END_EXTERN_C 110 111namespace tcu 112{ 113namespace Android 114{ 115 116NativeActivity::NativeActivity (ANativeActivity* activity) 117 : m_activity(activity) 118{ 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; 136} 137 138NativeActivity::~NativeActivity (void) 139{ 140} 141 142void NativeActivity::onStart (void) 143{ 144} 145 146void NativeActivity::onResume (void) 147{ 148} 149 150void* NativeActivity::onSaveInstanceState (size_t* outSize) 151{ 152 *outSize = 0; 153 return DE_NULL; 154} 155 156void NativeActivity::onPause (void) 157{ 158} 159 160void NativeActivity::onStop (void) 161{ 162} 163 164void NativeActivity::onDestroy (void) 165{ 166} 167 168void NativeActivity::onWindowFocusChanged (int hasFocus) 169{ 170 DE_UNREF(hasFocus); 171} 172 173void NativeActivity::onNativeWindowCreated (ANativeWindow* window) 174{ 175 DE_UNREF(window); 176} 177 178void NativeActivity::onNativeWindowResized (ANativeWindow* window) 179{ 180 DE_UNREF(window); 181} 182 183void NativeActivity::onNativeWindowRedrawNeeded (ANativeWindow* window) 184{ 185 DE_UNREF(window); 186} 187 188void NativeActivity::onNativeWindowDestroyed (ANativeWindow* window) 189{ 190 DE_UNREF(window); 191} 192 193void NativeActivity::onInputQueueCreated (AInputQueue* queue) 194{ 195 DE_UNREF(queue); 196} 197 198void NativeActivity::onInputQueueDestroyed (AInputQueue* queue) 199{ 200 DE_UNREF(queue); 201} 202 203void NativeActivity::onContentRectChanged (const ARect* rect) 204{ 205 DE_UNREF(rect); 206} 207 208void NativeActivity::onConfigurationChanged (void) 209{ 210} 211 212void NativeActivity::onLowMemory (void) 213{ 214} 215 216void NativeActivity::finish (void) 217{ 218 ANativeActivity_finish(m_activity); 219} 220 221} // Android 222} // tcu 223