BlottoBeats.Client.MainForm.paint C# (CSharp) Метод

paint() приватный Метод

private paint ( object sender, PaintEventArgs e ) : void
sender object
e PaintEventArgs
Результат void
        private void paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            g.FillEllipse(darkColor, 31 * size / 8, size / 8 - 1, size / 4, 3 * size / 8);

            if (settingsDropped)
            {
                g.FillRectangle(medColor, 3 * size / 4, 7 * size / 8, 3 * size + 2, 12 * size / 8);
                g.DrawRectangle(lightInline, 3 * size / 4, 7 * size / 8, 3 * size + 2, 12 * size / 8);
                StringFormat format = new StringFormat();
                format.Alignment = StringAlignment.Far;
                g.DrawString("Randomized?", font, textColor, 119 * size / 32, 15 * size / 16, format);
                g.FillPolygon(advSettingButton.inside, advSettingButton.ClickLocation);
                g.DrawImage(advSettingButton.img, advSettingButton.ImgLocation.Value);
                g.FillPolygon(exportButton.inside, exportButton.ClickLocation);
                g.DrawImage(exportButton.img, exportButton.ImgLocation.Value);
            }
            else if(redditDropped)
            {
                g.FillRectangle(medColor, 3 * size / 4, 7 * size / 8, 3 * size + 2, 2 * size);
                g.DrawRectangle(lightInline, 3 * size / 4, 7 * size / 8, 3 * size + 2, 2 * size);

                StringFormat center = new StringFormat();
                center.Alignment = StringAlignment.Center;
                if (curGenre == 0)
                    g.DrawString("Top: All", smallFont, textColor, 37 * size / 16, 15 * size / 16, center);
                else if (curGenre == genres.Length - 1)
                    g.DrawString("Top: My Songs", smallFont, textColor, 37 * size / 16, 15 * size / 16, center);
                else
                    g.DrawString("Top: " + genres[curGenre], smallFont, textColor, 37 * size / 16, 15 * size / 16, center);

                g.FillPolygon(prevGenreButton.inside, prevGenreButton.ClickLocation);
                g.DrawString("<", smallFont, textColor, 13 * size / 16, 15 * size / 16);
                g.FillPolygon(nextGenreButton.inside, nextGenreButton.ClickLocation);
                g.DrawString(">", smallFont, textColor, 57 * size / 16, 15 * size / 16);

                if (redditSongs[curGenre].Count > 0)
                {
                    for (int i = 0; i < redditSongs[curGenre].Count; i++)
                    {
                        String preString = "";
                        if (redditSongs[curGenre][i].score >= 0) preString = "+";
                        String wholeString = preString + redditSongs[curGenre][i].score + " | Genre: " + redditSongs[curGenre][i].genre + " | Tempo: " + redditSongs[curGenre][i].tempo + " | Seed: " + redditSongs[curGenre][i].seed;
                        if (wholeString.Length > 50)
                            wholeString = wholeString.Substring(0, 50) + "...";
                        g.DrawString(wholeString, smallFont, textColor, 13 * size / 16, 15 * size / 16 + (i + 1) * smallFont.Size * 2);
                    }
                }
                else if (redditSongs[curGenre].Count <= 0 && redditThreads[curGenre].ThreadState == ThreadState.Running)
                    g.DrawString("Song list loading...", font, textColor, 13 * size / 16, 18 * size / 16);
            }

            foreach(Button button in buttons)
            {
                g.FillPolygon(button.inside, button.ClickLocation);
                if(button.stroke != null)
                    g.DrawPolygon(button.stroke, button.ClickLocation);
                if (button.img != null)
                    g.DrawImage(button.img, button.ImgLocation.Value);

                if(button == playBarButton)
                {
                    SolidBrush fillProgress = medColor;
                    if (score < 0) fillProgress = downvoteColor;
                    else if (score > 0) fillProgress = upvoteColor;

                    g.FillRectangle(fillProgress, 3 * size / 4, size / 8, sliderButton.loc.X - 3 * size / 4, 3 * size / 8);
                    g.DrawRectangle(lightInline, 3 * size / 4, size / 8, sliderButton.loc.X - 3 * size / 4, 3 * size / 8);
                }
            }
        }