public void DrawClipPolygon(VertexHelper vh, Vector3 p, float radius, Color32 color, bool clip, bool vertical, GridCoord grid) { if (!IsInChart(p)) { return; } if (!clip || (clip && (grid.Contains(p)))) { UGL.DrawSquare(vh, p, radius, color); } }
protected override void OnPopulateMesh(VertexHelper vh) { Vector3 sp, cp, ep; vh.Clear(); //背景边框 UGL.DrawSquare(vh, m_Center, m_Width / 2, m_BackgroundColor); UGL.DrawBorder(vh, m_Center, m_Width, m_Height, 10, Color.green, 0, m_BorderRadius); //点 UGL.DrawCricle(vh, m_LeftTopPos + new Vector3(20, -20), 10, m_DrawColor); //直线 sp = new Vector3(m_LeftTopPos.x + 50, m_LeftTopPos.y - 20); ep = new Vector3(m_LeftTopPos.x + 250, m_LeftTopPos.y - 20); UGL.DrawLine(vh, sp, ep, 3, m_DrawColor); //3点确定的折线 sp = new Vector3(m_LeftTopPos.x + 20, m_LeftTopPos.y - 100); cp = new Vector3(m_LeftTopPos.x + 200, m_LeftTopPos.y - 40); ep = new Vector3(m_LeftTopPos.x + 250, m_LeftTopPos.y - 80); UGL.DrawLine(vh, sp, cp, ep, 5, m_DrawColor); }
public static void DrawSymbol(VertexHelper vh, SerieSymbolType type, float symbolSize, float tickness, Vector3 pos, Color32 color, Color32 toColor, float gap, float[] cornerRadius, Color32 backgroundColor, float smoothness, Vector3 startPos) { switch (type) { case SerieSymbolType.None: break; case SerieSymbolType.Circle: if (gap > 0) { UGL.DrawDoughnut(vh, pos, symbolSize, symbolSize + gap, backgroundColor, backgroundColor, color, smoothness); } else { UGL.DrawCricle(vh, pos, symbolSize, color, toColor, smoothness); } break; case SerieSymbolType.EmptyCircle: if (gap > 0) { UGL.DrawCricle(vh, pos, symbolSize + gap, backgroundColor, smoothness); UGL.DrawEmptyCricle(vh, pos, symbolSize, tickness, color, color, backgroundColor, smoothness); } else { UGL.DrawEmptyCricle(vh, pos, symbolSize, tickness, color, color, backgroundColor, smoothness); } break; case SerieSymbolType.Rect: if (gap > 0) { UGL.DrawSquare(vh, pos, symbolSize + gap, backgroundColor); UGL.DrawSquare(vh, pos, symbolSize, color, toColor); } else { UGL.DrawRoundRectangle(vh, pos, symbolSize, symbolSize, color, color, 0, cornerRadius, true); } break; case SerieSymbolType.Triangle: if (gap > 0) { UGL.DrawTriangle(vh, pos, symbolSize + gap, backgroundColor); UGL.DrawTriangle(vh, pos, symbolSize, color, toColor); } else { UGL.DrawTriangle(vh, pos, symbolSize, color, toColor); } break; case SerieSymbolType.Diamond: if (gap > 0) { UGL.DrawDiamond(vh, pos, symbolSize + gap, backgroundColor); UGL.DrawDiamond(vh, pos, symbolSize, color, toColor); } else { UGL.DrawDiamond(vh, pos, symbolSize, color, toColor); } break; case SerieSymbolType.Arrow: var arrowWidth = symbolSize * 2; var arrowHeight = arrowWidth * 1.5f; var arrowOffset = 0; var arrowDent = arrowWidth / 3.3f; UGL.DrawArrow(vh, startPos, pos, arrowWidth, arrowHeight, arrowOffset, arrowDent, color); break; } }
public static void DrawSymbol(VertexHelper vh, SerieSymbolType type, float symbolSize, float tickness, Vector3 pos, Color32 color, Color32 toColor, float gap, float[] cornerRadius, Color32 backgroundColor, float smoothness) { switch (type) { case SerieSymbolType.None: break; case SerieSymbolType.Circle: if (gap > 0) { UGL.DrawDoughnut(vh, pos, symbolSize, symbolSize + gap, backgroundColor, backgroundColor, color, smoothness); } else { UGL.DrawCricle(vh, pos, symbolSize, color, toColor, smoothness); } break; case SerieSymbolType.EmptyCircle: if (gap > 0) { UGL.DrawCricle(vh, pos, symbolSize + gap, backgroundColor, smoothness); UGL.DrawEmptyCricle(vh, pos, symbolSize, tickness, color, color, backgroundColor, smoothness); } else { UGL.DrawEmptyCricle(vh, pos, symbolSize, tickness, color, color, backgroundColor, smoothness); } break; case SerieSymbolType.Rect: if (gap > 0) { UGL.DrawSquare(vh, pos, symbolSize + gap, backgroundColor); UGL.DrawSquare(vh, pos, symbolSize, color, toColor); } else { UGL.DrawRoundRectangle(vh, pos, symbolSize, symbolSize, color, color, 0, cornerRadius, true); } break; case SerieSymbolType.Triangle: if (gap > 0) { UGL.DrawTriangle(vh, pos, symbolSize + gap, backgroundColor); UGL.DrawTriangle(vh, pos, symbolSize, color, toColor); } else { UGL.DrawTriangle(vh, pos, symbolSize, color, toColor); } break; case SerieSymbolType.Diamond: if (gap > 0) { UGL.DrawDiamond(vh, pos, symbolSize + gap, backgroundColor); UGL.DrawDiamond(vh, pos, symbolSize, color, toColor); } else { UGL.DrawDiamond(vh, pos, symbolSize, color, toColor); } break; } }