#ifndef _GLCANDROIDTESTACTIVITY_HPP #define _GLCANDROIDTESTACTIVITY_HPP /*------------------------------------------------------------------------- * OpenGL Conformance Test Suite * ----------------------------- * * Copyright (c) 2016 Google Inc. * Copyright (c) 2016 The Khronos Group Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ /*! * \file * \brief CTS Android Activity. */ /*-------------------------------------------------------------------*/ #include "glcTestRunner.hpp" #include "gluRenderContext.hpp" #include "tcuAndroidAssets.hpp" #include "tcuAndroidPlatform.hpp" #include "tcuAndroidRenderActivity.hpp" #include "tcuCommandLine.hpp" #include "tcuDefs.hpp" #include "tcuTestLog.hpp" namespace glcts { namespace Android { class TestThread : public tcu::Android::RenderThread { public: TestThread(tcu::Android::NativeActivity &nativeActivity, tcu::Android::AssetArchive &archive, const std::string &waiverPath, const std::string &logPath, glu::ApiType runType, uint32_t runFlags); ~TestThread(void); void run(void); protected: virtual void onWindowCreated(ANativeWindow *window); virtual void onWindowResized(ANativeWindow *window); virtual void onWindowDestroyed(ANativeWindow *window); virtual bool render(void); tcu::Android::Platform m_platform; tcu::Android::AssetArchive &m_archive; TestRunner m_app; bool m_finished; //!< Is execution finished. }; class TestActivity : public tcu::Android::RenderActivity { public: TestActivity(ANativeActivity *nativeActivity, glu::ApiType runType); ~TestActivity(void); virtual void onStart(void); virtual void onDestroy(void); virtual void onConfigurationChanged(void); private: tcu::Android::AssetArchive m_archive; tcu::CommandLine m_cmdLine; TestThread m_testThread; bool m_started; }; class GetTestParamThread : public tcu::Android::RenderThread { public: GetTestParamThread(tcu::Android::NativeActivity &nativeActivity, const std::string &logPath, glu::ApiType runType); ~GetTestParamThread(void); void run(void); protected: virtual void onWindowCreated(ANativeWindow *window); virtual void onWindowResized(ANativeWindow *window); virtual void onWindowDestroyed(ANativeWindow *window); virtual bool render(void); tcu::Android::Platform m_platform; TestParamCollectorRunner m_app; bool m_finished; //!< Is execution finished. }; class GetTestParamActivity : public tcu::Android::RenderActivity { public: GetTestParamActivity(ANativeActivity *nativeActivity, glu::ApiType runType); ~GetTestParamActivity(void); virtual void onStart(void); virtual void onDestroy(void); virtual void onConfigurationChanged(void); private: GetTestParamThread m_testThread; bool m_started; }; } // namespace Android } // namespace glcts #endif // _GLCANDROIDTESTACTIVITY_HPP