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