func loadImageDirectory(ctx *nanovgo.Context, dir string) []nanogui.Image { var images []nanogui.Image files, err := ioutil.ReadDir(dir) if err != nil { panic(fmt.Sprintf("loadImageDirectory: read error %v\n", err)) } for _, file := range files { if file.IsDir() { continue } ext := path.Ext(file.Name()) if ext != ".png" { continue } fullPath := path.Join(dir, file.Name()) img := ctx.CreateImage(fullPath, 0) if img == 0 { panic("Could not open image data!") } images = append(images, nanogui.Image{ ImageID: img, Name: fullPath[:len(fullPath)-4], }) } return images }
func LoadDemo(ctx *nanovgo.Context) *demo.DemoData { d := &demo.DemoData{} for i := 0; i < 12; i++ { path := fmt.Sprintf("images/image%d.jpg", i+1) d.Images = append(d.Images, ctx.CreateImage(path, 0)) if d.Images[i] == 0 { log.Fatalf("Could not load %s", path) } } d.FontIcons = ctx.CreateFont("icons", "entypo.ttf") if d.FontIcons == -1 { log.Fatalln("Could not add font icons.") } d.FontNormal = ctx.CreateFont("sans", "Roboto-Regular.ttf") if d.FontNormal == -1 { log.Fatalln("Could not add font italic.") } d.FontBold = ctx.CreateFont("sans-bold", "Roboto-Bold.ttf") if d.FontBold == -1 { log.Fatalln("Could not add font bold.") } return d }