diff options
| author | Petri Hienonen <petri.hienonen@gmail.com> | 2025-10-18 14:24:04 +0300 |
|---|---|---|
| committer | Petri Hienonen <petri.hienonen@gmail.com> | 2025-10-18 14:24:04 +0300 |
| commit | 0396d313791af347f31d004bbf2842fb11244fac (patch) | |
| tree | 2cae5a5b55e610b7e3d19667032fefeb8018f4de /src/shader.rs | |
| download | wallpaper-0396d313791af347f31d004bbf2842fb11244fac.tar.zst | |
Update
Diffstat (limited to 'src/shader.rs')
| -rw-r--r-- | src/shader.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/shader.rs b/src/shader.rs new file mode 100644 index 0000000..47a1621 --- /dev/null +++ b/src/shader.rs @@ -0,0 +1,24 @@ +use anyhow::Result; +use std::path::Path; + +pub struct ShaderManager { + shader_dir: String, +} + +impl ShaderManager { + pub fn new(shader_dir: &str) -> Self { + Self { + shader_dir: shader_dir.to_string(), + } + } + + pub fn load_shader(&self, name: &str) -> Result<String> { + let path = Path::new(&self.shader_dir).join(name); + std::fs::read_to_string(path).map_err(|e| e.into()) + } + + pub fn watch_shaders(&self) -> Result<()> { + // TODO: Implement shader hot-reloading with notify crate + Ok(()) + } +} |
