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 ModSize, RemSize, RoundSize, RoundUpSize, RoundDownSize, and RoundToZeroSize functions | ||||
| * Added Start, Stop, Pause, and Resume methods to Animation interface | ||||
| * Added OpenRawResource function | ||||
| 
 | ||||
| # v0.16.0 | ||||
| * Can use ListAdapter as "content" property value of ListLayout | ||||
|  |  | |||
							
								
								
									
										41
									
								
								resources.go
								
								
								
								
							
							
						
						
									
										41
									
								
								resources.go
								
								
								
								
							|  | @ -3,6 +3,7 @@ package rui | |||
| import ( | ||||
| 	"embed" | ||||
| 	"io" | ||||
| 	"io/fs" | ||||
| 	"net/http" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
|  | @ -329,7 +330,7 @@ func ReadRawResource(filename string) []byte { | |||
| 		rootDirs := resources.embedRootDirs(fs) | ||||
| 		for _, dir := range rootDirs { | ||||
| 			switch dir { | ||||
| 			case imageDir, themeDir, viewDir: | ||||
| 			case imageDir, themeDir, viewDir, stringsDir: | ||||
| 				// do nothing
 | ||||
| 
 | ||||
| 			case rawDir: | ||||
|  | @ -361,6 +362,44 @@ func ReadRawResource(filename string) []byte { | |||
| 	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
 | ||||
| func AllRawResources() []string { | ||||
| 	result := []string{} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue