StonehearthEditor.NetWorthVisualizer.canvas_MouseMove C# (CSharp) Method

canvas_MouseMove() private method

private canvas_MouseMove ( object sender, MouseEventArgs e ) : void
sender object
e MouseEventArgs
return void
        private void canvas_MouseMove(object sender, MouseEventArgs e)
        {
            Point pos = canvas.PointToClient(Cursor.Position);

            int cellSizeZoomed = (int)Math.Round(kCellSize * mZoom);
            int maxRows = Math.Min(mItemCount, kMaxRows);
            int x = pos.X / cellSizeZoomed;
            int y = (canvas.Height - pos.Y - maxRows - kBottomOffset) / cellSizeZoomed;
            List<JsonFileData> list;
            if (mNetWorthValues.TryGetValue(x + 1, out list))
            {
                if (y < list.Count && y >= 0)
                {
                    if (list[y] != mHoveredFileData)
                    {
                        pos.X = pos.X + 2;
                        pos.Y = pos.Y + 2;
                        mHoveredFileData = list[y];
                        string tooltip = mHoveredFileData.FileName;
                        if (mHoveredFileData.RecommendedMinNetWorth >= 0)
                        {
                            tooltip = tooltip + "\n Recommended Net Worth: " + mHoveredFileData.RecommendedMinNetWorth + " - " + (mHoveredFileData.RecommendedMaxNetWorth * kMaxRecommendedMultiplier);
                            tooltip = tooltip + "\n Average: " + mHoveredFileData.RecommendedMaxNetWorth;
                        }

                        imageTooltip.Show(tooltip, canvas, pos);
                    }

                    return;
                }
            }

            mHoveredFileData = null;
            imageTooltip.Hide(canvas);
        }