Fix remote touch event in widget viewer dali
authortaeyoon <taeyoon0.lee@samsung.com>
Wed, 23 Nov 2016 08:41:04 +0000 (17:41 +0900)
committertaeyoon <taeyoon0.lee@samsung.com>
Wed, 23 Nov 2016 12:15:33 +0000 (21:15 +0900)
Change-Id: I2199feb45506b15ff7a5523578ec53b523b60c77

internal/widget_view/widget_view_impl.cpp

index d3d5295..4d4487e 100644 (file)
@@ -816,6 +816,11 @@ bool WidgetView::OnTouch( Dali::Actor actor, const Dali::TouchData& event )
 {
   tizen_remote_surface_event_type type = TIZEN_REMOTE_SURFACE_EVENT_TYPE_NONE;
 
+  if( event.GetPointCount() == 0 )
+  {
+    return false;
+  }
+
   switch( event.GetState( 0 ) )
   {
     case Dali::PointState::UP:
@@ -839,17 +844,26 @@ bool WidgetView::OnTouch( Dali::Actor actor, const Dali::TouchData& event )
     }
   }
 
+  int button = 1;
+
+  if( type == TIZEN_REMOTE_SURFACE_EVENT_TYPE_MOUSE_MOVE )
+  {
+    button = 0 ;
+  }
+
+  Vector2 localPos = event.GetLocalPosition( 0 );
+
   tizen_remote_surface_transfer_mouse_event( mRemoteSurface,
                                              type,
-                                             event.GetDeviceId( 0 ),
-                                             1,
-                                             event.GetLocalPosition( 0 ).x,
-                                             event.GetLocalPosition( 0 ).y,
-                                             event.GetEllipseRadius( 0 ).x,
-                                             event.GetEllipseRadius( 0 ).y,
-                                             event.GetPressure( 0 ),
-                                             event.GetAngle( 0 ).degree,
-                                             TIZEN_INPUT_DEVICE_CLAS_MOUSE,
+                                             0,
+                                             button,
+                                             (int)localPos.x,
+                                             (int)localPos.y,
+                                             wl_fixed_from_double( event.GetEllipseRadius( 0 ).x ),
+                                             wl_fixed_from_double( event.GetEllipseRadius( 0 ).y ),
+                                             wl_fixed_from_double( event.GetPressure( 0 ) ),
+                                             wl_fixed_from_double( event.GetAngle( 0 ).degree ),
+                                             TIZEN_INPUT_DEVICE_CLAS_TOUCHSCREEN,
                                              TIZEN_INPUT_DEVICE_SUBCLAS_NONE,
                                              "",
                                              event.GetTime()
@@ -859,6 +873,7 @@ bool WidgetView::OnTouch( Dali::Actor actor, const Dali::TouchData& event )
 
 bool WidgetView::OnWheelEvent( Dali::Actor actor, const Dali::WheelEvent& event )
 {
+  //ToDo: We should check TIZEN_INPUT_DEVICE_CLAS_MOUSE
   tizen_remote_surface_transfer_mouse_wheel( mRemoteSurface,
                                              event.direction,
                                              event.z,