mirror of
https://github.com/vsariola/sointu.git
synced 2025-05-28 03:10:24 -04:00
23 lines
405 B
Go
23 lines
405 B
Go
package tracker
|
|
|
|
import (
|
|
"log"
|
|
|
|
"gioui.org/widget"
|
|
)
|
|
|
|
var iconCache = map[*byte]*widget.Icon{}
|
|
|
|
// widgetForIcon returns a widget for IconVG data, but caching the results
|
|
func widgetForIcon(icon []byte) *widget.Icon {
|
|
if widget, ok := iconCache[&icon[0]]; ok {
|
|
return widget
|
|
}
|
|
widget, err := widget.NewIcon(icon)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
iconCache[&icon[0]] = widget
|
|
return widget
|
|
}
|