diff options
Diffstat (limited to 'vendor/github.com/lucasb-eyer/go-colorful/colorgens.go')
-rw-r--r-- | vendor/github.com/lucasb-eyer/go-colorful/colorgens.go | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/vendor/github.com/lucasb-eyer/go-colorful/colorgens.go b/vendor/github.com/lucasb-eyer/go-colorful/colorgens.go new file mode 100644 index 0000000..1c5e4ca --- /dev/null +++ b/vendor/github.com/lucasb-eyer/go-colorful/colorgens.go @@ -0,0 +1,54 @@ +// Various ways to generate single random colors + +package colorful + +import ( + "math/rand" +) + +// Creates a random dark, "warm" color through a restricted HSV space. +func FastWarmColor() Color { + return Hsv( + rand.Float64() * 360.0, + 0.5 + rand.Float64()*0.3, + 0.3 + rand.Float64()*0.3) +} + +// Creates a random dark, "warm" color through restricted HCL space. +// This is slower than FastWarmColor but will likely give you colors which have +// the same "warmness" if you run it many times. +func WarmColor() (c Color) { + for c = randomWarm() ; !c.IsValid() ; c = randomWarm() {} + return +} + +func randomWarm() Color { + return Hcl( + rand.Float64() * 360.0, + 0.1 + rand.Float64()*0.3, + 0.2 + rand.Float64()*0.3) +} + +// Creates a random bright, "pimpy" color through a restricted HSV space. +func FastHappyColor() Color { + return Hsv( + rand.Float64() * 360.0, + 0.7 + rand.Float64()*0.3, + 0.6 + rand.Float64()*0.3) +} + +// Creates a random bright, "pimpy" color through restricted HCL space. +// This is slower than FastHappyColor but will likely give you colors which +// have the same "brightness" if you run it many times. +func HappyColor() (c Color) { + for c = randomPimp() ; !c.IsValid() ; c = randomPimp() {} + return +} + +func randomPimp() Color { + return Hcl( + rand.Float64() * 360.0, + 0.5 + rand.Float64()*0.3, + 0.5 + rand.Float64()*0.3) +} + |