Пример #1
0
        private void pbLanguageUsage_MouseMove(object sender, MouseEventArgs e)
        {
            if (pbLanguageUsage.Image == null)
            {
                return;
            }

            if (e.X <= _chartSize.Width + _chartOffset.X && e.Y <= _chartSize.Height + _chartOffset.Y)
            {
                var pixel = ((Bitmap)pbLanguageUsage.Image).GetPixel(e.X, e.Y);

                var profile = _languageGraphItems.Where(item => _languageChart.GetColor(item.Value) == pixel).Select(item => item.Key).FirstOrDefault();

                if (profile != null)
                {
                    if (_lastLanguageGraphPoint != e.Location)
                    {
                        _lastLanguageGraphPoint = e.Location;

                        var stats = _sourceCounter.GetProfileStats(profile);

                        languageUsageTooltip.Show(string.Format("{0}{1}Lines of Code: {2:N0}", profile.Name, Environment.NewLine, stats.CodeLines), pbLanguageUsage, e.X + 20, e.Y + 20);
                    }
                }
            }

            else
            {
                languageUsageTooltip.Hide(this);
            }
        }