Merge branch 'devel/tizen' into tizen
[platform/core/uifw/dali-core.git] / dali / internal / event / events / gesture-processor.cpp
index 153dafb..c294c54 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * 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.
@@ -41,11 +41,16 @@ namespace
  */
 struct GestureHitTestCheck : public HitTestAlgorithm::HitTestInterface
 {
-  GestureHitTestCheck( Gesture::Type type )
+  GestureHitTestCheck( DevelGesture::Type type )
   : mType( type )
   {
   }
 
+  GestureHitTestCheck( Gesture::Type type )
+  : GestureHitTestCheck( static_cast< DevelGesture::Type >( type ) )
+  {
+  }
+
   virtual bool IsActorHittable( Actor* actor )
   {
     return actor->IsGestureRequred( mType ) && // Does the Application or derived actor type require the gesture?
@@ -63,24 +68,40 @@ struct GestureHitTestCheck : public HitTestAlgorithm::HitTestInterface
     return layer->IsTouchConsumed();
   }
 
-  Gesture::Type mType;
+  DevelGesture::Type mType;
 };
 
 } // unnamed namespace
 
 
-GestureProcessor::GestureProcessor( Gesture::Type type )
-: mType( type ),
-  mCurrentGesturedActor( NULL ),
+GestureProcessor::GestureProcessor( DevelGesture::Type type )
+: mGestureRecognizer(),
+  mNeedsUpdate( false ),
+  mType( type ),
+  mCurrentGesturedActor( nullptr ),
   mGesturedActorDisconnected( false )
 {
 }
 
+GestureProcessor::GestureProcessor( Gesture::Type type )
+: GestureProcessor( static_cast< DevelGesture::Type >( type ) )
+{
+}
+
+
 GestureProcessor::~GestureProcessor()
 {
   ResetActor();
 }
 
+void GestureProcessor::ProcessTouch( Scene& scene, const Integration::TouchEvent& event )
+{
+  if( mGestureRecognizer )
+  {
+    mGestureRecognizer->SendEvent(scene, event);
+  }
+}
+
 void GestureProcessor::GetGesturedActor( Actor*& actor, GestureDetectorContainer& gestureDetectors )
 {
   while ( actor )
@@ -195,14 +216,14 @@ void GestureProcessor::ResetActor()
   if ( mCurrentGesturedActor )
   {
     mCurrentGesturedActor->RemoveObserver( *this );
-    mCurrentGesturedActor = NULL;
+    mCurrentGesturedActor = nullptr;
     mGesturedActorDisconnected = false;
   }
 }
 
 Actor* GestureProcessor::GetCurrentGesturedActor()
 {
-  return mGesturedActorDisconnected ? NULL : mCurrentGesturedActor;
+  return mGesturedActorDisconnected ? nullptr : mCurrentGesturedActor;
 }
 
 void GestureProcessor::SceneObjectRemoved(Object& object)
@@ -225,7 +246,7 @@ void GestureProcessor::ObjectDestroyed(Object& object)
     // Inform deriving classes.
     OnGesturedActorStageDisconnection();
 
-    mCurrentGesturedActor = NULL;
+    mCurrentGesturedActor = nullptr;
   }
 }