Purge underscored header file barriers
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / dali-toolkit-test-utils / toolkit-test-application.h
index 7a090f5..1b576bc 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_TOOLKIT_TEST_APPLICATION_H__
-#define __DALI_TOOLKIT_TEST_APPLICATION_H__
+#ifndef DALI_TOOLKIT_TEST_APPLICATION_H
+#define DALI_TOOLKIT_TEST_APPLICATION_H
 
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 // INTERNAL INCLUDES
 #include <dali-test-suite-utils.h>
-
-#include "toolkit-adaptor.h"
-#include "toolkit-orientation.h"
+#include <dali/devel-api/text-abstraction/font-client.h>
+#include <dali/integration-api/adaptors/adaptor.h>
+#include <toolkit-adaptor-impl.h>
+#include <toolkit-singleton-service.h>
 
 namespace Dali
 {
@@ -38,9 +39,17 @@ public:
                           size_t surfaceHeight = DEFAULT_SURFACE_HEIGHT,
                           float  horizontalDpi = DEFAULT_HORIZONTAL_DPI,
                           float  verticalDpi   = DEFAULT_VERTICAL_DPI )
-  : TestApplication( false, surfaceWidth, surfaceHeight, horizontalDpi, verticalDpi )
+  : TestApplication( surfaceWidth, surfaceHeight, horizontalDpi, verticalDpi )
   {
-    Initialize();
+    auto singletonService = SingletonService::Get();
+    Test::SetApplication( singletonService, *this );
+
+    // set the DPI value for font rendering
+    Dali::TextAbstraction::FontClient fontClient = Dali::TextAbstraction::FontClient::Get();
+    if( fontClient )
+    {
+      fontClient.SetDpi( mDpi.x, mDpi.y );
+    }
   }
 
   ~ToolkitTestApplication()
@@ -50,30 +59,48 @@ public:
     mCore = NULL;
   }
 
-  inline ToolkitAdaptor& GetAdaptor()
-  {
-    return mAdaptor;
-  }
-
   //ToolkitOrientation& GetOrientation()
   //{
   //return mOrientation;
   //}
 
+  /**
+   * @brief Creates an adaptor implementation for those controls like the
+   * text-field and the text-editor which connects a callback to the idle signal.
+   */
+  void CreateAdaptor()
+  {
+    Adaptor::Get();
+  }
+
+  /**
+   * @brief Executes the idle callbacks.
+   *
+   * Some controls like the text-field and the text-editor connect callbacks to the
+   * idle signal.
+   */
+  void RunIdles()
+  {
+    if( Adaptor::IsAvailable() )
+    {
+      for( Vector<CallbackBase*>::Iterator it = Internal::Adaptor::Adaptor::mCallbacks.Begin(),
+             endIt = Internal::Adaptor::Adaptor::mCallbacks.End();
+           it != endIt;
+           ++it )
+      {
+        CallbackBase* callback = *it;
+
+        CallbackBase::Execute( *callback );
+      }
+
+      Internal::Adaptor::Adaptor::mCallbacks.Clear();
+    }
+  }
+
 private:
-  ToolkitAdaptor mAdaptor;
   //ToolkitOrientation mOrientation;
 };
 
 } // namespace Dali
 
-inline ImageActor CreateSolidColorImageActor(ToolkitTestApplication& application, const Vector4& color, int width, int height)
-{
-  ImageActor actor = ImageActor::New(CreateBitmapImage(width, height, color));
-  application.SendNotification();
-  application.Render();
-  return actor;
-}
-
-
-#endif // __DALI_TOOLKIT_TEST_APPLICATION_H__
+#endif // DALI_TOOLKIT_TEST_APPLICATION_H