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);
}
}
}