diff --git a/Runtime/Internal/BaseChart.Draw.cs b/Runtime/Internal/BaseChart.Draw.cs index f23303be..c9f2247b 100644 --- a/Runtime/Internal/BaseChart.Draw.cs +++ b/Runtime/Internal/BaseChart.Draw.cs @@ -54,8 +54,8 @@ namespace XCharts.Runtime p4 = ClampInGrid(grid, p4); } if (!clip || - (clip && (grid.Contains(p1) && grid.Contains(p2) && grid.Contains(p3) && - grid.Contains(p4)))) + (clip && grid.Contains(p1) && grid.Contains(p2) && grid.Contains(p3) && + grid.Contains(p4))) UGL.DrawQuadrilateral(vh, p1, p2, p3, p4, startColor, toColor); } diff --git a/Runtime/Internal/BaseGraph.cs b/Runtime/Internal/BaseGraph.cs index 23de7149..8f0f7659 100644 --- a/Runtime/Internal/BaseGraph.cs +++ b/Runtime/Internal/BaseGraph.cs @@ -54,9 +54,11 @@ namespace XCharts.Runtime public virtual HideFlags chartHideFlags { get { return HideFlags.None; } } private ScrollRect m_ScrollRect; + private Vector2 m_PointerDownPos; public Painter painter { get { return m_Painter; } } public List childrenNodeNames { get { return m_ChildNodeNames; } } + public bool isDragingClick { get; set; } protected virtual void InitComponent() { @@ -287,11 +289,13 @@ namespace XCharts.Runtime public virtual void OnPointerDown(PointerEventData eventData) { + m_PointerDownPos = eventData.position; if (m_OnPointerDown != null) m_OnPointerDown(eventData, this); } public virtual void OnPointerUp(PointerEventData eventData) { + isDragingClick = Vector2.Distance(eventData.position, m_PointerDownPos) > 6; if (m_OnPointerUp != null) m_OnPointerUp(eventData, this); }