gen.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // +build ignore
  2. package main
  3. import (
  4. "fmt"
  5. "os"
  6. "path"
  7. "runtime"
  8. "fyne.io/fyne"
  9. )
  10. func bundleFile(name string, filepath string, f *os.File) {
  11. res, err := fyne.LoadResourceFromPath(filepath)
  12. if err != nil {
  13. fyne.LogError("Unable to load file "+filepath, err)
  14. return
  15. }
  16. _, err = f.WriteString(fmt.Sprintf("var %s = %#v\n", name, res))
  17. if err != nil {
  18. fyne.LogError("Unable to write to bundled file", err)
  19. }
  20. }
  21. func openFile(filename string) *os.File {
  22. os.Remove(filename)
  23. _, dirname, _, _ := runtime.Caller(0)
  24. f, err := os.Create(path.Join(path.Dir(dirname), filename))
  25. if err != nil {
  26. fyne.LogError("Unable to open file "+filename, err)
  27. return nil
  28. }
  29. _, err = f.WriteString("// **** THIS FILE IS AUTO-GENERATED, PLEASE DO NOT EDIT IT **** //\n\npackage data\n\nimport \"fyne.io/fyne\"\n\n")
  30. if err != nil {
  31. fyne.LogError("Unable to write file "+filename, err)
  32. return nil
  33. }
  34. return f
  35. }
  36. func iconDir() string {
  37. _, dirname, _, _ := runtime.Caller(0)
  38. return path.Join(path.Dir(dirname), "icons")
  39. }
  40. func main() {
  41. f := openFile("bundled-scene.go")
  42. bundleFile("fynescenedark", "fyne_scene_dark.png", f)
  43. bundleFile("fynescenelight", "fyne_scene_light.png", f)
  44. f.Close()
  45. }