| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package test
- import (
- "image/color"
- "fyne.io/fyne/v2"
- "fyne.io/fyne/v2/theme"
- )
- var defaultTheme fyne.Theme
- var _ fyne.Theme = (*configurableTheme)(nil)
- type configurableTheme struct {
- colors map[fyne.ThemeColorName]color.Color
- fonts map[fyne.TextStyle]fyne.Resource
- sizes map[fyne.ThemeSizeName]float32
- }
- // Theme returns a theme useful for image based tests.
- func Theme() fyne.Theme {
- if defaultTheme == nil {
- defaultTheme = &configurableTheme{
- colors: map[fyne.ThemeColorName]color.Color{
- theme.ColorNameBackground: color.NRGBA{R: 0x44, G: 0x44, B: 0x44, A: 0xff},
- theme.ColorNameButton: color.NRGBA{R: 0x33, G: 0x33, B: 0x33, A: 0xff},
- theme.ColorNameDisabled: color.NRGBA{R: 0x88, G: 0x88, B: 0x88, A: 0xff},
- theme.ColorNameDisabledButton: color.NRGBA{R: 0x22, G: 0x22, B: 0x22, A: 0xff},
- theme.ColorNameError: color.NRGBA{R: 0xf4, G: 0x43, B: 0x36, A: 0xff},
- theme.ColorNameFocus: color.NRGBA{R: 0x78, G: 0x3a, B: 0x3a, A: 0xff},
- theme.ColorNameForeground: color.NRGBA{R: 0xff, G: 0xff, B: 0xff, A: 0xff},
- theme.ColorNameHover: color.NRGBA{R: 0x88, G: 0xff, B: 0xff, A: 0x22},
- theme.ColorNameHeaderBackground: color.NRGBA{R: 0x22, G: 0x22, B: 0x22, A: 0xff},
- theme.ColorNameHyperlink: color.NRGBA{R: 0xff, G: 0xcc, B: 0x80, A: 0xff},
- theme.ColorNameInputBackground: color.NRGBA{R: 0x66, G: 0x66, B: 0x66, A: 0xff},
- theme.ColorNameInputBorder: color.NRGBA{R: 0x86, G: 0x86, B: 0x86, A: 0xff},
- theme.ColorNameMenuBackground: color.NRGBA{R: 0x56, G: 0x56, B: 0x56, A: 0xff},
- theme.ColorNameOverlayBackground: color.NRGBA{R: 0x22, G: 0x22, B: 0x22, A: 0xff},
- theme.ColorNamePlaceHolder: color.NRGBA{R: 0xaa, G: 0xaa, B: 0xaa, A: 0xff},
- theme.ColorNamePressed: color.NRGBA{A: 0x33},
- theme.ColorNamePrimary: color.NRGBA{R: 0xff, G: 0xcc, B: 0x80, A: 0xff},
- theme.ColorNameScrollBar: color.NRGBA{R: 0x00, G: 0x00, B: 0x00, A: 0xaa},
- theme.ColorNameSeparator: color.NRGBA{R: 0x88, G: 0x88, B: 0x88, A: 0xff},
- theme.ColorNameSelection: color.NRGBA{R: 0x78, G: 0x3a, B: 0x3a, A: 0x99},
- theme.ColorNameShadow: color.NRGBA{A: 0x88},
- },
- fonts: map[fyne.TextStyle]fyne.Resource{
- {}: theme.DefaultTextFont(),
- {Bold: true}: theme.DefaultTextBoldFont(),
- {Bold: true, Italic: true}: theme.DefaultTextBoldItalicFont(),
- {Italic: true}: theme.DefaultTextItalicFont(),
- {Monospace: true}: theme.DefaultTextMonospaceFont(),
- },
- sizes: map[fyne.ThemeSizeName]float32{
- theme.SizeNameInlineIcon: float32(20),
- theme.SizeNameInnerPadding: float32(8),
- theme.SizeNameLineSpacing: float32(4),
- theme.SizeNamePadding: float32(4),
- theme.SizeNameScrollBar: float32(16),
- theme.SizeNameScrollBarSmall: float32(3),
- theme.SizeNameSeparatorThickness: float32(1),
- theme.SizeNameText: float32(14),
- theme.SizeNameHeadingText: float32(23.8),
- theme.SizeNameSubHeadingText: float32(18),
- theme.SizeNameCaptionText: float32(11),
- theme.SizeNameInputBorder: float32(2),
- theme.SizeNameInputRadius: float32(4),
- theme.SizeNameSelectionRadius: float32(4),
- },
- }
- }
- return defaultTheme
- }
- func (t *configurableTheme) Color(n fyne.ThemeColorName, _ fyne.ThemeVariant) color.Color {
- return t.colors[n]
- }
- func (t *configurableTheme) Font(style fyne.TextStyle) fyne.Resource {
- return t.fonts[style]
- }
- func (t *configurableTheme) Icon(n fyne.ThemeIconName) fyne.Resource {
- return theme.DefaultTheme().Icon(n)
- }
- func (t *configurableTheme) Size(s fyne.ThemeSizeName) float32 {
- return t.sizes[s]
- }
|