tauri integration
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
// Windows platform implementation module
|
||||
|
||||
pub mod types;
|
||||
mod cursor;
|
||||
mod state;
|
||||
|
||||
use std::path::PathBuf;
|
||||
use crate::platform::Result;
|
||||
|
||||
// Functions expected by the platform-agnostic interface
|
||||
pub fn set_cursor(path: &str) -> Result<()> {
|
||||
println!("Windows platform: setting cursor to {}", path);
|
||||
|
||||
// Create a cursor info struct to pass to update_cursor_info
|
||||
let mut cursor_info = crate::platform::types::CursorInfo {
|
||||
name: path.split('\\').last().unwrap_or("unknown").to_string(),
|
||||
path: PathBuf::from(path),
|
||||
image: None,
|
||||
hotspot_x: 0, // Default hotspot at top-left
|
||||
hotspot_y: 0,
|
||||
#[cfg(target_os = "windows")]
|
||||
win_cursor: None,
|
||||
};
|
||||
|
||||
// Use the existing update_cursor_info function to handle loading and applying the cursor
|
||||
if !cursor::update_cursor_info(&mut cursor_info) {
|
||||
return Err(format!("Failed to update cursor from {}", path));
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn restore_default_cursor() -> Result<()> {
|
||||
println!("Windows platform: restoring default cursor");
|
||||
cursor::restore_cursor();
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn init() -> Result<()> {
|
||||
println!("Windows platform: initializing cursor system");
|
||||
if !cursor::hide_system_cursor() {
|
||||
return Err("Failed to initialize cursor system".to_string());
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user