, __pAppWidgetPopupViewEvent(_AppWidgetPopupViewEvent::CreateInstanceN(*this))
, __firstUpdated(false)
, __pixmap(-1)
+ , __touchInside(false)
{
}
bool
_AppWidgetPopupView::OnTouchPressed(const _Control& source, const _TouchInfo& touchInfo)
{
+ FloatRectangle clientBounds(GetClientBoundsF());
+
+ Point position = _CoordinateSystemUtils::ConvertToInteger(touchInfo.GetCurrentPosition());
+
+ FloatPoint floatPosition(static_cast<float>(position.x), static_cast<float>(position.y));
+
+ if (clientBounds.Contains(floatPosition))
+ {
+ __touchInside = true;
+ }
+
double x = 0.0;
double y = 0.0;
- Point position = _CoordinateSystemUtils::ConvertToInteger(touchInfo.GetCurrentPosition());
- GetTouchPostion(FloatPoint(static_cast<float>(position.x), static_cast<float>(position.y)), x, y);
+ GetTouchPostion(floatPosition, x, y);
livebox_content_event(__pAppWidgetView->__pAppWidget, PD_MOUSE_DOWN, x, y);
Point position = _CoordinateSystemUtils::ConvertToInteger(touchInfo.GetCurrentPosition());
FloatPoint floatPosition(static_cast<float>(position.x), static_cast<float>(position.y));
- if (!clientBounds.Contains(floatPosition))
+ if (!__touchInside && !clientBounds.Contains(floatPosition))
{
PlayAnimation(false);
}
+ __touchInside = false;
+
double x = 0.0;
double y = 0.0;