Send Integration KeyEvents to Core
[platform/core/uifw/dali-adaptor.git] / adaptors / common / events / event-handler.h
index f6a2fc9..3b1caed 100644 (file)
  */
 
 // EXTERNAL INCLUDES
+#include <dali/integration-api/events/key-event-integ.h>
+#include <dali/integration-api/events/point.h>
 #include <dali/integration-api/events/touch-event-combiner.h>
 #include <style-monitor.h>
 
 // INTERNAL INCLUDES
 #include <damage-observer.h>
 #include <drag-and-drop-detector-impl.h>
-#include <accessibility-manager-impl.h>
+#include <accessibility-adaptor-impl.h>
 #include <clipboard-event-notifier-impl.h>
 #include <imf-manager-impl.h>
 #include <rotation-observer.h>
@@ -35,8 +37,6 @@ namespace Dali
 
 class RenderSurface;
 
-struct StyleChange;
-
 namespace Internal
 {
 
@@ -79,10 +79,10 @@ public:
   void FeedTouchPoint( TouchPoint& point, int timeStamp );
 
   /**
-   * Feed (Send) mouse wheel event to core and gesture manager
-   * @param[in]  wheelEvent The mouse wheel event
+   * Feed (Send) wheel event to core and gesture manager
+   * @param[in]  wheelEvent The wheel event
    */
-  void FeedWheelEvent( MouseWheelEvent& wheelEvent );
+  void FeedWheelEvent( WheelEvent& wheelEvent );
 
   /**
    * Feed (Send) key event to core
@@ -97,9 +97,14 @@ public:
   void FeedEvent( Integration::Event& event );
 
   /**
-   * Resets the event handler.
+   * Called when the adaptor is paused.
    */
-  void Reset();
+  void Pause();
+
+  /**
+   * Called when the adaptor is resumed (from pause).
+   */
+  void Resume();
 
   /**
    * Sets the Drag & Drop detector.
@@ -120,25 +125,25 @@ private:
    * @param[in]  point      The touch point information.
    * @param[in]  timeStamp  The time the touch occurred.
    */
-  void SendEvent(TouchPoint& point, unsigned long timeStamp);
+  void SendEvent(Integration::Point& point, unsigned long timeStamp);
 
   /**
    * Send key event to core.
    * @param[in]  keyEvent The KeyEvent to send.
    */
-  void SendEvent(KeyEvent& keyEvent);
+  void SendEvent(Integration::KeyEvent& keyEvent);
 
   /**
-   * Send mouse wheel event to core.
-   * @param[in]  wheelEvent The mouse wheel event
+   * Send wheel event to core.
+   * @param[in]  wheelEvent The wheel event
    */
-  void SendMouseWheelEvent( MouseWheelEvent& wheelEvent );
+  void SendWheelEvent( WheelEvent& wheelEvent );
 
   /**
    * Send a style change event to the style monitor.
    * @param[in]  styleChange  The style that has changed.
    */
-  void SendEvent(StyleChange styleChange);
+  void SendEvent( StyleChange::Type styleChange );
 
   /**
    * Send a window damage event to the observer.
@@ -155,7 +160,21 @@ private:
   /**
    * Inform rotation observer of rotation prepare event
    */
-  void SendRotationRequestEvent( );
+  void SendRotationRequestEvent();
+
+  /**
+   * Resets the event handler.
+   * Called when the adaptor is paused or resumed.
+   */
+  void Reset();
+
+private:
+
+  // Undefined
+  EventHandler( const EventHandler& eventHandler );
+
+  // Undefined
+  EventHandler& operator=( const EventHandler& eventHandler );
 
 private:
 
@@ -167,12 +186,14 @@ private:
   RotationObserver* mRotationObserver; ///< Pointer to rotation observer, if present.
 
   DragAndDropDetectorPtr mDragAndDropDetector; ///< Pointer to the drag & drop detector, to send Drag & Drop events to.
-  Dali::AccessibilityManager mAccessibilityManager; ///< Pointer to the accessibility manager
+  Dali::AccessibilityAdaptor mAccessibilityAdaptor; ///< Pointer to the accessibility adaptor
   Dali::ClipboardEventNotifier mClipboardEventNotifier; ///< Pointer to the clipboard event notifier
   Dali::Clipboard mClipboard;///< Pointer to the clipboard
 
-  struct Impl; ///< Contains Ecore specific information
+  struct Impl; ///< Implementation
   Impl* mImpl; ///< Created on construction and destroyed on destruction.
+
+  bool mPaused; ///< The paused state of the adaptor.
 };
 
 } // namespace Adaptor