WheelEvent class pimpling
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / dali-toolkit-test-utils / toolkit-window.h
index 4c95ad7..7c8ec1a 100644 (file)
@@ -2,7 +2,7 @@
 #define TOOLKIT_WINDOW_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
 #include <dali/public-api/math/rect.h>
 #include <dali/public-api/object/base-handle.h>
 #include <dali/public-api/signals/dali-signal.h>
+#include <dali/integration-api/scene.h>
 
 namespace Dali
 {
 
 class Actor;
 class Layer;
-class KeyEvent;
-class TouchData;
+class RenderSurfaceInterface;
+struct KeyEvent;
+class TouchEvent;
+class WheelEvent;
 
 typedef Dali::Rect<int> PositionSize;
 
@@ -42,32 +45,61 @@ class Window;
 }
 }
 
+class Window;
+typedef Signal< void (Window,bool) > FocusChangeSignalType;
+
 class Window : public BaseHandle
 {
 public:
+  using KeyEventSignalType = Signal< void (const KeyEvent&) >;
+  using TouchSignalType = Signal< void (const TouchEvent&) >;
 
   static Window New(PositionSize windowPosition, const std::string& name, bool isTransparent = false);
   static Window New(PositionSize windowPosition, const std::string& name, const std::string& className, bool isTransparent = false);
+
   Window();
   ~Window();
   Window(const Window& handle);
   Window& operator=(const Window& rhs);
-  Layer GetRootLayer() const;
+  Window( Window&& rhs );
+  Window& operator=( Window&& rhs );
+
+  Integration::Scene GetScene();
+  Dali::RenderSurfaceInterface& GetRenderSurface();
+  void Add( Dali::Actor actor );
+  void Remove( Dali::Actor actor );
+  Dali::Layer GetRootLayer() const;
+  void SetBackgroundColor( const Vector4& color );
+  Vector4 GetBackgroundColor() const;
+  void Raise();
+  void Hide();
+  FocusChangeSignalType& FocusChangeSignal();
+  KeyEventSignalType& KeyEventSignal();
+  TouchSignalType& TouchSignal();
 
 public:
   explicit Window( Internal::Adaptor::Window* window );
 };
 
+Internal::Adaptor::Window& GetImplementation(Dali::Window& window);
+const Internal::Adaptor::Window& GetImplementation(const Dali::Window& window);
+
 namespace DevelWindow
 {
-
-typedef Signal< void (const KeyEvent&) > KeyEventSignalType;
-typedef Signal< void (const TouchData&) > TouchSignalType;
+typedef Signal< void () > EventProcessingFinishedSignalType;
+typedef Signal< bool (const KeyEvent&) > KeyEventGeneratedSignalType;
+typedef Signal< void (const WheelEvent&) > WheelEventSignalType;
+typedef Signal< void ( Window, bool ) > VisibilityChangedSignalType;
 
 Dali::Window Get( Actor actor );
-KeyEventSignalType& KeyEventSignal( Dali::Window window );
-TouchSignalType& TouchSignal( Dali::Window window );
+Dali::Window DownCast(  BaseHandle handle );
+void AddFrameRenderedCallback( Window window, std::unique_ptr< CallbackBase > callback, int32_t frameId );
+void AddFramePresentedCallback( Window window, std::unique_ptr< CallbackBase > callback, int32_t frameId );
 
+EventProcessingFinishedSignalType& EventProcessingFinishedSignal( Window window );
+KeyEventGeneratedSignalType& KeyEventGeneratedSignal( Dali::Window window );
+WheelEventSignalType& WheelEventSignal( Window window );
+VisibilityChangedSignalType& VisibilityChangedSignal( Window window );
 }
 
 } // namespace Dali