41 lines
1.0 KiB
Go
41 lines
1.0 KiB
Go
package theme
|
|
|
|
import (
|
|
"image/color"
|
|
|
|
"fyne.io/fyne/v2"
|
|
"fyne.io/fyne/v2/theme"
|
|
)
|
|
|
|
const ColorNamePageBackground fyne.ThemeColorName = "PageBackground"
|
|
|
|
type MyTheme struct{}
|
|
|
|
var _ fyne.Theme = (*MyTheme)(nil)
|
|
|
|
func (m MyTheme) Color(name fyne.ThemeColorName, variant fyne.ThemeVariant) color.Color {
|
|
switch name {
|
|
case ColorNamePageBackground:
|
|
return color.RGBA{R: 20, G: 20, B: 20, A: 255}
|
|
case theme.ColorNameBackground:
|
|
return color.RGBA{R: 40, G: 40, B: 40, A: 255}
|
|
case theme.ColorNameScrollBar:
|
|
return theme.DarkTheme().Color(theme.ColorNameForeground, variant)
|
|
case theme.ColorNameButton:
|
|
return theme.DarkTheme().Color(theme.ColorNameInputBackground, variant)
|
|
}
|
|
return theme.DarkTheme().Color(name, variant)
|
|
}
|
|
|
|
func (m MyTheme) Icon(name fyne.ThemeIconName) fyne.Resource {
|
|
return theme.DefaultTheme().Icon(name)
|
|
}
|
|
|
|
func (m MyTheme) Font(style fyne.TextStyle) fyne.Resource {
|
|
return theme.DefaultTheme().Font(style)
|
|
}
|
|
|
|
func (m MyTheme) Size(name fyne.ThemeSizeName) float32 {
|
|
return theme.DefaultTheme().Size(name)
|
|
}
|