Files
Techmino/Zframework/color.lua

122 lines
3.5 KiB
Lua

local COLOR={
red= {1.0, 0.0, 0.0},
fire= {1.0, 0.4, 0.0},
orange= {1.0, 0.6, 0.0},
yellow= {1.0, 1.0, 0.0},
lime= {0.7, 1.0, 0.0},
jade= {0.5, 1.0, 0.0},
green= {0.0, 1.0, 0.0},
aqua= {0.0, 1.0, 0.6},
cyan= {0.0, 1.0, 1.0},
navy= {0.0, 0.7, 1.0},
sea= {0.0, 0.4, 1.0},
blue= {0.2, 0.2, 1.0},
violet= {0.4, 0.0, 1.0},
purple= {0.7, 0.0, 1.0},
magenta= {1.0, 0.0, 1.0},
wine= {1.0, 0.0, 0.5},
lRed= {1.0, 0.5, 0.5},
lFire= {1.0, 0.7, 0.5},
lOrange= {1.0, 0.8, 0.3},
lYellow= {1.0, 1.0, 0.5},
lLime= {0.8, 1.0, 0.4},
lJade= {0.6, 1.0, 0.4},
lGreen= {0.5, 1.0, 0.5},
lAqua= {0.4, 1.0, 0.7},
lCyan= {0.5, 1.0, 1.0},
lNavy= {0.5, 0.8, 1.0},
lSea= {0.4, 0.7, 1.0},
lBlue= {0.7, 0.7, 1.0},
lViolet= {0.7, 0.4, 1.0},
lPurple= {0.8, 0.4, 1.0},
lMagenta= {1.0, 0.5, 1.0},
lWine= {1.0, 0.4, 0.7},
dRed= {0.6, 0.0, 0.0},
dFire= {0.6, 0.3, 0.0},
dOrange= {0.6, 0.4, 0.0},
dYellow= {0.6, 0.6, 0.0},
dLime= {0.5, 0.6, 0.0},
dJade= {0.3, 0.6, 0.0},
dGreen= {0.0, 0.6, 0.0},
dAqua= {0.0, 0.6, 0.4},
dCyan= {0.0, 0.6, 0.6},
dNavy= {0.0, 0.4, 0.6},
dSea= {0.0, 0.2, 0.6},
dBlue= {0.1, 0.1, 0.6},
dViolet= {0.2, 0.0, 0.6},
dPurple= {0.4, 0.0, 0.6},
dMagenta= {0.6, 0.0, 0.6},
dWine= {0.6, 0.0, 0.3},
black= {0.0, 0.0, 0.0},
dGray= {0.3, 0.3, 0.3},
gray= {0.6, 0.6, 0.6},
lGray= {0.8, 0.8, 0.8},
white= {1.0, 1.0, 1.0},
}
for k,v in next,{
R="red",F="fire",O="orange",Y="yellow",L="lime",J="jade",G="green",A="aqua",C="cyan",N="navy",S="sea",B="blue",V="violet",P="purple",M="magenta",W="wine",
lR="lRed",lF="lFire",lO="lOrange",lY="lYellow",lL="lLime",lJ="lJade",lG="lGreen",lA="lAqua",lC="lCyan",lN="lNavy",lS="lSea",lB="lBlue",lV="lViolet",lP="lPurple",lM="lMagenta",lW="lWine",
dR="dRed",dF="dFire",dO="dOrange",dY="dYellow",dL="dLime",dJ="dJade",dG="dGreen",dA="dAqua",dC="dCyan",dN="dNavy",dS="dSea",dB="dBlue",dV="dViolet",dP="dPurple",dM="dMagenta",dW="dWine",
D="black",dH="dGray",H="gray",lH="lGray",Z="white",
--Remain letter: EIKQTUX
}do
COLOR[k]=COLOR[v]
end
setmetatable(COLOR,{__index=function(_,k)
error("No color: "..tostring(k))
end})
do--Random generators
local rnd=math.random
local list_norm={"red","fire","orange","yellow","lime","jade","green","aqua","cyan","navy","sea","blue","violet","purple","magenta","wine"}
local len_list_norm=#list_norm
function COLOR.random_norm()
return COLOR[list_norm[rnd(len_list_norm)]]
end
local list_bright={"lRed","lFire","lOrange","lYellow","lLime","lJade","lGreen","lAqua","lCyan","lNavy","lSea","lBlue","lViolet","lPurple","lMagenta","lWine"}
local len_list_bright=#list_bright
function COLOR.random_bright()
return COLOR[list_bright[rnd(len_list_bright)]]
end
local list_dark={"dRed","dFire","dOrange","dYellow","dLime","dJade","dGreen","dAqua","dCyan","dNavy","dSea","dBlue","dViolet","dPurple","dMagenta","dWine"}
local len_list_dark=#list_dark
function COLOR.random_dark()
return COLOR[list_dark[rnd(len_list_dark)]]
end
end
do--Rainbow generators
local sin=math.sin
function COLOR.rainbow(phase)
return
sin(phase)*.4+.6,
sin(phase+2.0944)*.4+.6,
sin(phase-2.0944)*.4+.6
end
function COLOR.rainbow_light(phase)
return
sin(phase)*.2+.7,
sin(phase+2.0944)*.2+.7,
sin(phase-2.0944)*.2+.7
end
function COLOR.rainbow_dark(phase)
return
sin(phase)*.2+.4,
sin(phase+2.0944)*.2+.4,
sin(phase-2.0944)*.2+.4
end
function COLOR.rainbow_gray(phase)
return
sin(phase)*.16+.5,
sin(phase+2.0944)*.16+.5,
sin(phase-2.0944)*.16+.5
end
end
return COLOR