Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --# Colors
- --[[
- Author: Anatoly
- License: ISC
- Description: Colors is a library, that manipulates colors.
- Thread: https://codea.io/talk/discussion/10043/colors
- Release: 6
- FIX! redish has been changed to the correct reddish where it hasn't been yet.
- WARNING! In Colors{}, "transparency" renamed to "alpha"
- CHANGES
- - In Colors{}, "transparency" renamed to "alpha"
- - Function "Background(s, a)" where s is any possible Color() input, and a (optional), the transparency.
- - Grayscales now don't support all the prefices.
- - New prefices! cyanish, magentish, yellowish
- In Main:
- - Dynamic backround, average of colors you see. Makes the background fit the theme.
- - Changed to the scroll engine.
- ]]
- colors = {}
- _colors = {}
- _colors.svg = {}
- _colors.x11 = {}
- do
- local colors1 = {}
- -- Origins
- colors1["red"] = color(255, 0, 0, 255)
- colors1["orangered"] = color(255, 60, 0, 255)
- colors1["orange"] = color(255, 150, 0, 255)
- colors1["brown"] = color(200, 115, 45, 255)
- colors1["darkbrown"] = color(115, 75, 40, 255)
- colors1["strawberry-red"] = color(223, 85, 111, 255)
- colors1["yellow"] = color(255, 255, 0, 255)
- colors1["gold"] = color(225, 180, 60, 255)
- colors1["bronze"] = color(190, 155, 90, 255)
- colors1["forestgreen"] = color(0, 155, 0, 255)
- colors1["middlegreen"] = color(150, 155, 0, 255)
- colors1["green"] = color(0, 255, 0, 255)
- colors1["grassgreen"] = color(150, 255, 0, 255)
- colors1["turquoise"] = color(0, 255, 150, 255)
- colors1["neon-green"] = color(210, 255, 0, 255)
- colors1["blue"] = color(0, 0, 255, 255)
- colors1["skyblue"] = color(0, 150, 255, 255)
- colors1["seablue"] = color(50, 200, 255)
- colors1["diamondblue"] = color(95, 170, 225, 255)
- colors1["cyan"] = color(0, 255, 255, 255)
- colors1["silver"] = color(180, 210, 210, 255)
- colors1["cold-white"] = color(192, 212, 225, 255)
- colors1["warm-white"] = color(228, 223, 207, 255)
- colors1["purple"] = color(160, 0, 255, 255)
- colors1["rosa"] = color(255, 0, 150, 255)
- colors1["magenta"] = color(255, 0, 255, 255)
- colors1["pink"] = color(255, 150, 255, 255)
- colors1["violet"] = color(125, 0, 255, 255)
- colors1["darkviolet"] = color(150, 25, 120, 255)
- -- SVG, X11
- -- Author: Andrew Stacey, adopted by Anatoly
- -- Website: http://www.math.ntnu.no/~stacey/HowDidIDoThat/iPad/Codea.html
- -- Source: https://github.com/loopspace/Codea-Library-Base/blob/master/ColourExt.lua
- -- Licence: CC0 (http://wiki.creativecommons.org/CC0)
- -- SVG
- _colors.svg.AliceBlue = color(239,247,255,255)
- _colors.svg.AntiqueWhite = color(249,234,215,255)
- _colors.svg.Aqua = color(0,255,255,255)
- _colors.svg.Aquamarine = color(126,255,211,255)
- _colors.svg.Azure = color(239,255,255,255)
- _colors.svg.Beige = color(244,244,220,255)
- _colors.svg.Bisque = color(255,227,196,255)
- _colors.svg.Black = color(0,0,0,255)
- _colors.svg.BlanchedAlmond = color(255,234,205,255)
- _colors.svg.Blue = color(0,0,255,255)
- _colors.svg.BlueViolet = color(137,43,226,255)
- _colors.svg.Brown = color(165,42,42,255)
- _colors.svg.BurlyWood = color(221,183,135,255)
- _colors.svg.CadetBlue = color(94,158,160,255)
- _colors.svg.Chartreuse = color(126,255,0,255)
- _colors.svg.Chocolate = color(210,104,29,255)
- _colors.svg.Coral = color(255,126,79,255)
- _colors.svg.CornflowerBlue = color(99,149,237,255)
- _colors.svg.Cornsilk = color(255,247,220,255)
- _colors.svg.Crimson = color(220,20,59,255)
- _colors.svg.Cyan = color(0,255,255,255)
- _colors.svg.DarkBlue = color(0,0,138,255)
- _colors.svg.DarkCyan = color(0,138,138,255)
- _colors.svg.DarkGoldenrod = color(183,133,11,255)
- _colors.svg.DarkGray = color(169,169,169,255)
- _colors.svg.DarkGreen = color(0,99,0,255)
- _colors.svg.DarkGrey = color(169,169,169,255)
- _colors.svg.DarkKhaki = color(188,182,107,255)
- _colors.svg.DarkMagenta = color(138,0,138,255)
- _colors.svg.DarkOliveGreen = color(84,107,47,255)
- _colors.svg.DarkOrange = color(255,140,0,255)
- _colors.svg.DarkOrchid = color(183,49,204,255)
- _colors.svg.DarkRed = color(138,0,0,255)
- _colors.svg.DarkSalmon = color(232,150,122,255)
- _colors.svg.DarkSeaGreen = color(142,187,142,255)
- _colors.svg.DarkSlateBlue = color(72,61,138,255)
- _colors.svg.DarkSlateGray = color(47,79,79,255)
- _colors.svg.DarkSlateGrey = color(47,79,79,255)
- _colors.svg.DarkTurquoise = color(0,206,209,255)
- _colors.svg.DarkViolet = color(147,0,211,255)
- _colors.svg.DeepPink = color(255,20,146,255)
- _colors.svg.DeepSkyBlue = color(0,191,255,255)
- _colors.svg.DimGray = color(104,104,104,255)
- _colors.svg.DimGrey = color(104,104,104,255)
- _colors.svg.DodgerBlue = color(29,144,255,255)
- _colors.svg.FireBrick = color(177,33,33,255)
- _colors.svg.FloralWhite = color(255,249,239,255)
- _colors.svg.ForestGreen = color(33,138,33,255)
- _colors.svg.Fuchsia = color(255,0,255,255)
- _colors.svg.Gainsboro = color(220,220,220,255)
- _colors.svg.GhostWhite = color(247,247,255,255)
- _colors.svg.Gold = color(255,215,0,255)
- _colors.svg.Goldenrod = color(218,165,31,255)
- _colors.svg.Gray = color(127,127,127,255)
- _colors.svg.Green = color(0,127,0,255)
- _colors.svg.GreenYellow = color(173,255,47,255)
- _colors.svg.Grey = color(127,127,127,255)
- _colors.svg.Honeydew = color(239,255,239,255)
- _colors.svg.HotPink = color(255,104,179,255)
- _colors.svg.IndianRed = color(205,91,91,255)
- _colors.svg.Indigo = color(74,0,130,255)
- _colors.svg.Ivory = color(255,255,239,255)
- _colors.svg.Khaki = color(239,229,140,255)
- _colors.svg.Lavender = color(229,229,249,255)
- _colors.svg.LavenderBlush = color(255,239,244,255)
- _colors.svg.LawnGreen = color(124,252,0,255)
- _colors.svg.LemonChiffon = color(255,249,205,255)
- _colors.svg.LightBlue = color(173,216,229,255)
- _colors.svg.LightCoral = color(239,127,127,255)
- _colors.svg.LightCyan = color(224,255,255,255)
- _colors.svg.LightGoldenrod = color(237,221,130,255)
- _colors.svg.LightGoldenrodYellow = color(249,249,210,255)
- _colors.svg.LightGray = color(211,211,211,255)
- _colors.svg.LightGreen = color(144,237,144,255)
- _colors.svg.LightGrey = color(211,211,211,255)
- _colors.svg.LightPink = color(255,181,192,255)
- _colors.svg.LightSalmon = color(255,160,122,255)
- _colors.svg.LightSeaGreen = color(31,177,170,255)
- _colors.svg.LightSkyBlue = color(135,206,249,255)
- _colors.svg.LightSlateBlue = color(132,112,255,255)
- _colors.svg.LightSlateGray = color(119,135,153,255)
- _colors.svg.LightSlateGrey = color(119,135,153,255)
- _colors.svg.LightSteelBlue = color(175,196,221,255)
- _colors.svg.LightYellow = color(255,255,224,255)
- _colors.svg.Lime = color(0,255,0,255)
- _colors.svg.LimeGreen = color(49,205,49,255)
- _colors.svg.Linen = color(249,239,229,255)
- _colors.svg.Magenta = color(255,0,255,255)
- _colors.svg.Maroon = color(127,0,0,255)
- _colors.svg.MediumAquamarine = color(102,205,170,255)
- _colors.svg.MediumBlue = color(0,0,205,255)
- _colors.svg.MediumOrchid = color(186,84,211,255)
- _colors.svg.MediumPurple = color(146,112,219,255)
- _colors.svg.MediumSeaGreen = color(59,178,113,255)
- _colors.svg.MediumSlateBlue = color(123,104,237,255)
- _colors.svg.MediumSpringGreen = color(0,249,154,255)
- _colors.svg.MediumTurquoise = color(72,209,204,255)
- _colors.svg.MediumVioletRed = color(198,21,132,255)
- _colors.svg.MidnightBlue = color(24,24,112,255)
- _colors.svg.MintCream = color(244,255,249,255)
- _colors.svg.MistyRose = color(255,227,225,255)
- _colors.svg.Moccasin = color(255,227,181,255)
- _colors.svg.NavajoWhite = color(255,221,173,255)
- _colors.svg.Navy = color(0,0,127,255)
- _colors.svg.NavyBlue = color(0,0,127,255)
- _colors.svg.OldLace = color(252,244,229,255)
- _colors.svg.Olive = color(127,127,0,255)
- _colors.svg.OliveDrab = color(107,141,34,255)
- _colors.svg.Orange = color(255,165,0,255)
- _colors.svg.OrangeRed = color(255,68,0,255)
- _colors.svg.Orchid = color(218,112,214,255)
- _colors.svg.PaleGoldenrod = color(237,232,170,255)
- _colors.svg.PaleGreen = color(151,251,151,255)
- _colors.svg.PaleTurquoise = color(175,237,237,255)
- _colors.svg.PaleVioletRed = color(219,112,146,255)
- _colors.svg.PapayaWhip = color(255,238,212,255)
- _colors.svg.PeachPuff = color(255,218,184,255)
- _colors.svg.Peru = color(205,132,63,255)
- _colors.svg.Pink = color(255,191,202,255)
- _colors.svg.Plum = color(221,160,221,255)
- _colors.svg.PowderBlue = color(175,224,229,255)
- _colors.svg.Purple = color(127,0,127,255)
- _colors.svg.Red = color(255,0,0,255)
- _colors.svg.RosyBrown = color(187,142,142,255)
- _colors.svg.RoyalBlue = color(65,104,225,255)
- _colors.svg.SaddleBrown = color(138,68,19,255)
- _colors.svg.Salmon = color(249,127,114,255)
- _colors.svg.SandyBrown = color(243,164,95,255)
- _colors.svg.SeaGreen = color(45,138,86,255)
- _colors.svg.Seashell = color(255,244,237,255)
- _colors.svg.Sienna = color(160,81,44,255)
- _colors.svg.Silver = color(191,191,191,255)
- _colors.svg.SkyBlue = color(135,206,234,255)
- _colors.svg.SlateBlue = color(105,89,205,255)
- _colors.svg.SlateGray = color(112,127,144,255)
- _colors.svg.SlateGrey = color(112,127,144,255)
- _colors.svg.Snow = color(255,249,249,255)
- _colors.svg.SpringGreen = color(0,255,126,255)
- _colors.svg.SteelBlue = color(70,130,179,255)
- _colors.svg.Tan = color(210,179,140,255)
- _colors.svg.Teal = color(0,127,127,255)
- _colors.svg.Thistle = color(216,191,216,255)
- _colors.svg.Tomato = color(255,99,71,255)
- _colors.svg.Turquoise = color(63,224,207,255)
- _colors.svg.Violet = color(237,130,237,255)
- _colors.svg.VioletRed = color(208,31,144,255)
- _colors.svg.Wheat = color(244,221,178,255)
- _colors.svg.White = color(255,255,255,255)
- _colors.svg.WhiteSmoke = color(244,244,244,255)
- _colors.svg.Yellow = color(255,255,0,255)
- _colors.svg.YellowGreen = color(154,205,49,255)
- for a, b in pairs(_colors.svg) do table.insert(_colors, {n="svg-"..string.lower(a), c=b}) end
- -- X11
- _colors.x11.AntiqueWhite1 = color(255,238,219,255)
- _colors.x11.AntiqueWhite2 = color(237,223,204,255)
- _colors.x11.AntiqueWhite3 = color(205,191,175,255)
- _colors.x11.AntiqueWhite4 = color(138,130,119,255)
- _colors.x11.Aquamarine1 = color(126,255,211,255)
- _colors.x11.Aquamarine2 = color(118,237,197,255)
- _colors.x11.Aquamarine3 = color(102,205,170,255)
- _colors.x11.Aquamarine4 = color(68,138,116,255)
- _colors.x11.Azure1 = color(239,255,255,255)
- _colors.x11.Azure2 = color(224,237,237,255)
- _colors.x11.Azure3 = color(192,205,205,255)
- _colors.x11.Azure4 = color(130,138,138,255)
- _colors.x11.Bisque1 = color(255,227,196,255)
- _colors.x11.Bisque2 = color(237,212,182,255)
- _colors.x11.Bisque3 = color(205,182,158,255)
- _colors.x11.Bisque4 = color(138,124,107,255)
- _colors.x11.Blue1 = color(0,0,255,255)
- _colors.x11.Blue2 = color(0,0,237,255)
- _colors.x11.Blue3 = color(0,0,205,255)
- _colors.x11.Blue4 = color(0,0,138,255)
- _colors.x11.Brown1 = color(255,63,63,255)
- _colors.x11.Brown2 = color(237,58,58,255)
- _colors.x11.Brown3 = color(205,51,51,255)
- _colors.x11.Brown4 = color(138,34,34,255)
- _colors.x11.Burlywood1 = color(255,211,155,255)
- _colors.x11.Burlywood2 = color(237,196,145,255)
- _colors.x11.Burlywood3 = color(205,170,124,255)
- _colors.x11.Burlywood4 = color(138,114,84,255)
- _colors.x11.CadetBlue1 = color(151,244,255,255)
- _colors.x11.CadetBlue2 = color(141,228,237,255)
- _colors.x11.CadetBlue3 = color(122,196,205,255)
- _colors.x11.CadetBlue4 = color(82,133,138,255)
- _colors.x11.Chartreuse1 = color(126,255,0,255)
- _colors.x11.Chartreuse2 = color(118,237,0,255)
- _colors.x11.Chartreuse3 = color(102,205,0,255)
- _colors.x11.Chartreuse4 = color(68,138,0,255)
- _colors.x11.Chocolate1 = color(255,126,35,255)
- _colors.x11.Chocolate2 = color(237,118,33,255)
- _colors.x11.Chocolate3 = color(205,102,28,255)
- _colors.x11.Chocolate4 = color(138,68,19,255)
- _colors.x11.Coral1 = color(255,114,85,255)
- _colors.x11.Coral2 = color(237,105,79,255)
- _colors.x11.Coral3 = color(205,90,68,255)
- _colors.x11.Coral4 = color(138,62,47,255)
- _colors.x11.Cornsilk1 = color(255,247,220,255)
- _colors.x11.Cornsilk2 = color(237,232,205,255)
- _colors.x11.Cornsilk3 = color(205,200,176,255)
- _colors.x11.Cornsilk4 = color(138,135,119,255)
- _colors.x11.Cyan1 = color(0,255,255,255)
- _colors.x11.Cyan2 = color(0,237,237,255)
- _colors.x11.Cyan3 = color(0,205,205,255)
- _colors.x11.Cyan4 = color(0,138,138,255)
- _colors.x11.DarkGoldenrod1 = color(255,184,15,255)
- _colors.x11.DarkGoldenrod2 = color(237,173,14,255)
- _colors.x11.DarkGoldenrod3 = color(205,149,12,255)
- _colors.x11.DarkGoldenrod4 = color(138,100,7,255)
- _colors.x11.DarkOliveGreen1 = color(201,255,112,255)
- _colors.x11.DarkOliveGreen2 = color(187,237,104,255)
- _colors.x11.DarkOliveGreen3 = color(161,205,89,255)
- _colors.x11.DarkOliveGreen4 = color(109,138,61,255)
- _colors.x11.DarkOrange1 = color(255,126,0,255)
- _colors.x11.DarkOrange2 = color(237,118,0,255)
- _colors.x11.DarkOrange3 = color(205,102,0,255)
- _colors.x11.DarkOrange4 = color(138,68,0,255)
- _colors.x11.DarkOrchid1 = color(191,62,255,255)
- _colors.x11.DarkOrchid2 = color(177,58,237,255)
- _colors.x11.DarkOrchid3 = color(154,49,205,255)
- _colors.x11.DarkOrchid4 = color(104,33,138,255)
- _colors.x11.DarkSeaGreen1 = color(192,255,192,255)
- _colors.x11.DarkSeaGreen2 = color(179,237,179,255)
- _colors.x11.DarkSeaGreen3 = color(155,205,155,255)
- _colors.x11.DarkSeaGreen4 = color(104,138,104,255)
- _colors.x11.DarkSlateGray1 = color(150,255,255,255)
- _colors.x11.DarkSlateGray2 = color(140,237,237,255)
- _colors.x11.DarkSlateGray3 = color(121,205,205,255)
- _colors.x11.DarkSlateGray4 = color(81,138,138,255)
- _colors.x11.DeepPink1 = color(255,20,146,255)
- _colors.x11.DeepPink2 = color(237,17,136,255)
- _colors.x11.DeepPink3 = color(205,16,118,255)
- _colors.x11.DeepPink4 = color(138,10,79,255)
- _colors.x11.DeepSkyBlue1 = color(0,191,255,255)
- _colors.x11.DeepSkyBlue2 = color(0,177,237,255)
- _colors.x11.DeepSkyBlue3 = color(0,154,205,255)
- _colors.x11.DeepSkyBlue4 = color(0,104,138,255)
- _colors.x11.DodgerBlue1 = color(29,144,255,255)
- _colors.x11.DodgerBlue2 = color(28,133,237,255)
- _colors.x11.DodgerBlue3 = color(23,116,205,255)
- _colors.x11.DodgerBlue4 = color(16,77,138,255)
- _colors.x11.Firebrick1 = color(255,48,48,255)
- _colors.x11.Firebrick2 = color(237,43,43,255)
- _colors.x11.Firebrick3 = color(205,38,38,255)
- _colors.x11.Firebrick4 = color(138,25,25,255)
- _colors.x11.Gold1 = color(255,215,0,255)
- _colors.x11.Gold2 = color(237,201,0,255)
- _colors.x11.Gold3 = color(205,173,0,255)
- _colors.x11.Gold4 = color(138,117,0,255)
- _colors.x11.Goldenrod1 = color(255,192,36,255)
- _colors.x11.Goldenrod2 = color(237,179,33,255)
- _colors.x11.Goldenrod3 = color(205,155,28,255)
- _colors.x11.Goldenrod4 = color(138,104,20,255)
- _colors.x11.Green1 = color(0,255,0,255)
- _colors.x11.Green2 = color(0,237,0,255)
- _colors.x11.Green3 = color(0,205,0,255)
- _colors.x11.Green4 = color(0,138,0,255)
- _colors.x11.Honeydew1 = color(239,255,239,255)
- _colors.x11.Honeydew2 = color(224,237,224,255)
- _colors.x11.Honeydew3 = color(192,205,192,255)
- _colors.x11.Honeydew4 = color(130,138,130,255)
- _colors.x11.HotPink1 = color(255,109,179,255)
- _colors.x11.HotPink2 = color(237,105,167,255)
- _colors.x11.HotPink3 = color(205,95,144,255)
- _colors.x11.HotPink4 = color(138,58,98,255)
- _colors.x11.IndianRed1 = color(255,105,105,255)
- _colors.x11.IndianRed2 = color(237,99,99,255)
- _colors.x11.IndianRed3 = color(205,84,84,255)
- _colors.x11.IndianRed4 = color(138,58,58,255)
- _colors.x11.Ivory1 = color(255,255,239,255)
- _colors.x11.Ivory2 = color(237,237,224,255)
- _colors.x11.Ivory3 = color(205,205,192,255)
- _colors.x11.Ivory4 = color(138,138,130,255)
- _colors.x11.Khaki1 = color(255,246,142,255)
- _colors.x11.Khaki2 = color(237,229,132,255)
- _colors.x11.Khaki3 = color(205,197,114,255)
- _colors.x11.Khaki4 = color(138,133,77,255)
- _colors.x11.LavenderBlush1 = color(255,239,244,255)
- _colors.x11.LavenderBlush2 = color(237,224,228,255)
- _colors.x11.LavenderBlush3 = color(205,192,196,255)
- _colors.x11.LavenderBlush4 = color(138,130,133,255)
- _colors.x11.LemonChiffon1 = color(255,249,205,255)
- _colors.x11.LemonChiffon2 = color(237,232,191,255)
- _colors.x11.LemonChiffon3 = color(205,201,165,255)
- _colors.x11.LemonChiffon4 = color(138,136,112,255)
- _colors.x11.LightBlue1 = color(191,238,255,255)
- _colors.x11.LightBlue2 = color(177,223,237,255)
- _colors.x11.LightBlue3 = color(154,191,205,255)
- _colors.x11.LightBlue4 = color(104,130,138,255)
- _colors.x11.LightCyan1 = color(224,255,255,255)
- _colors.x11.LightCyan2 = color(209,237,237,255)
- _colors.x11.LightCyan3 = color(179,205,205,255)
- _colors.x11.LightCyan4 = color(122,138,138,255)
- _colors.x11.LightGoldenrod1 = color(255,235,138,255)
- _colors.x11.LightGoldenrod2 = color(237,220,130,255)
- _colors.x11.LightGoldenrod3 = color(205,189,112,255)
- _colors.x11.LightGoldenrod4 = color(138,128,75,255)
- _colors.x11.LightPink1 = color(255,174,184,255)
- _colors.x11.LightPink2 = color(237,161,173,255)
- _colors.x11.LightPink3 = color(205,140,149,255)
- _colors.x11.LightPink4 = color(138,94,100,255)
- _colors.x11.LightSalmon1 = color(255,160,122,255)
- _colors.x11.LightSalmon2 = color(237,149,114,255)
- _colors.x11.LightSalmon3 = color(205,128,98,255)
- _colors.x11.LightSalmon4 = color(138,86,66,255)
- _colors.x11.LightSkyBlue1 = color(175,226,255,255)
- _colors.x11.LightSkyBlue2 = color(164,211,237,255)
- _colors.x11.LightSkyBlue3 = color(140,181,205,255)
- _colors.x11.LightSkyBlue4 = color(95,123,138,255)
- _colors.x11.LightSteelBlue1 = color(201,225,255,255)
- _colors.x11.LightSteelBlue2 = color(187,210,237,255)
- _colors.x11.LightSteelBlue3 = color(161,181,205,255)
- _colors.x11.LightSteelBlue4 = color(109,123,138,255)
- _colors.x11.LightYellow1 = color(255,255,224,255)
- _colors.x11.LightYellow2 = color(237,237,209,255)
- _colors.x11.LightYellow3 = color(205,205,179,255)
- _colors.x11.LightYellow4 = color(138,138,122,255)
- _colors.x11.Magenta1 = color(255,0,255,255)
- _colors.x11.Magenta2 = color(237,0,237,255)
- _colors.x11.Magenta3 = color(205,0,205,255)
- _colors.x11.Magenta4 = color(138,0,138,255)
- _colors.x11.Maroon1 = color(255,52,178,255)
- _colors.x11.Maroon2 = color(237,48,167,255)
- _colors.x11.Maroon3 = color(205,40,144,255)
- _colors.x11.Maroon4 = color(138,28,98,255)
- _colors.x11.MediumOrchid1 = color(224,102,255,255)
- _colors.x11.MediumOrchid2 = color(209,94,237,255)
- _colors.x11.MediumOrchid3 = color(179,81,205,255)
- _colors.x11.MediumOrchid4 = color(122,54,138,255)
- _colors.x11.MediumPurple1 = color(170,130,255,255)
- _colors.x11.MediumPurple2 = color(159,121,237,255)
- _colors.x11.MediumPurple3 = color(136,104,205,255)
- _colors.x11.MediumPurple4 = color(93,71,138,255)
- _colors.x11.MistyRose1 = color(255,227,225,255)
- _colors.x11.MistyRose2 = color(237,212,210,255)
- _colors.x11.MistyRose3 = color(205,182,181,255)
- _colors.x11.MistyRose4 = color(138,124,123,255)
- _colors.x11.NavajoWhite1 = color(255,221,173,255)
- _colors.x11.NavajoWhite2 = color(237,206,160,255)
- _colors.x11.NavajoWhite3 = color(205,178,138,255)
- _colors.x11.NavajoWhite4 = color(138,121,94,255)
- _colors.x11.OliveDrab1 = color(191,255,62,255)
- _colors.x11.OliveDrab2 = color(178,237,58,255)
- _colors.x11.OliveDrab3 = color(154,205,49,255)
- _colors.x11.OliveDrab4 = color(104,138,33,255)
- _colors.x11.Orange1 = color(255,165,0,255)
- _colors.x11.Orange2 = color(237,154,0,255)
- _colors.x11.Orange3 = color(205,132,0,255)
- _colors.x11.Orange4 = color(138,89,0,255)
- _colors.x11.OrangeRed1 = color(255,68,0,255)
- _colors.x11.OrangeRed2 = color(237,63,0,255)
- _colors.x11.OrangeRed3 = color(205,54,0,255)
- _colors.x11.OrangeRed4 = color(138,36,0,255)
- _colors.x11.Orchid1 = color(255,130,249,255)
- _colors.x11.Orchid2 = color(237,122,232,255)
- _colors.x11.Orchid3 = color(205,104,201,255)
- _colors.x11.Orchid4 = color(138,71,136,255)
- _colors.x11.PaleGreen1 = color(154,255,154,255)
- _colors.x11.PaleGreen2 = color(144,237,144,255)
- _colors.x11.PaleGreen3 = color(124,205,124,255)
- _colors.x11.PaleGreen4 = color(84,138,84,255)
- _colors.x11.PaleTurquoise1 = color(186,255,255,255)
- _colors.x11.PaleTurquoise2 = color(174,237,237,255)
- _colors.x11.PaleTurquoise3 = color(150,205,205,255)
- _colors.x11.PaleTurquoise4 = color(102,138,138,255)
- _colors.x11.PaleVioletRed1 = color(255,130,170,255)
- _colors.x11.PaleVioletRed2 = color(237,121,159,255)
- _colors.x11.PaleVioletRed3 = color(205,104,136,255)
- _colors.x11.PaleVioletRed4 = color(138,71,93,255)
- _colors.x11.PeachPuff1 = color(255,218,184,255)
- _colors.x11.PeachPuff2 = color(237,202,173,255)
- _colors.x11.PeachPuff3 = color(205,175,149,255)
- _colors.x11.PeachPuff4 = color(138,119,100,255)
- _colors.x11.Pink1 = color(255,181,196,255)
- _colors.x11.Pink2 = color(237,169,183,255)
- _colors.x11.Pink3 = color(205,145,158,255)
- _colors.x11.Pink4 = color(138,99,108,255)
- _colors.x11.Plum1 = color(255,186,255,255)
- _colors.x11.Plum2 = color(237,174,237,255)
- _colors.x11.Plum3 = color(205,150,205,255)
- _colors.x11.Plum4 = color(138,102,138,255)
- _colors.x11.Purple1 = color(155,48,255,255)
- _colors.x11.Purple2 = color(145,43,237,255)
- _colors.x11.Purple3 = color(124,38,205,255)
- _colors.x11.Purple4 = color(84,25,138,255)
- _colors.x11.Red1 = color(255,0,0,255)
- _colors.x11.Red2 = color(237,0,0,255)
- _colors.x11.Red3 = color(205,0,0,255)
- _colors.x11.Red4 = color(138,0,0,255)
- _colors.x11.RosyBrown1 = color(255,192,192,255)
- _colors.x11.RosyBrown2 = color(237,179,179,255)
- _colors.x11.RosyBrown3 = color(205,155,155,255)
- _colors.x11.RosyBrown4 = color(138,104,104,255)
- _colors.x11.RoyalBlue1 = color(72,118,255,255)
- _colors.x11.RoyalBlue2 = color(67,109,237,255)
- _colors.x11.RoyalBlue3 = color(58,94,205,255)
- _colors.x11.RoyalBlue4 = color(38,63,138,255)
- _colors.x11.Salmon1 = color(255,140,104,255)
- _colors.x11.Salmon2 = color(237,130,98,255)
- _colors.x11.Salmon3 = color(205,112,84,255)
- _colors.x11.Salmon4 = color(138,75,57,255)
- _colors.x11.SeaGreen1 = color(84,255,159,255)
- _colors.x11.SeaGreen2 = color(77,237,147,255)
- _colors.x11.SeaGreen3 = color(67,205,127,255)
- _colors.x11.SeaGreen4 = color(45,138,86,255)
- _colors.x11.Seashell1 = color(255,244,237,255)
- _colors.x11.Seashell2 = color(237,228,221,255)
- _colors.x11.Seashell3 = color(205,196,191,255)
- _colors.x11.Seashell4 = color(138,133,130,255)
- _colors.x11.Sienna1 = color(255,130,71,255)
- _colors.x11.Sienna2 = color(237,121,66,255)
- _colors.x11.Sienna3 = color(205,104,57,255)
- _colors.x11.Sienna4 = color(138,71,38,255)
- _colors.x11.SkyBlue1 = color(135,206,255,255)
- _colors.x11.SkyBlue2 = color(125,191,237,255)
- _colors.x11.SkyBlue3 = color(108,165,205,255)
- _colors.x11.SkyBlue4 = color(73,112,138,255)
- _colors.x11.SlateBlue1 = color(130,110,255,255)
- _colors.x11.SlateBlue2 = color(122,103,237,255)
- _colors.x11.SlateBlue3 = color(104,89,205,255)
- _colors.x11.SlateBlue4 = color(71,59,138,255)
- _colors.x11.SlateGray1 = color(197,226,255,255)
- _colors.x11.SlateGray2 = color(184,211,237,255)
- _colors.x11.SlateGray3 = color(159,181,205,255)
- _colors.x11.SlateGray4 = color(108,123,138,255)
- _colors.x11.Snow1 = color(255,249,249,255)
- _colors.x11.Snow2 = color(237,232,232,255)
- _colors.x11.Snow3 = color(205,201,201,255)
- _colors.x11.Snow4 = color(138,136,136,255)
- _colors.x11.SpringGreen1 = color(0,255,126,255)
- _colors.x11.SpringGreen2 = color(0,237,118,255)
- _colors.x11.SpringGreen3 = color(0,205,102,255)
- _colors.x11.SpringGreen4 = color(0,138,68,255)
- _colors.x11.SteelBlue1 = color(99,183,255,255)
- _colors.x11.SteelBlue2 = color(91,172,237,255)
- _colors.x11.SteelBlue3 = color(79,147,205,255)
- _colors.x11.SteelBlue4 = color(53,99,138,255)
- _colors.x11.Tan1 = color(255,165,79,255)
- _colors.x11.Tan2 = color(237,154,73,255)
- _colors.x11.Tan3 = color(205,132,63,255)
- _colors.x11.Tan4 = color(138,89,43,255)
- _colors.x11.Thistle1 = color(255,225,255,255)
- _colors.x11.Thistle2 = color(237,210,237,255)
- _colors.x11.Thistle3 = color(205,181,205,255)
- _colors.x11.Thistle4 = color(138,123,138,255)
- _colors.x11.Tomato1 = color(255,99,71,255)
- _colors.x11.Tomato2 = color(237,91,66,255)
- _colors.x11.Tomato3 = color(205,79,57,255)
- _colors.x11.Tomato4 = color(138,53,38,255)
- _colors.x11.Turquoise1 = color(0,244,255,255)
- _colors.x11.Turquoise2 = color(0,228,237,255)
- _colors.x11.Turquoise3 = color(0,196,205,255)
- _colors.x11.Turquoise4 = color(0,133,138,255)
- _colors.x11.VioletRed1 = color(255,62,150,255)
- _colors.x11.VioletRed2 = color(237,58,140,255)
- _colors.x11.VioletRed3 = color(205,49,119,255)
- _colors.x11.VioletRed4 = color(138,33,81,255)
- _colors.x11.Wheat1 = color(255,230,186,255)
- _colors.x11.Wheat2 = color(237,216,174,255)
- _colors.x11.Wheat3 = color(205,186,150,255)
- _colors.x11.Wheat4 = color(138,125,102,255)
- _colors.x11.Yellow1 = color(255,255,0,255)
- _colors.x11.Yellow2 = color(237,237,0,255)
- _colors.x11.Yellow3 = color(205,205,0,255)
- _colors.x11.Yellow4 = color(138,138,0,255)
- _colors.x11.Gray0 = color(189,189,189,255)
- _colors.x11.Green0 = color(0,255,0,255)
- _colors.x11.Grey0 = color(189,189,189,255)
- _colors.x11.Maroon0 = color(175,48,95,255)
- _colors.x11.Purple0 = color(160,31,239,255)
- for a, b in pairs(_colors.x11) do table.insert(_colors, {n="x11-"..string.lower(a), c=b}) end
- -- Generator
- local colors2 = {}
- local domains = {
- { -- The default color
- d = "", -- Subdomain
- w = true, -- Grayscale generate subdomains?
- c = function(b) return b end -- Returns color
- },
- {
- d = "slightly-dark-",
- w = false,
- c = function(b) return b:mix(color(65, 255), 0.5) end
- },
- {
- d = "dark-",
- w = false,
- c = function(b) return b:mix(color(0, 255), 0.5) end
- },
- {
- d = "slightly-light-",
- w = false,
- c = function(b) return b:mix(color(190, 255), 0.5) end
- },
- {
- d = "light-",
- w = false,
- c = function(b) return b:mix(color(255, 255), 0.5) end
- },
- {
- d = "middle-",
- w = false,
- c = function(b) return b:mix(color(127, 255), 0.5) end
- },
- {
- d = "reddish-",
- w = true,
- c = function(b) return b:mix(color(255, 0, 0, 255), 0.6) end
- },
- {
- d = "greenish-",
- w = true,
- c = function(b) return b:mix(color(0, 255, 0, 255), 0.6) end
- },
- {
- d = "blueish-",
- w = true,
- c = function(b) return b:mix(color(0, 0, 255, 255), 0.6) end
- },
- {
- d = "cyanish-",
- w = true,
- c = function(b) return b:mix(color(0, 255, 255, 255), 0.6) end
- },
- {
- d = "magentish-",
- w = true,
- c = function(b) return b:mix(color(255, 0, 255, 255), 0.6) end
- },
- {
- d = "yellowish-",
- w = true,
- c = function(b) return b:mix(color(255, 255, 0, 255), 0.6) end
- },
- {
- d = "slightly-reddish-",
- w = true,
- c = function(b) return b:mix(color(255, 0, 0, 255), 0.7) end
- },
- {
- d = "slightly-greenish-",
- w = true,
- c = function(b) return b:mix(color(0, 255, 0, 255), 0.7) end
- },
- {
- d = "slightly-blueish-",
- w = true,
- c = function(b) return b:mix(color(0, 0, 255, 255), 0.7) end
- },
- {
- d = "reduced-",
- w = false,
- c = function(b) return color(math.max(b.r-90,0), math.max(b.g-90,0), math.max(b.b-90,0), 255) end
- },
- {
- d = "saturated-",
- w = false,
- c = function(b) return color(b.r*b.r/255, b.g*b.g/255, b.b*b.b/255) end
- },
- {
- d = "over-saturated-",
- w = false,
- c = function(b) return color(b.r*b.r*b.r/65025, b.g*b.g*b.g/65025, b.b*b.b*b.b/65025) end
- },
- }
- -- Generate subdomains.
- for a, b in pairs(colors1) do
- for c, d in ipairs (domains) do
- colors2[d.d .. a] = d.c(b)
- table.insert(_colors, {n=d.d..a,c=colors2[d.d..a]})
- end
- end
- -- Grayscale
- for a, b in ipairs (domains) do
- if b.w then
- table.insert(_colors, {n=b.d .. "white", c = b.c(color(255, 255))})
- colors[b.d .. "white"] = b.c(color(255, 255))
- table.insert(_colors, {n=b.d .. "black", c = b.c(color(0, 255))})
- colors[b.d .. "black"] = b.c(color(0, 255))
- table.insert(_colors, {n=b.d .. "grey", c = b.c(color(128, 255))})
- colors[b.d .. "grey"] = b.c(color(128, 255))
- table.insert(_colors, {n=b.d .. "gray", c = b.c(color(128, 255))})
- colors[b.d .. "gray"] = b.c(color(128, 255))
- for i = 1, 9 do
- table.insert(_colors, {n=b.d .. "white-" .. i .. "0", c = b.c(color(25.5 * i, 255))})
- colors[b.d .. "white-" .. i .. "0"] = b.c(color(25.5 * i, 255))
- end
- end
- end
- -- Export
- for a, b in pairs(colors2) do colors[a]=b; end
- -- Sort alphabetically.
- table.sort(_colors, function(a, b)
- return a.n < b.n
- end)
- end
- -- Initialise
- --[[
- Hex() -> color()
- ]]
- Hex = function(l, alpha)
- if not (type(l) == "string") then
- assert(false, "bad argument #1 to 'Hex' (string expected, got ".. type(l) ..")")
- end
- if #l == 6 then
- return Color(tonumber(l, 16))
- elseif #l == 3 then
- l = string.rep(string.sub(l, 1, 1), 2) +
- string.rep(string.sub(l, 2, 2), 2) +
- string.rep(string.sub(l, 3, 3), 2)
- elseif #l == 2 then
- l = string.rep(l, 3)
- elseif #l == 1 then
- l = string.rep(l, 6)
- end
- return Color(tonumber(l, 16), alpha)
- end
- --[[
- Hue() -> color()
- ]]
- Hue = function(val, alpha)
- local r, g, b = 0, 0, 0
- if val > 360 then
- val = val - math.floor(val / 360) * 360
- elseif val < 0 then
- val = val + math.floor(val / 360) * 360
- end
- val = math.floor(val)
- if val <= 60 then
- r = 255
- g = (val/60)*255
- b = 0
- elseif val <= 120 then
- r = 255 - (val-60)/60 * 255
- g = 255
- b = 0
- elseif val <= 180 then
- r = 0
- g = 255
- b = ((val-120)/60)*255
- elseif val <= 240 then
- r = 0
- g = 255 - (val-180)/60 * 255
- b = 255
- elseif val <= 300 then
- r = ((val-240)/60)*255
- g = 0
- b = 255
- else
- r = 255
- g = 0
- b = 255 - (val-300)/60 * 255
- end
- return color(r, g, b, alpha)
- end
- --[[
- Color(col, alpha) -> color()
- ]]
- Color = function(s, alpha)
- local c = color(0, 255)
- -- Define Color
- if type(s) == "string" then
- s = string.lower(s)
- if s == "random" then
- c = RandomColor()
- elseif s == "transparent" then
- return color(0, 0)
- elseif (s == "random-grey") or (s == "random-gray") then
- c = color(math.random(255))
- elseif string.sub(s, 1, 4) == "svg-" then
- for a, b in pairs(_colors.svg) do if string.lower(a) == string.sub(s, 5, #s) then c = b end end
- elseif string.sub(s, 1, 4) == "x11-" then
- for a, b in pairs(_colors.x11) do if string.lower(a) == string.sub(s, 5, #s) then c = b end end
- elseif string.sub(s, 1, 4) == "hue-" then
- local v = tonumber(string.sub(s, 5, #s))
- c = Hue(v, a)
- elseif colors[s] then
- c = colors[s]
- elseif string.sub(s, 1, 1) == "#" and #s > 1 then
- c = Hex(string.sub(s, 2, #s), alpha)
- end
- elseif type(s) == "table" then
- local methods = {
- {
- name = "origin",
- f = function(q)
- return Color(q)
- end
- },
- {
- name = "shade",
- f = function(q)
- for a, b in pairs{
- -- Visibility
- ["light"] = function()
- return c:mix(color(255, 255), 0.5)
- end,
- ["dark"] = function()
- return c:mix(color(0, 255), 0.5)
- end,
- ["slightly-dark"] = function()
- return c:mix(color(65, 255), 0.5)
- end,
- ["slightly-light"] = function()
- return c:mix(color(190, 255), 0.5)
- end,
- ["middle"] = function()
- return c:mix(color(127, 255), 0.5)
- end,
- ["saturated"] = function()
- return color(c.r*c.r/255, c.g*c.g/255, c.b*c.b/255)
- end,
- -- Shading
- ["reddish"] = function()
- return c:mix(color(255, 0, 0), 0.6)
- end,
- ["greenish"] = function()
- return c:mix(color(0, 255, 0), 0.6)
- end,
- ["blueish"] = function()
- return c:mix(color(0, 0, 255), 0.6)
- end,
- ["slightly-reddish"] = function()
- return c:mix(color(255, 0, 0), 0.7)
- end,
- ["slightly-greenish"] = function()
- return c:mix(color(0, 255, 0), 0.7)
- end,
- ["slightly-blueish"] = function()
- return c:mix(color(0, 0, 255), 0.7)
- end,
- } do
- if q == a then
- return b()
- end
- end
- end
- },
- {
- name = "desaturate",
- f = function(q)
- for a, b in pairs{
- ["avg"] = function()
- return color((c.r+c.g+c.b)/3, 255)
- end,
- ["hsv"] = function()
- return color(math.max(c.r, c.g, c.b), 255)
- end,
- ["hsl"] = function()
- return color((math.max(c.r, c.g, c.b) + math.min(c.r, c.g, c.b))*.5, 255)
- end,
- ["lum"] = function()
- return color(c.r*.22 + c.g*.72 + c.b*.06, 255)
- end,
- ["red"] = function()
- return color(c.r, 255)
- end,
- ["green"] = function()
- return color(c.g, 255)
- end,
- ["blue"] = function()
- return color(c.b, 255)
- end,
- } do
- if q == a then
- return b()
- end
- end
- end
- },
- {
- name = "invert",
- f = function(q)
- if q then
- return color(255-c.r, 255-c.g, 255-c.b, 255)
- end
- end
- },
- {
- name = "filter",
- f = function(q)
- local m = c
- if q.r == false then
- m.r = 0
- end if q.g == false then
- m.g = 0
- end if q.b == false then
- m.b = 0
- end
- return m
- end
- },
- {
- name = "alpha",
- f = function(q)
- return color(c.r, c.g, c.b, q)
- end
- },
- }
- for d, e in ipairs(methods) do
- for a, b in pairs(s) do
- if a == e.name then
- c = e.f(b) or c
- end
- end
- end
- elseif type(s) == "number" then
- local b = s%256
- local g = ((s - b)/256)%256
- local r = ((s - g - b)/256^2)
- c = color(r, g, b)
- elseif type(s) == "userdata" then -- s is already a color
- c = s
- elseif type(s) == "nil" then
- --if s then
- return RandomColor()
- --end
- else
- assert(false, "bad argument #1 to 'Color' (string expected, got ".. type(s) ..")")
- end
- -- Set transparency
- if type(alpha) == "number" then
- c.a = alpha
- elseif type(alpha) == "string" then
- local m = {
- ["slightly-opaque"] = 225,
- ["slightly-visible"] = 50
- }
- c.a = m[alpha]
- elseif type(alpha) == "boolean" then
- if alpha then
- c.a = 255
- else
- c.a = 0
- end
- elseif type(s) == "table" then
- elseif alpha == nil then
- -- ignore
- else
- assert(false, "bad argument #2 to 'Color' (number expected, got ".. type(alpha) ..")")
- end
- return c
- end
- --[[
- Colors(col1, col2, ) -> color()
- ]]
- Colors = function(c1, c2, mode)
- local modes = {
- ["dif"] = function()
- return color(math.abs(c1.r-c2.r), math.abs(c1.g-c2.g), math.abs(c1.b-c2.b))
- end,
- ["avg"] = function()
- return color((c1.r+c2.r)/2, (c1.g+c2.g)/2, (c1.b+c2.b)/2)
- end,
- ["min"] = function()
- return color(math.min(c1.r, c2.r), math.min(c1.g, c2.g), math.min(c1.b, c2.b))
- end,
- ["max"] = function()
- return color(math.max(c1.r, c2.r), math.max(c1.g, c2.g), math.max(c1.b, c2.b))
- end,
- ["sqrt"] = function()
- return color(math.sqrt(c1.r^2 + c2.r^2)/math.sqrt(2),
- math.sqrt(c1.g^2 + c2.g^2)/math.sqrt(2),
- math.sqrt(c1.b^2 + c2.b^2)/math.sqrt(2)
- )
- end,
- ["multiply"] = function()
- return color(c1.r*c2.r/255, c1.g*c2.g/255, c1.b*c2.b/255)
- end,
- ["screen"] = function()
- return color(255-(255-c1.r)*(255-c2.r)/255,
- 255-(255-c1.g)*(255-c2.g)/255,
- 255-(255-c1.b)*(255-c2.b)/255
- )
- end,
- }
- return modes[string.lower(mode)]()
- end
- -- Fast access implementations
- function Fill(s, a) fill(Color(s, a)) end
- function Stroke(s, a) stroke(Color(s, a)) end
- function Tint(s, a) tint(Color(s, a)) end
- function Background(s, a) background(Color(s, a)) end
- function RandomColor(a) return color(math.random(255), math.random(255), math.random(255), a or 255) end
- --# Main
- -- colors1
- function setup()
- displayMode(FULLSCREEN)
- parameter.text("SEARCH", "", search)
- --parameter.watch("1/DeltaTime")
- scrollY = 0
- scrollYAcc = 1.5
- scrollYAccMax = 100
- scrollYAccMin = -100
- touching = false
- touchSelected = -1
- interupted = false
- infoState = 1
- infoVisibility = 20
- credits = getCredits()
- genIcon()
- AVG_BACKGROUND = color(0)
- COLORS = _colors
- local __different = {}
- for a, b in pairs(colors) do
- local unique = true
- for c, d in ipairs(__different) do
- if d.r == b.r and d.g == b.g and d.b == b.b then
- unique = false
- end
- end
- if unique then
- table.insert(__different, b)
- end
- end
- print("There are " .. #__different .. " unique colors on the 'colors' thread.")
- __different = {}
- for a, b in ipairs(_colors) do
- local unique = true
- for c, d in ipairs(__different) do
- if d.r == b.c.r and d.g == b.c.g and d.b == b.c.b then
- unique = false
- end
- end
- if unique then
- table.insert(__different, b.c)
- end
- end
- print("There are " .. #__different .. " unique colors on the '_colors' thread.")
- end
- function getCredits()
- local m = image(1024, 1024)
- -- Generate Credits
- setContext(m)
- Fill("brown", 255)
- fontSize(100)
- font("MarkerFelt-Wide")
- text("Colors v5", 512, 512)
- Fill("blueish-strawberry-red", 255)
- fontSize(50)
- font("Noteworthy-Light")
- text("Created by Anatoly.", 512, 412)
- -- Generate Blur
- local n = image(1024, 1024)
- local _n = mesh()
- _n.texture = m
- _n.shader = shader("Filters:Blur")
- _n.shader.conPixel = vec2(1/1024,1/1024)
- _n.shader.conWeight = 1/5
- __n = _n:addRect(0, 0, 0, 0)
- setContext(n)
- sprite(m, 512, 512, 1024, 1024)
- tint(255, 100)
- _n:setRect(__n, 512, 512, 1024, 1024)
- _n:draw()
- -- Reset
- setContext()
- return n
- end
- function genIcon()
- local m = image(320, 320)
- setContext(m)
- background(0)
- setContext()
- saveImage("Project:Icon", m)
- end
- function search(h)
- local function s(str, match)
- return string.find(str, match:gsub("-", "%%-"))
- end
- c = {}
- for a, b in ipairs(_colors) do c[a]=b end
- if #h > 0 then
- r = 0
- for v = 1, #c do
- if not s(c[v - r].n, h) then
- table.remove(c, v - r)
- r = r + 1
- elseif v > #c then
- break
- end
- end
- end
- COLORS = c
- end
- function showInfo()
- infoState = 1
- end
- function hideInfo()
- infoState = 2
- end
- function draw()
- displayRows = math.floor(HEIGHT/50)+3
- scrollY = scrollY + scrollYAcc
- if touching then
- scrollYAcc = scrollYAcc * .8
- elseif interupted then
- scrollYAcc = scrollYAcc * .95
- end
- if scrollYAcc > scrollYAccMax then
- scrollYAcc = scrollYAccMax
- elseif scrollYAcc < scrollYAccMin then
- scrollYAcc = scrollYAccMin
- end
- if scrollY > #COLORS * 50 + 100 then
- scrollY = -HEIGHT
- scrollYAcc = 2
- elseif scrollY < -HEIGHT then
- scrollY = -HEIGHT
- scrollYAcc = 0
- showInfo()
- end
- if scrollY > 100-HEIGHT then
- hideInfo()
- end
- if infoState == 1 and infoVisibility < 20 then
- infoVisibility = infoVisibility + 1
- elseif infoState == 2 and infoVisibility > 0 and (ElapsedTime > 4 or touching) then
- infoVisibility = infoVisibility - 1
- end
- local backgrounds = {}
- Background{
- origin = AVG_BACKGROUND,
- shade = "dark"
- }
- resetStyle()
- for a, b in ipairs(COLORS) do
- -- IGNORE IF OUTSIDE OF RANGE
- if (scrollY - 50 * a < 50 and HEIGHT - 50 * a + scrollY > -50) and b.c then
- table.insert(backgrounds, b.c)
- -- BG
- strokeWidth(40)
- Stroke(b.c)
- if touchSelected == a then stroke(20) end
- lineCapMode(ROUND)
- line(50, HEIGHT - 50 * a + scrollY, WIDTH-75, HEIGHT - 50 * a + scrollY)
- -- TEXT
- strokeWidth(0)
- fill(0)
- if (b.c.r <= 50 and b.c.g <= 50 and b.c.b <= 50) then
- fill(255)
- end
- fontSize(30)
- font("CourierNewPS-BoldMT")
- text(b.n, WIDTH*.5, HEIGHT - 50 * a + scrollY)
- -- COMPARISERS
- for d, e in
- ipairs({
- "white", "white-50", "black", "red", "yellow", "green", "cyan", "blue", "magenta"
- })
- do
- Fill(e)
- ellipse(50 + (d-1) * 15, HEIGHT - 50 * a + scrollY, 10)
- end
- -- INDEX
- local w, _ = textSize("#" .. a)
- --[[Fill{
- origin = b.c,
- --invert = true,
- }]]
- Fill("white")
- --[[if Color{origin = b.c, desaturate = "avg"}.r > 150 then
- Fill("black")
- end]]
- text("#" .. a, WIDTH-85-w*.5, HEIGHT - 50 * a + scrollY)
- end
- end
- --AVG_BACKGROUND = color(0)
- local r, g, b = 0, 0, 0
- for a, c in ipairs(backgrounds) do
- r = r + c.r
- g = g + c.g
- b = b + c.b
- end
- if #backgrounds > 0 then
- AVG_BACKGROUND =
- color(r / #backgrounds, g / #backgrounds, b / #backgrounds)
- else
- Stroke("transparent")
- end
- local _c = color(stroke())
- local heightTotal = 50 * #COLORS
- Stroke{
- origin = "black",
- shade = "blueish",
- }
- strokeWidth(25)
- lineCapMode(SQUARE)
- line(WIDTH-25, 0, WIDTH-25, HEIGHT)
- fill(_c)
- strokeWidth(0)
- ellipse(WIDTH-25, 25 + (HEIGHT-50)*(scrollY/heightTotal), 20)
- if infoVisibility > 0 then
- tint(255, 255 * (infoVisibility / 20))
- spriteMode(CENTER)
- sprite(credits, WIDTH*.5, HEIGHT*.5)
- end
- end
- function touched(t)
- local heightTotal = 50 * #COLORS
- -- t.y = 25 + (HEIGHT-50)*(scrollY/heightTotal)
- -- (t.y - 25) * heightTotal = (HEIGHT-50)*scrollY
- -- (t.y - 25) * heightTotal / (HEIGHT-50) = scrollY
- -- scrollY = (t.y - 25) * heightTotal / (HEIGHT-50)
- if t.state == BEGAN then
- if t.x < WIDTH - 25 * 1.5 then
- touching = true
- interupted = true
- elseif t.x > WIDTH - 25 * 1.5 then
- scrollY = (t.y - 25) * heightTotal / (HEIGHT-50)
- end
- elseif t.state == MOVING then
- if t.x < WIDTH - 25 * 1.5 and touching then
- scrollYAcc = scrollYAcc + t.deltaY *.2
- interupted = false
- elseif t.x > WIDTH - 25 * 1.5 then
- scrollY = (t.y - 25) * heightTotal / (HEIGHT-50)
- end
- else
- touching = false
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement