Compare commits
2 Commits
7773883688
...
fe40294f52
Author | SHA1 | Date | |
---|---|---|---|
fe40294f52 | |||
adc8b72e0e |
98
color.go
98
color.go
@ -30,40 +30,50 @@ type (
|
||||
)
|
||||
|
||||
const (
|
||||
WhiteCandlelight = 1500
|
||||
WhiteSunset = 2000
|
||||
WhiteUltraWarm = 2500
|
||||
WhiteIncandescent = 2700
|
||||
WhiteWarm = 3000
|
||||
WhiteCool = 4000
|
||||
WhiteCoolDaylight = 4500
|
||||
WhiteSoftDaylight = 5000
|
||||
WhiteDaylight = 5600
|
||||
WhiteNoonDaylight = 6000
|
||||
WhiteBrightDaylight = 6500
|
||||
WhiteCloudDaylight = 7000
|
||||
WhiteBlueDaylight = 7500
|
||||
WhiteBlueOvercast = 8000
|
||||
WhiteBlueIce = 9000
|
||||
KelvinCandlelight = 1500
|
||||
KelvinSunset = 2000
|
||||
KelvinUltraWarm = 2500
|
||||
KelvinIncandescent = 2700
|
||||
KelvinWarm = 3000
|
||||
KelvinCool = 4000
|
||||
KelvinCoolDaylight = 4500
|
||||
KelvinSoftDaylight = 5000
|
||||
KelvinDaylight = 5600
|
||||
KelvinNoonDaylight = 6000
|
||||
KelvinBrightDaylight = 6500
|
||||
KelvinCloudDaylight = 7000
|
||||
KelvinBlueDaylight = 7500
|
||||
KelvinBlueOvercast = 8000
|
||||
KelvinBlueIce = 9000
|
||||
|
||||
HueWhite = 0
|
||||
HueRed = 0
|
||||
HueOrange = 36
|
||||
HueYellow = 60
|
||||
HueGreen = 120
|
||||
HueCyan = 180
|
||||
HueBlue = 250
|
||||
HuePurple = 280
|
||||
HuePink = 325
|
||||
)
|
||||
|
||||
var (
|
||||
DefaultWhites = map[string]int{
|
||||
"candlelight": WhiteCandlelight,
|
||||
"sunset": WhiteSunset,
|
||||
"ultrawarm": WhiteUltraWarm,
|
||||
"incandesent": WhiteIncandescent,
|
||||
"warm": WhiteWarm,
|
||||
"cool": WhiteCool,
|
||||
"cooldaylight": WhiteCoolDaylight,
|
||||
"softdaylight": WhiteSoftDaylight,
|
||||
"daylight": WhiteDaylight,
|
||||
"noondaylight": WhiteNoonDaylight,
|
||||
"brightdaylight": WhiteBrightDaylight,
|
||||
"clouddaylight": WhiteCloudDaylight,
|
||||
"bluedaylight": WhiteBlueDaylight,
|
||||
"blueovercast": WhiteBlueOvercast,
|
||||
"blueice": WhiteBlueIce,
|
||||
"candlelight": KelvinCandlelight,
|
||||
"sunset": KelvinSunset,
|
||||
"ultrawarm": KelvinUltraWarm,
|
||||
"incandesent": KelvinIncandescent,
|
||||
"warm": KelvinWarm,
|
||||
"cool": KelvinCool,
|
||||
"cooldaylight": KelvinCoolDaylight,
|
||||
"softdaylight": KelvinSoftDaylight,
|
||||
"daylight": KelvinDaylight,
|
||||
"noondaylight": KelvinNoonDaylight,
|
||||
"brightdaylight": KelvinBrightDaylight,
|
||||
"clouddaylight": KelvinCloudDaylight,
|
||||
"bluedaylight": KelvinBlueDaylight,
|
||||
"blueovercast": KelvinBlueOvercast,
|
||||
"blueice": KelvinBlueIce,
|
||||
}
|
||||
)
|
||||
|
||||
@ -71,6 +81,24 @@ func NewRGBColor(r, g, b uint8) (*RGBColor, error) {
|
||||
return &RGBColor{R: r, G: g, B: b}, nil
|
||||
}
|
||||
|
||||
func NewHSColor(h, s float32) (HSBKColor, error) {
|
||||
var c HSBKColor
|
||||
|
||||
if h < 0 || h > 360 {
|
||||
return c, errors.New("hue must be between 0.0-360.0")
|
||||
}
|
||||
if s < 0 || s > 1 {
|
||||
return c, errors.New("saturation must be between 0.0-1.0")
|
||||
}
|
||||
|
||||
c = HSBKColor{
|
||||
H: Float32Ptr(h),
|
||||
S: Float32Ptr(s),
|
||||
}
|
||||
|
||||
return c, nil
|
||||
}
|
||||
|
||||
func NewHSBColor(h, s, b float32) (HSBKColor, error) {
|
||||
var c HSBKColor
|
||||
|
||||
@ -93,6 +121,14 @@ func NewHSBColor(h, s, b float32) (HSBKColor, error) {
|
||||
return c, nil
|
||||
}
|
||||
|
||||
func NewRed() (HSBKColor, error) { return NewHSColor(HueRed, 1) }
|
||||
func NewOrange() (HSBKColor, error) { return NewHSColor(HueOrange, 1) }
|
||||
func NewYellow() (HSBKColor, error) { return NewHSColor(HueYellow, 1) }
|
||||
func NewGreen() (HSBKColor, error) { return NewHSColor(HueGreen, 1) }
|
||||
func NewCyan() (HSBKColor, error) { return NewHSColor(HueCyan, 1) }
|
||||
func NewPurple() (HSBKColor, error) { return NewHSColor(HuePurple, 1) }
|
||||
func NewPink() (HSBKColor, error) { return NewHSColor(HuePink, 1) }
|
||||
|
||||
func NewWhite(k int16) (HSBKColor, error) {
|
||||
var c HSBKColor
|
||||
|
||||
@ -101,7 +137,7 @@ func NewWhite(k int16) (HSBKColor, error) {
|
||||
}
|
||||
|
||||
c = HSBKColor{
|
||||
H: Float32Ptr(0.0),
|
||||
H: Float32Ptr(HueWhite),
|
||||
S: Float32Ptr(0.0),
|
||||
K: Int16Ptr(k),
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user