94 lines
3.0 KiB
Go
94 lines
3.0 KiB
Go
package theme
|
|
|
|
import (
|
|
"image/color"
|
|
|
|
"fyne.io/fyne/v2"
|
|
)
|
|
|
|
// Primary color names.
|
|
const (
|
|
ColorBlue = "blue"
|
|
ColorBrown = "brown"
|
|
ColorGray = "gray"
|
|
ColorGreen = "green"
|
|
ColorOrange = "orange"
|
|
ColorPurple = "purple"
|
|
ColorRed = "red"
|
|
ColorYellow = "yellow"
|
|
)
|
|
|
|
// Theme variants; the public available ones are defined in /theme/theme.go.
|
|
const (
|
|
VariantDark fyne.ThemeVariant = iota
|
|
VariantLight
|
|
VariantNameUserPreference // locally used in builtinTheme for backward compatibility
|
|
)
|
|
|
|
var (
|
|
colorLightOnPrimaryBlue = color.NRGBA{R: 0xff, G: 0xff, B: 0xff, A: 0xff}
|
|
colorLightOnPrimaryBrown = color.NRGBA{R: 0xff, G: 0xff, B: 0xff, A: 0xff}
|
|
colorLightOnPrimaryGray = color.NRGBA{R: 0x17, G: 0x17, B: 0x18, A: 0xff}
|
|
colorLightOnPrimaryGreen = color.NRGBA{R: 0x17, G: 0x17, B: 0x18, A: 0xff}
|
|
colorLightOnPrimaryOrange = color.NRGBA{R: 0x17, G: 0x17, B: 0x18, A: 0xff}
|
|
colorLightOnPrimaryPurple = color.NRGBA{R: 0xff, G: 0xff, B: 0xff, A: 0xff}
|
|
colorLightOnPrimaryRed = color.NRGBA{R: 0xff, G: 0xff, B: 0xff, A: 0xff}
|
|
colorLightOnPrimaryYellow = color.NRGBA{R: 0x17, G: 0x17, B: 0x18, A: 0xff}
|
|
colorLightPrimaryBlue = color.NRGBA{R: 0x29, G: 0x6f, B: 0xf6, A: 0xff}
|
|
colorLightPrimaryBrown = color.NRGBA{R: 0x79, G: 0x55, B: 0x48, A: 0xff}
|
|
colorLightPrimaryGray = color.NRGBA{R: 0x9e, G: 0x9e, B: 0x9e, A: 0xff}
|
|
colorLightPrimaryGreen = color.NRGBA{R: 0x8b, G: 0xc3, B: 0x4a, A: 0xff}
|
|
colorLightPrimaryOrange = color.NRGBA{R: 0xff, G: 0x98, B: 0x00, A: 0xff}
|
|
colorLightPrimaryPurple = color.NRGBA{R: 0x9c, G: 0x27, B: 0xb0, A: 0xff}
|
|
colorLightPrimaryRed = color.NRGBA{R: 0xf4, G: 0x43, B: 0x36, A: 0xff}
|
|
colorLightPrimaryYellow = color.NRGBA{R: 0xff, G: 0xeb, B: 0x3b, A: 0xff}
|
|
)
|
|
|
|
// ForegroundOnPrimaryColorNamed returns a theme specific color used for text and icons against the named primary color.
|
|
func ForegroundOnPrimaryColorNamed(name string) color.Color {
|
|
switch name {
|
|
case ColorRed:
|
|
return colorLightOnPrimaryRed
|
|
case ColorOrange:
|
|
return colorLightOnPrimaryOrange
|
|
case ColorYellow:
|
|
return colorLightOnPrimaryYellow
|
|
case ColorGreen:
|
|
return colorLightOnPrimaryGreen
|
|
case ColorPurple:
|
|
return colorLightOnPrimaryPurple
|
|
case ColorBrown:
|
|
return colorLightOnPrimaryBrown
|
|
case ColorGray:
|
|
return colorLightOnPrimaryGray
|
|
}
|
|
|
|
// We return the “on” value for ColorBlue for every other value.
|
|
// There is no need to have it in the switch above.
|
|
return colorLightOnPrimaryBlue
|
|
}
|
|
|
|
// PrimaryColorNamed returns a theme specific color value for a named primary color.
|
|
func PrimaryColorNamed(name string) color.Color {
|
|
switch name {
|
|
case ColorRed:
|
|
return colorLightPrimaryRed
|
|
case ColorOrange:
|
|
return colorLightPrimaryOrange
|
|
case ColorYellow:
|
|
return colorLightPrimaryYellow
|
|
case ColorGreen:
|
|
return colorLightPrimaryGreen
|
|
case ColorPurple:
|
|
return colorLightPrimaryPurple
|
|
case ColorBrown:
|
|
return colorLightPrimaryBrown
|
|
case ColorGray:
|
|
return colorLightPrimaryGray
|
|
}
|
|
|
|
// We return the value for ColorBlue for every other value.
|
|
// There is no need to have it in the switch above.
|
|
return colorLightPrimaryBlue
|
|
}
|