Changeset - 1846a628223c
[Not reviewed]
default
0 1 0
Jason Maltzen (jmaltzen) - 8 years ago 2016-01-15 17:23:21
jason.maltzen@unsanctioned.net
Use luminance value to determine whether exported wiki color text should be white-on-color instead of default black-on-color
1 file changed with 13 insertions and 1 deletions:
0 comments (0 inline, 0 general)
PlayerProfile.cs
Show inline comments
...
 
@@ -438,6 +438,7 @@ namespace DesertPaintLab
 
        public void ExportWikiFormat(TextWriter writer)
 
        {
 
            PaintRecipe recipe;
 
            List<KeyValuePair<string, string>> missing = new List<KeyValuePair<string, string>>();
 
            using (writer)
 
            {
 
                writer.WriteLine("{| class='wikitable sortable' border=\"1\" style=\"background-color:#DEB887;\"");
...
 
@@ -447,7 +448,13 @@ namespace DesertPaintLab
 
                    writer.WriteLine("|-");
 
                    string colorLine = "| ";
 
                    colorLine += "style=\"font-weight: bold; background-color: #" + color.Red.ToString("X2") + color.Green.ToString("X2") + color.Blue.ToString("X2") + ";";
 
                    if (color.Red < 128 && color.Green < 128 && color.Blue < 128)
 
                    float rPortion = color.Red / 255.0f;
 
                    float gPortion = color.Green / 255.0f;
 
                    float bPortion = color.Blue / 255.0f;
 
                    float maxColor = Math.Max(rPortion, Math.Max(gPortion, bPortion));
 
                    float minColor = Math.Min(rPortion, Math.Min(gPortion, bPortion));
 
                    float luminance = (maxColor - minColor) * 0.5f;
 
                    if (luminance < 0.5f)
 
                    {
 
                        // dark color gets light text
 
                        colorLine += " color: #FFFFFF;";
...
 
@@ -465,6 +472,11 @@ namespace DesertPaintLab
 
                        // no recipe
 
                    }
 
                    colorLine += " || ";
 
                    
 
                    if (recipe.CheckMissingReactions(ref missing) == false)
 
                    {
 
                        colorLine += "Y";
 
                    }
 
                    writer.WriteLine(colorLine);
 
                }
 
                writer.WriteLine("|}");
0 comments (0 inline, 0 general)