Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support theme and image directory #12

Merged
merged 7 commits into from
Sep 17, 2019
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Return error from loadImageGlob that may be fail
  • Loading branch information
tobynet committed Sep 16, 2019
commit b1f04c9cfe2c724cc323ded29145a50eecac68d5
31 changes: 20 additions & 11 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,22 +45,18 @@ func loadImageGlob(dir string, glob string) (image.Image, error) {
pattern := filepath.Join(dir, glob)
matches, err := filepath.Glob(pattern)
if err != nil {
log.Fatal(err)
return nil, err
}
if len(matches) == 0 {
log.Fatal(fmt.Errorf("file does not exist: %s", pattern))
return nil, fmt.Errorf("file does not exist: %s", pattern)
}

data, err := ioutil.ReadFile(matches[0])
if err != nil {
log.Fatal(err)
return nil, err
}

img, err := png.Decode(bytes.NewReader(data))
if err != nil {
log.Fatal(err)
}
return img, nil
return png.Decode(bytes.NewReader(data))
}

func (t *Theme) loadTheme(themeName string) error {
Expand All @@ -80,9 +76,22 @@ func (t *Theme) loadTheme(themeName string) error {
}

func (t *Theme) loadThemeFromDir(dir string) error {
t.Head, _ = loadImageGlob(dir, "*1.png")
t.Body, _ = loadImageGlob(dir, "*2.png")
t.Tail, _ = loadImageGlob(dir, "*3.png")
resources := []struct {
img *image.Image
glob string
}{
{&t.Head, "*1.png"},
{&t.Body, "*2.png"},
{&t.Tail, "*3.png"},
}

for _, v := range resources {
img, err := loadImageGlob(dir, v.glob)
if err != nil {
return err
}
*v.img = img
}
return nil
}
mattn marked this conversation as resolved.
Show resolved Hide resolved

Expand Down