forked from fyne-io/fyne
-
Notifications
You must be signed in to change notification settings - Fork 1
/
theme.go
63 lines (54 loc) · 1.48 KB
/
theme.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package fyne
import "image/color"
// ThemeVariant indicates a variation of a theme, such as light or dark.
//
// Since: 2.0
type ThemeVariant uint
// ThemeColorName is used to look up a colour based on its name.
//
// Since: 2.0
type ThemeColorName string
// ThemeIconName is used to look up an icon based on its name.
//
// Since: 2.0
type ThemeIconName string
// ThemeSizeName is used to look up a size based on its name.
//
// Since: 2.0
type ThemeSizeName string
// Theme defines the method to look up colors, sizes and fonts that make up a Fyne theme.
//
// Since: 2.0
type Theme interface {
Color(ThemeColorName, ThemeVariant) color.Color
Font(TextStyle) Resource
Icon(ThemeIconName) Resource
Size(ThemeSizeName) float32
}
// LegacyTheme defines the requirements of any Fyne theme.
// This was previously called Theme and is kept for simpler transition of applications built before v2.0.0.
//
// Since: 2.0
type LegacyTheme interface {
BackgroundColor() color.Color
ButtonColor() color.Color
DisabledButtonColor() color.Color
TextColor() color.Color
DisabledTextColor() color.Color
PlaceHolderColor() color.Color
PrimaryColor() color.Color
HoverColor() color.Color
FocusColor() color.Color
ScrollBarColor() color.Color
ShadowColor() color.Color
TextSize() int
TextFont() Resource
TextBoldFont() Resource
TextItalicFont() Resource
TextBoldItalicFont() Resource
TextMonospaceFont() Resource
Padding() int
IconInlineSize() int
ScrollBarSize() int
ScrollBarSmallSize() int
}