TouchEventCombiner::~TouchEventCombiner() = default;
-TouchEventCombiner::EventDispatchType TouchEventCombiner::GetNextTouchEvent(const Point& point, uint32_t time, TouchEvent& touchEvent, HoverEvent& hoverEvent)
+TouchEventCombiner::EventDispatchType TouchEventCombiner::GetNextTouchEvent(const Point& point, uint32_t time, TouchEvent& touchEvent, HoverEvent& hoverEvent, bool isMultiTouchEvent)
{
TouchEventCombiner::EventDispatchType dispatchEvent(TouchEventCombiner::DISPATCH_NONE);
const PointState::Type state = point.GetState();
{
if(iter->point.GetDeviceId() != deviceId)
{
- iter->point.SetState(PointState::STATIONARY);
+ if(!isMultiTouchEvent)
+ {
+ iter->point.SetState(PointState::STATIONARY);
+ }
}
else
{
}
else
{
- iter->point.SetState(PointState::STATIONARY);
+ if(!isMultiTouchEvent)
+ {
+ iter->point.SetState(PointState::STATIONARY);
+ }
touchEvent.AddPoint(iter->point);
}
}
}
else
{
- iter->point.SetState(PointState::STATIONARY);
+ if(!isMultiTouchEvent)
+ {
+ iter->point.SetState(PointState::STATIONARY);
+ }
touchEvent.AddPoint(iter->point);
}
}
}
else
{
- iter->point.SetState(PointState::STATIONARY);
+ if(!isMultiTouchEvent)
+ {
+ iter->point.SetState(PointState::STATIONARY);
+ }
hoverEvent.AddPoint(iter->point);
}
}
* @note If the thresholds set have not been passed, then false is returned and the TouchEvent and/or HoverEvent should not be sent
* to Dali Core.
*
- * @param[in] point The new Point.
- * @param[in] time The time the event occurred.
- * @param[out] touchEvent This is populated with the correct Point(s) and time information.
- * @param[out] hoverEvent This is populated with the correct Point(s) and time information.
+ * @param[in] point The new Point.
+ * @param[in] time The time the event occurred.
+ * @param[out] touchEvent This is populated with the correct Point(s) and time information.
+ * @param[out] hoverEvent This is populated with the correct Point(s) and time information.
+ * @param[in] isMultiTouchEvent The Flag whether multitouch is being.
*
* @return true if the point is beyond the different thresholds set thus, should be sent to core, false otherwise.
*/
- EventDispatchType GetNextTouchEvent(const Point& point, uint32_t time, TouchEvent& touchEvent, HoverEvent& hoverEvent);
+ EventDispatchType GetNextTouchEvent(const Point& point, uint32_t time, TouchEvent& touchEvent, HoverEvent& hoverEvent, bool isMultiTouchEvent = false);
/**
* Sets the minimum time (in ms) that should occur between motion events.