[Tizen] Add MouseInOutEventSignal
[platform/core/uifw/dali-adaptor.git] / dali / internal / window-system / common / window-base.h
index 18b14e8..b319c77 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_WINDOWSYSTEM_COMMON_WINDOW_BASE_H
 
 /*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
@@ -27,6 +27,7 @@
 #include <vector>
 
 // INTERNAL INCLUDES
+#include <dali/devel-api/adaptor-framework/mouse-in-out-event.h>
 #include <dali/devel-api/adaptor-framework/window-devel.h>
 #include <dali/internal/graphics/gles/egl-implementation.h>
 #include <dali/internal/window-system/common/damage-observer.h>
@@ -63,17 +64,18 @@ public:
   };
 
   // Window
-  typedef Signal<void(bool)>                                IconifySignalType;
-  typedef Signal<void(bool)>                                FocusSignalType;
-  typedef Signal<void()>                                    OutputSignalType;
-  typedef Signal<void()>                                    DeleteSignalType;
-  typedef Signal<void(const DamageArea&)>                   DamageSignalType;
-  typedef Signal<void(const RotationEvent&)>                RotationSignalType;
-  typedef Signal<void(WindowEffectState, WindowEffectType)> TransitionEffectEventSignalType;
-  typedef Signal<void()>                                    KeyboardRepeatSettingsChangedSignalType;
-  typedef Signal<void()>                                    WindowRedrawRequestSignalType;
-  typedef Signal<void(Dali::PositionSize&)>                 UpdatePositionSizeType;
-  typedef Signal<void(const std::string&, const std::string&, const Property::Array&)>             AuxiliaryMessageSignalType;
+  typedef Signal<void(bool)>                                                           IconifySignalType;
+  typedef Signal<void(bool)>                                                           FocusSignalType;
+  typedef Signal<void()>                                                               OutputSignalType;
+  typedef Signal<void()>                                                               DeleteSignalType;
+  typedef Signal<void(const DamageArea&)>                                              DamageSignalType;
+  typedef Signal<void(const RotationEvent&)>                                           RotationSignalType;
+  typedef Signal<void(WindowEffectState, WindowEffectType)>                            TransitionEffectEventSignalType;
+  typedef Signal<void()>                                                               KeyboardRepeatSettingsChangedSignalType;
+  typedef Signal<void()>                                                               WindowRedrawRequestSignalType;
+  typedef Signal<void(Dali::PositionSize&)>                                            UpdatePositionSizeType;
+  typedef Signal<void(const std::string&, const std::string&, const Property::Array&)> AuxiliaryMessageSignalType;
+  typedef Signal<void(const Dali::DevelWindow::MouseInOutEvent&)>                      MouseInOutEventSignalType;
 
   // Input events
   typedef Signal<void(Integration::Point&, uint32_t)> TouchEventSignalType;
@@ -84,7 +86,7 @@ public:
   typedef Signal<void(void*)> SelectionSignalType;
 
   // Accessibility
-  typedef Signal<void(StyleChange::Type)>        StyleSignalType;
+  typedef Signal<void(StyleChange::Type)> StyleSignalType;
 
   /**
    * @brief Default constructor
@@ -547,6 +549,11 @@ public:
    */
   AuxiliaryMessageSignalType& AuxiliaryMessageSignal();
 
+  /**
+   * @brief This signal is emitted when a mouse in or out event is recevied.
+   */
+  MouseInOutEventSignalType& MouseInOutEventSignal();
+
 protected:
   // Undefined
   WindowBase(const WindowBase&) = delete;
@@ -572,6 +579,7 @@ protected:
   WindowRedrawRequestSignalType           mWindowRedrawRequestSignal;
   UpdatePositionSizeType                  mUpdatePositionSizeSignal;
   AuxiliaryMessageSignalType              mAuxiliaryMessageSignal;
+  MouseInOutEventSignalType               mMouseInOutEventSignal;
 };
 
 } // namespace Adaptor