mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-18 22:40:10 +00:00
增加DataZoom的supportInsideScroll和supportInsideDrag参数设置坐标系内是否支持滚动和拖拽
This commit is contained in:
@@ -38,6 +38,7 @@
|
||||
|
||||
## master
|
||||
|
||||
* (2021.07.01) Added `DataZoom` arguments to `supportInsideScroll` and `supportInsideDrag` to set whether scrolling and dragging are supported in the coordinate system
|
||||
* (2021.06.27) Add `showStartLabel` and `showEndLabel` arguments to `AxisLabel` to set whether the `Label` should be displayed at the beginning and end of the `AxisLabel`
|
||||
* (2021.06.27) Added `formatter` delegate method to `AxisLabel` and `SerieLabel` (#145)
|
||||
* (2021.06.27) Added `DataZoom`'s `orient` parameter to set horizontal or vertical styles
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
|
||||
## master
|
||||
|
||||
* (2021.07.01) 增加`DataZoom`的`supportInsideScroll`和`supportInsideDrag`参数设置坐标系内是否支持滚动和拖拽
|
||||
* (2021.06.27) 增加`AxisLabel`的`showStartLabel`和`showEndLabel`参数设置首尾的`Label`是否显示
|
||||
* (2021.06.27) 增加`AxisLabel`和`SerieLabel`的`formatter`委托方法 (#145)
|
||||
* (2021.06.27) 增加`DataZoom`的`orient`参数设置水平或垂直样式
|
||||
|
||||
@@ -19,6 +19,7 @@ namespace XCharts
|
||||
base.OnGUI(pos, prop, label);
|
||||
if (MakeFoldout(prop, "m_Enable"))
|
||||
{
|
||||
var m_SupportInside = prop.FindPropertyRelative("m_SupportInside");
|
||||
var m_SupportSlider = prop.FindPropertyRelative("m_SupportSlider");
|
||||
var m_Start = prop.FindPropertyRelative("m_Start");
|
||||
var m_End = prop.FindPropertyRelative("m_End");
|
||||
@@ -26,6 +27,11 @@ namespace XCharts
|
||||
++EditorGUI.indentLevel;
|
||||
PropertyField(prop, "m_Orient");
|
||||
PropertyField(prop, "m_SupportInside");
|
||||
if (m_SupportInside.boolValue)
|
||||
{
|
||||
PropertyField(prop, "m_SupportInsideScroll");
|
||||
PropertyField(prop, "m_SupportInsideDrag");
|
||||
}
|
||||
PropertyField(prop, m_SupportSlider);
|
||||
PropertyField(prop, "m_ZoomLock");
|
||||
PropertyField(prop, "m_ScrollSensitivity");
|
||||
|
||||
@@ -74,6 +74,8 @@ namespace XCharts
|
||||
[SerializeField] private List<int> m_XAxisIndexs = new List<int>() { 0 };
|
||||
[SerializeField] private List<int> m_YAxisIndexs = new List<int>() { };
|
||||
[SerializeField] private bool m_SupportInside;
|
||||
[SerializeField] private bool m_SupportInsideScroll = true;
|
||||
[SerializeField] private bool m_SupportInsideDrag = true;
|
||||
[SerializeField] private bool m_SupportSlider;
|
||||
[SerializeField] private bool m_SupportSelect;
|
||||
[SerializeField] private bool m_ShowDataShadow;
|
||||
@@ -150,6 +152,22 @@ namespace XCharts
|
||||
set { if (PropertyUtil.SetStruct(ref m_SupportInside, value)) SetVerticesDirty(); }
|
||||
}
|
||||
/// <summary>
|
||||
/// 是否支持坐标系内滚动
|
||||
/// </summary>
|
||||
public bool supportInsideScroll
|
||||
{
|
||||
get { return m_SupportInsideScroll; }
|
||||
set { if (PropertyUtil.SetStruct(ref m_SupportInsideScroll, value)) SetVerticesDirty(); }
|
||||
}
|
||||
/// <summary>
|
||||
/// 是否支持坐标系内拖拽
|
||||
/// </summary>
|
||||
public bool supportInsideDrag
|
||||
{
|
||||
get { return m_SupportInsideDrag; }
|
||||
set { if (PropertyUtil.SetStruct(ref m_SupportInsideDrag, value)) SetVerticesDirty(); }
|
||||
}
|
||||
/// <summary>
|
||||
/// Whether a slider is supported. There are separate sliders on which the user zooms or roams.
|
||||
/// 是否支持滑动条。有单独的滑动条,用户在滑动条上进行缩放或漫游。
|
||||
/// </summary>
|
||||
@@ -771,7 +789,7 @@ namespace XCharts
|
||||
{
|
||||
if (!dataZoom.enable) continue;
|
||||
var grid = chart.GetDataZoomGridOrDefault(dataZoom);
|
||||
if (dataZoom.supportInside)
|
||||
if (dataZoom.supportInside && dataZoom.supportInsideDrag)
|
||||
{
|
||||
if (chart.IsInGrid(grid, pos))
|
||||
{
|
||||
@@ -892,7 +910,7 @@ namespace XCharts
|
||||
{
|
||||
if (!dataZoom.enable || dataZoom.zoomLock) continue;
|
||||
var grid = chart.GetDataZoomGridOrDefault(dataZoom);
|
||||
if ((dataZoom.supportInside && chart.IsInGrid(grid, pos)) ||
|
||||
if ((dataZoom.supportInside && dataZoom.supportInsideScroll && chart.IsInGrid(grid, pos)) ||
|
||||
dataZoom.IsInZoom(pos))
|
||||
{
|
||||
ScaleDataZoom(dataZoom, eventData.scrollDelta.y * dataZoom.scrollSensitivity);
|
||||
@@ -904,7 +922,7 @@ namespace XCharts
|
||||
{
|
||||
if (deltaPercent == 0) return;
|
||||
if (Input.touchCount > 1) return;
|
||||
if (!dataZoom.supportInside) return;
|
||||
if (!dataZoom.supportInside || !dataZoom.supportInsideDrag) return;
|
||||
if (!dataZoom.runtimeCoordinateDrag) return;
|
||||
var diff = dataZoom.end - dataZoom.start;
|
||||
if (deltaPercent > 0)
|
||||
@@ -1007,7 +1025,7 @@ namespace XCharts
|
||||
|
||||
private void CheckDataZoomScale(DataZoom dataZoom)
|
||||
{
|
||||
if (!dataZoom.enable || dataZoom.zoomLock || !dataZoom.supportInside) return;
|
||||
if (!dataZoom.enable || dataZoom.zoomLock || !dataZoom.supportInside || !dataZoom.supportInsideDrag) return;
|
||||
|
||||
if (Input.touchCount == 2)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user