1 #ifndef DALI_TOOLKIT_TEST_APPLICATION_H
2 #define DALI_TOOLKIT_TEST_APPLICATION_H
5 * Copyright (c) 2019 Samsung Electronics Co., Ltd.
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.
22 #include <dali-test-suite-utils.h>
23 #include <dali/devel-api/text-abstraction/font-client.h>
24 #include <dali/integration-api/adaptors/adaptor.h>
25 #include <toolkit-adaptor-impl.h>
26 #include <toolkit-singleton-service.h>
27 #include <toolkit-lifecycle-controller.h>
33 * Adds some functionality on top of TestApplication that is required by the Toolkit.
35 class ToolkitTestApplication : public TestApplication
39 ToolkitTestApplication( size_t surfaceWidth = DEFAULT_SURFACE_WIDTH,
40 size_t surfaceHeight = DEFAULT_SURFACE_HEIGHT,
41 float horizontalDpi = DEFAULT_HORIZONTAL_DPI,
42 float verticalDpi = DEFAULT_VERTICAL_DPI )
43 : TestApplication( surfaceWidth, surfaceHeight, horizontalDpi, verticalDpi )
45 auto singletonService = SingletonService::Get();
46 Test::SetApplication( singletonService, *this );
48 // set the DPI value for font rendering
49 Dali::TextAbstraction::FontClient fontClient = Dali::TextAbstraction::FontClient::Get();
52 fontClient.SetDpi( mDpi.x, mDpi.y );
55 bool isAdaptorAvailable = Dali::Internal::Adaptor::Adaptor::Get().IsAvailable();
56 if ( isAdaptorAvailable )
58 Dali::LifecycleController lifecycleController = Dali::LifecycleController::Get();
59 lifecycleController.InitSignal().Emit();
61 Dali::Window window = Dali::Internal::Adaptor::Adaptor::mWindows.front();
64 Dali::Internal::Adaptor::Adaptor::WindowCreatedSignal().Emit( window );
69 ~ToolkitTestApplication()
71 // Need to delete core before we delete the adaptor.
76 //ToolkitOrientation& GetOrientation()
78 //return mOrientation;
82 * @brief Creates an adaptor implementation for those controls like the
83 * text-field and the text-editor which connects a callback to the idle signal.
91 * @brief Executes the idle callbacks.
93 * Some controls like the text-field and the text-editor connect callbacks to the
98 if( Adaptor::IsAvailable() )
100 for( Vector<CallbackBase*>::Iterator it = Internal::Adaptor::Adaptor::mCallbacks.Begin(),
101 endIt = Internal::Adaptor::Adaptor::mCallbacks.End();
105 CallbackBase* callback = *it;
107 CallbackBase::Execute( *callback );
110 Internal::Adaptor::Adaptor::mCallbacks.Clear();
115 //ToolkitOrientation mOrientation;
120 #endif // DALI_TOOLKIT_TEST_APPLICATION_H