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