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