SysAssertf(pSmartData, "Failed to get webkit smart data.");
pSmartData->api->gesture_move(const_cast< Ewk_View_Smart_Data* >(pSmartData), &gestureEvent);
- //To delete magnifier
- _TouchManager* pTouchManager = _TouchManager::GetInstance();
- SysAssertf(pTouchManager, "Failed to get touch manager.");
-
- Point absPoint(_CoordinateSystemUtils::ConvertToInteger(pTouchManager->GetPosition(pTouchManager->GetCurrentPointId())));
-
- Ewk_Touch_Point* pPoint = static_cast< Ewk_Touch_Point* >(calloc(1, sizeof(Ewk_Touch_Point)));
- pPoint->id = 0;
- pPoint->x = absPoint.x;
- pPoint->y = absPoint.y;
- pPoint->state = EVAS_TOUCH_POINT_CANCEL;
-
- Eina_List* pPointList = null;
- pPointList = eina_list_append(pPointList, pPoint);
-
- ewk_view_feed_touch_event(__pWebCore->GetWebNativeNode(), EWK_TOUCH_CANCEL, pPointList, null);
-
- void* pData = null;
- EINA_LIST_FREE(pPointList, pData)
- free(pData);
-
__longPressed = true;
return true;
, __previousTouchedPosition(0.0f, 0.0f)
, __isFullScreenEntered(false)
, __isRotated(false)
+ , __touchPressed(false)
{
SetBackgroundColor(Color(0, 0, 0, 0));
}
bool
_Web::OnTouchPressed(const _Control& source, const _TouchInfo& touchInfo)
{
+ __touchPressed = true;
+
if (__pEflWebkit.get())
{
__edgeType = WEB_EDGE_NONE;
bool
_Web::OnTouchReleased(const _Control& source, const _TouchInfo& touchInfo)
{
+ __touchPressed = false;
+
SetFocused();
if (__pEflWebkit.get())
bool
-_Web::IsFocusEnd(void)
+_Web::IsFocusEnd(void) const
{
return __focus;
}
}
+bool
+_Web::OnFocusLost(const _Control& source)
+{
+ _Control::OnFocusLost(*this);
+
+ if (__touchPressed == true)
+ {
+ _TouchManager* pTouchManager = _TouchManager::GetInstance();
+ SysAssertf(pTouchManager, "Failed to get touch manager.");
+
+ Point absPoint(_CoordinateSystemUtils::ConvertToInteger(pTouchManager->GetPosition(pTouchManager->GetCurrentPointId())));
+
+ Ewk_Touch_Point* pPoint = static_cast< Ewk_Touch_Point* >(calloc(1, sizeof(Ewk_Touch_Point)));
+ pPoint->id = 0;
+ pPoint->x = absPoint.x;
+ pPoint->y = absPoint.y;
+ pPoint->state = EVAS_TOUCH_POINT_CANCEL;
+
+ Eina_List* pPointList = null;
+ pPointList = eina_list_append(pPointList, pPoint);
+
+ ewk_view_feed_touch_event(GetWebNativeNode(), EWK_TOUCH_CANCEL, pPointList, null);
+
+ void* pData = null;
+ EINA_LIST_FREE(pPointList, pData)
+ free(pData);
+
+ __touchPressed = false;
+ }
+
+ return false;
+}
+
+
}}} // Tizen::Web::Controls
void SetFullScreenEntered(bool isFullScreenEntered);
void SetFocusEnd(bool focus);
- bool IsFocusEnd(void);
+
+ bool IsFocusEnd(void) const;
bool CanOutOfEdgeLeft(float scrollDistanceX, int pageDistance);
bool CanOutOfEdgeRight(float scrollDistanceX, int pageDistance);
virtual bool OnKeyPressed(const Tizen::Ui::_Control& source, const Tizen::Ui::_KeyInfo& keyInfo);
virtual bool OnKeyReleased(const Tizen::Ui::_Control& source, const Tizen::Ui::_KeyInfo& keyInfo);
virtual void OnDrawFocus(void);
+ virtual bool OnFocusLost(const Tizen::Ui::_Control& source);
private:
_Web(const _Web& value);
bool __isFullScreenEntered;
bool __isRotated;
+
+ bool __touchPressed;
}; // _Web
}}} // Tizen::Web::Controls