55 lines
1.6 KiB
Go
55 lines
1.6 KiB
Go
/*
|
|
* @Author: BlackTeay
|
|
* @Date: 2024-05-09 15:40:58
|
|
* @LastEditTime: 2024-05-09 15:42:53
|
|
* @LastEditors: BlackTeay
|
|
* @Description:
|
|
* @FilePath: /hls_builder/theme.go
|
|
* Copyright 2024 JLNTV NMTD, All Rights Reserved.
|
|
*/
|
|
|
|
package main
|
|
|
|
import (
|
|
_ "embed"
|
|
"image/color"
|
|
|
|
"fyne.io/fyne/v2"
|
|
"fyne.io/fyne/v2/theme"
|
|
)
|
|
|
|
//go:embed "font/NotoSansSC-Regular.ttf"
|
|
var ttfBytes []byte
|
|
|
|
// MyTheme 定义了一个自定义的主题结构体。
|
|
type MyTheme struct{}
|
|
|
|
// Color 根据给定的主题颜色名称和变种返回相应的颜色。
|
|
// 参数 c 为主题颜色的名称。
|
|
// 参数 v 为颜色的变种。
|
|
// 返回值为符合 color.Color 接口的颜色值。
|
|
func (MyTheme) Color(c fyne.ThemeColorName, v fyne.ThemeVariant) color.Color {
|
|
return theme.DefaultTheme().Color(c, v)
|
|
}
|
|
|
|
// Font 根据给定的文本样式返回相应的字体资源。
|
|
// 参数 s 为文本的样式,决定了使用的字体。
|
|
// 返回值为一个 fyne.Resource 类型的字体资源。
|
|
func (MyTheme) Font(s fyne.TextStyle) fyne.Resource {
|
|
return fyne.NewStaticResource("./font/NotoSansSC-Regular.ttf", ttfBytes)
|
|
}
|
|
|
|
// Icon 根据给定的图标名称返回相应的图标资源。
|
|
// 参数 n 为图标的名称。
|
|
// 返回值为一个 fyne.Resource 类型的图标资源。
|
|
func (MyTheme) Icon(n fyne.ThemeIconName) fyne.Resource {
|
|
return theme.DefaultTheme().Icon(n)
|
|
}
|
|
|
|
// Size 根据给定的主题尺寸名称返回相应的尺寸值。
|
|
// 参数 s 为主题尺寸的名称。
|
|
// 返回值为相应的尺寸值,单位为 float32。
|
|
func (MyTheme) Size(s fyne.ThemeSizeName) float32 {
|
|
return theme.DefaultTheme().Size(s)
|
|
}
|