Azmyth.Editor.Grid.Grid_MouseDown C# (CSharp) Method

Grid_MouseDown() private method

private Grid_MouseDown ( object sender, MouseEventArgs e ) : void
sender object
e MouseEventArgs
return void
        private void Grid_MouseDown(object sender, MouseEventArgs e)
        {
            m_lastMousePosition = (e.Location);
                if (e.Button == MouseButtons.Right)
                {
                    m_dragging = true;

                }

                if (e.Button == MouseButtons.Left)
                {
                    m_selecting = true;
                    m_lastSelectMousePosition = e.Location;
                    m_selectDeltaX = 0;
                    m_selectionOffsetX = 0;
                    m_selectDeltaY = 0;
                    m_selectionOffsetY = 0;

                    m_selectedX = GetCellX(e.Location);
                    m_selectedY = GetCellY(e.Location);

                    var cellX = (int)System.Math.Floor((((double)m_mouseOffsetX) / ((double)m_cellSize)));
                    var cellY = (int)System.Math.Floor((((double)m_mouseOffsetY) / ((double)m_cellSize)));

                    m_selectionStartX = cellX * m_cellSize + GetPartialCellSizeX();
                    m_selectionStartY = cellY * m_cellSize + GetPartialCellSizeY();

                    selection = new Rectangle(m_selectionStartX, m_selectionStartY, m_cellSize, m_cellSize);

                    if (SelectionMade != null)
                    {
                        SelectionMade(new Rectangle(m_selectedX, m_selectedY, 1, 1));
                    }

                    Invalidate();
                }
        }