mirror of https://github.com/anoshenko/rui.git
Added OpenRawResource function
This commit is contained in:
parent
95043b0b9a
commit
c9954afa7f
|
@ -2,6 +2,7 @@
|
||||||
* Added "mod", "rem", "round", "round-up", "round-down", and "round-to-zero" SizeFunc functions
|
* Added "mod", "rem", "round", "round-up", "round-down", and "round-to-zero" SizeFunc functions
|
||||||
* Added ModSize, RemSize, RoundSize, RoundUpSize, RoundDownSize, and RoundToZeroSize functions
|
* Added ModSize, RemSize, RoundSize, RoundUpSize, RoundDownSize, and RoundToZeroSize functions
|
||||||
* Added Start, Stop, Pause, and Resume methods to Animation interface
|
* Added Start, Stop, Pause, and Resume methods to Animation interface
|
||||||
|
* Added OpenRawResource function
|
||||||
|
|
||||||
# v0.16.0
|
# v0.16.0
|
||||||
* Can use ListAdapter as "content" property value of ListLayout
|
* Can use ListAdapter as "content" property value of ListLayout
|
||||||
|
|
41
resources.go
41
resources.go
|
@ -3,6 +3,7 @@ package rui
|
||||||
import (
|
import (
|
||||||
"embed"
|
"embed"
|
||||||
"io"
|
"io"
|
||||||
|
"io/fs"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
@ -329,7 +330,7 @@ func ReadRawResource(filename string) []byte {
|
||||||
rootDirs := resources.embedRootDirs(fs)
|
rootDirs := resources.embedRootDirs(fs)
|
||||||
for _, dir := range rootDirs {
|
for _, dir := range rootDirs {
|
||||||
switch dir {
|
switch dir {
|
||||||
case imageDir, themeDir, viewDir:
|
case imageDir, themeDir, viewDir, stringsDir:
|
||||||
// do nothing
|
// do nothing
|
||||||
|
|
||||||
case rawDir:
|
case rawDir:
|
||||||
|
@ -361,6 +362,44 @@ func ReadRawResource(filename string) []byte {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OpenRawResource returns the contents of the raw resource with the specified name
|
||||||
|
func OpenRawResource(filename string) fs.File {
|
||||||
|
for _, fs := range resources.embedFS {
|
||||||
|
rootDirs := resources.embedRootDirs(fs)
|
||||||
|
for _, dir := range rootDirs {
|
||||||
|
switch dir {
|
||||||
|
case imageDir, themeDir, viewDir, stringsDir:
|
||||||
|
// do nothing
|
||||||
|
|
||||||
|
case rawDir:
|
||||||
|
if file, err := fs.Open(dir + "/" + filename); err == nil {
|
||||||
|
return file
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
if file, err := fs.Open(dir + "/" + rawDir + "/" + filename); err == nil {
|
||||||
|
return file
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if resources.path != "" {
|
||||||
|
if file, err := os.Open(resources.path + rawDir + "/" + filename); err == nil {
|
||||||
|
return file
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if exe, err := os.Executable(); err == nil {
|
||||||
|
if file, err := os.Open(filepath.Dir(exe) + "/resources/" + rawDir + "/" + filename); err == nil {
|
||||||
|
return file
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ErrorLogF(`The "%s" raw file don't found`, filename)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// AllRawResources returns the list of all raw resouces
|
// AllRawResources returns the list of all raw resouces
|
||||||
func AllRawResources() []string {
|
func AllRawResources() []string {
|
||||||
result := []string{}
|
result := []string{}
|
||||||
|
|
Loading…
Reference in New Issue