| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package theme
- import (
- "image/color"
- "fyne.io/fyne/v2"
- )
- // FromLegacy returns a 2.0 Theme created from the given LegacyTheme data.
- // This is a transition path and will be removed in the future (probably version 3.0).
- //
- // Since: 2.0
- func FromLegacy(t fyne.LegacyTheme) fyne.Theme {
- return &legacyWrapper{old: t}
- }
- var _ fyne.Theme = (*legacyWrapper)(nil)
- type legacyWrapper struct {
- old fyne.LegacyTheme
- }
- func (l *legacyWrapper) Color(n fyne.ThemeColorName, v fyne.ThemeVariant) color.Color {
- switch n {
- case ColorNameBackground:
- return l.old.BackgroundColor()
- case ColorNameForeground:
- return l.old.TextColor()
- case ColorNameButton:
- return l.old.ButtonColor()
- case ColorNameDisabledButton:
- return l.old.DisabledButtonColor()
- case ColorNameDisabled:
- return l.old.DisabledTextColor()
- case ColorNameFocus:
- return l.old.FocusColor()
- case ColorNameHover:
- return l.old.HoverColor()
- case ColorNamePlaceHolder:
- return l.old.PlaceHolderColor()
- case ColorNamePrimary:
- return l.old.PrimaryColor()
- case ColorNameScrollBar:
- return l.old.ScrollBarColor()
- case ColorNameShadow:
- return l.old.ShadowColor()
- default:
- return DefaultTheme().Color(n, v)
- }
- }
- func (l *legacyWrapper) Font(s fyne.TextStyle) fyne.Resource {
- if s.Monospace {
- return l.old.TextMonospaceFont()
- }
- if s.Bold {
- if s.Italic {
- return l.old.TextBoldItalicFont()
- }
- return l.old.TextBoldFont()
- }
- if s.Italic {
- return l.old.TextItalicFont()
- }
- return l.old.TextFont()
- }
- func (l *legacyWrapper) Icon(n fyne.ThemeIconName) fyne.Resource {
- return DefaultTheme().Icon(n)
- }
- func (l *legacyWrapper) Size(n fyne.ThemeSizeName) float32 {
- switch n {
- case SizeNameInlineIcon:
- return float32(l.old.IconInlineSize())
- case SizeNamePadding:
- return float32(l.old.Padding())
- case SizeNameScrollBar:
- return float32(l.old.ScrollBarSize())
- case SizeNameScrollBarSmall:
- return float32(l.old.ScrollBarSmallSize())
- case SizeNameText:
- return float32(l.old.TextSize())
- default:
- return DefaultTheme().Size(n)
- }
- }
|