private void ResetChart() { _drawings = new List <SelectedFigureBase>(); _zoomArea = null; _selectedDrawing = null; _tempDrawing = null; _drawAdditionChartHelper = null; _actions = DrawingActions.Default; _chartHelpers = ChartHelpers.Default; _isZoomed = true; SetForChartMinMaxPoints(0); }
private void SetChanges() { if (_tempDrawing == null) { return; } var isComplited = _tempDrawing.SetPosition(_mousePisition); if (isComplited) { _drawings.Add(_tempDrawing); _actions = DrawingActions.Default; _tempDrawing = null; } }
private void ReplacingFigure() { var crossedFigure = _selectedDrawing.FigureToReplace(_mousePisition); if (crossedFigure == null) { return; } _drawings.Remove(_selectedDrawing); _selectedDrawing = null; _tempDrawing = crossedFigure; _actions = DrawingActions.LineDrawing; }
public Chart() { InitializeComponent(); #region Init _resize = 0; _isResized = true; _isZoomed = true; _mousePisition = new ScreenPoint(); _drawings = new List <SelectedFigureBase>(); _barType = BarType.OHLC; _actions = DrawingActions.Default; _chartHelpers = ChartHelpers.Default; var windowSize = new Size(800, 800); SetRenderSettings(windowSize); _chart = new ChartDrawing(ClientSize.Width, ClientSize.Height, _d2DRenderTarget, TimingBy.Minute); _chartRendering = new ChartRendering.ChartRendering(_d2DRenderTarget, _textFormat, _chart); GenerateBars(); SetForChartMinMaxPoints(0); _borders = new RectangleF(windowSize.Width * _chart.Paddings.PaddingLeftRatio, windowSize.Height * _chart.Paddings.PaddingTopRatio, _chart.ChartWidth, _chart.ChartHeight); #endregion #region FormHandlers KeyDown += OnKeyDown; MouseDown += OnMouseDown; MouseClick += OnMouseClick; MouseWheel += OnMouseWheel; MouseMove += OnMouseMove; Resize += OnResizeEnd; Closing += OnClosing; #endregion _callback += RenderChart; RenderLoop.Run(this, _callback); }
private void KeyKeyboardChecker(Keys key) { switch (key) { case Keys.Escape: { _renderForm.Close(); this.Hide(); this.Close(); break; } case Keys.D1: { if (_barType != BarType.Candle) { _barType = BarType.Candle; SetForChartMinMaxPoints(_barRendering.Skip); _barRendering = new BarCandle(_d2DRenderTarget, _barRendering.Bars, _chart, _barRendering.Skip); break; } break; } case Keys.D2: { if (_barType != BarType.OHLC) { _barType = BarType.OHLC; SetForChartMinMaxPoints(_barRendering.Skip); _barRendering = new BarOHLC(_d2DRenderTarget, _barRendering.Bars, _chart, _barRendering.Skip); break; } break; } case Keys.Q: { if (_chartHelpers != ChartHelpers.Net) { _chartHelpers = ChartHelpers.Net; _drawAdditionChartHelper = DrawNet; break; } _drawAdditionChartHelper -= DrawNet; _chartHelpers = ChartHelpers.Default; break; } case Keys.W: { if (_chartHelpers != ChartHelpers.Lines) { _chartHelpers = ChartHelpers.Lines; _drawAdditionChartHelper = DrawLines; break; } _drawAdditionChartHelper -= DrawLines; _chartHelpers = ChartHelpers.Default; break; } case Keys.E: { if (_actions != DrawingActions.LineDrawing) { _actions = DrawingActions.LineDrawing; _tempDrawing = new LineFigure(_d2DRenderTarget); break; } _tempDrawing = null; _actions = DrawingActions.Default; break; } case Keys.R: { if (_actions != DrawingActions.RectangleDrawing) { _tempDrawing = new RectangleFigure(_d2DRenderTarget); _actions = DrawingActions.RectangleDrawing; break; } _tempDrawing = null; _actions = DrawingActions.Default; break; } case Keys.T: { if (_actions != DrawingActions.EllipseDrawing) { _tempDrawing = new EllipseFigure(_d2DRenderTarget); _actions = DrawingActions.EllipseDrawing; break; } _tempDrawing = null; _actions = DrawingActions.Default; break; } case Keys.A: { if (_actions != DrawingActions.StraightLineXDrawing) { _actions = DrawingActions.StraightLineXDrawing; break; } _actions = DrawingActions.Default; break; } case Keys.S: { if (_actions != DrawingActions.StraightLineYDrawing) { _actions = DrawingActions.StraightLineYDrawing; break; } _actions = DrawingActions.Default; break; } case Keys.Z: { if (_chartHelpers != ChartHelpers.Zoom) { _zoomArea = null; _chartHelpers = ChartHelpers.Zoom; break; } _chartHelpers = ChartHelpers.Default; break; } case Keys.Delete: { RemoveFigure(); break; } case Keys.C: { _chart.ChangeColor(); break; } case Keys.Enter: { ResetChart(); break; } } }