projects
/
platform
/
core
/
uifw
/
dali-core.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "[Tizen] Not execute the remove callback"
[platform/core/uifw/dali-core.git]
/
dali
/
internal
/
event
/
events
/
gesture-processor.cpp
diff --git
a/dali/internal/event/events/gesture-processor.cpp
b/dali/internal/event/events/gesture-processor.cpp
index
551acc1
..
1cf4b26
100644
(file)
--- a/
dali/internal/event/events/gesture-processor.cpp
+++ b/
dali/internal/event/events/gesture-processor.cpp
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (c) 202
1
Samsung Electronics Co., Ltd.
+ * Copyright (c) 202
2
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.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@
-61,6
+61,11
@@
struct GestureHitTestCheck : public HitTestAlgorithm::HitTestInterface
return layer->IsTouchConsumed();
}
return layer->IsTouchConsumed();
}
+ bool ActorRequiresHitResultCheck(Actor* actor, Integration::Point point, Vector2 hitPointLocal, uint32_t timeStamp) override
+ {
+ return actor->EmitHitTestResultSignal(point, hitPointLocal, timeStamp);
+ }
+
GestureType::Value mType;
};
GestureType::Value mType;
};
@@
-71,6
+76,8
@@
GestureProcessor::GestureProcessor(GestureType::Value type)
mNeedsUpdate(false),
mType(type),
mCurrentGesturedActor(nullptr),
mNeedsUpdate(false),
mType(type),
mCurrentGesturedActor(nullptr),
+ mPoint(),
+ mEventTime(0u),
mGesturedActorDisconnected(false)
{
}
mGesturedActorDisconnected(false)
{
}
@@
-84,6
+91,11
@@
void GestureProcessor::ProcessTouch(Scene& scene, const Integration::TouchEvent&
{
if(mGestureRecognizer)
{
{
if(mGestureRecognizer)
{
+ if(!event.points.empty())
+ {
+ mPoint = event.points[0];
+ mEventTime = event.time;
+ }
mGestureRecognizer->SendEvent(scene, event);
}
}
mGestureRecognizer->SendEvent(scene, event);
}
}
@@
-192,6
+204,8
@@
void GestureProcessor::ProcessAndEmit(HitTestAlgorithm::Results& hitTestResults)
bool GestureProcessor::HitTest(Scene& scene, Vector2 screenCoordinates, HitTestAlgorithm::Results& hitTestResults)
{
GestureHitTestCheck hitCheck(mType);
bool GestureProcessor::HitTest(Scene& scene, Vector2 screenCoordinates, HitTestAlgorithm::Results& hitTestResults)
{
GestureHitTestCheck hitCheck(mType);
+ hitTestResults.point = mPoint;
+ hitTestResults.eventTime = mEventTime;
HitTestAlgorithm::HitTest(scene.GetSize(), scene.GetRenderTaskList(), scene.GetLayerList(), screenCoordinates, hitTestResults, hitCheck);
return hitTestResults.renderTask && hitTestResults.actor;
}
HitTestAlgorithm::HitTest(scene.GetSize(), scene.GetRenderTaskList(), scene.GetLayerList(), screenCoordinates, hitTestResults, hitCheck);
return hitTestResults.renderTask && hitTestResults.actor;
}