tauri integration
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
// Platform-specific cursor handling
|
||||
|
||||
// Common types for cursor handling
|
||||
pub mod types;
|
||||
|
||||
// Windows implementation
|
||||
#[cfg(target_os = "windows")]
|
||||
mod windows;
|
||||
|
||||
// macOS implementation
|
||||
#[cfg(target_os = "macos")]
|
||||
mod macos;
|
||||
|
||||
// Linux implementation
|
||||
#[cfg(target_os = "linux")]
|
||||
mod linux;
|
||||
|
||||
// Error type for platform operations
|
||||
pub type Result<T> = std::result::Result<T, String>;
|
||||
|
||||
// Platform-agnostic interface for cursor handling
|
||||
#[cfg(target_os = "windows")]
|
||||
pub use self::windows::{set_cursor, restore_default_cursor, init};
|
||||
|
||||
#[cfg(target_os = "macos")]
|
||||
pub use self::macos::{set_cursor, restore_default_cursor, init};
|
||||
|
||||
#[cfg(target_os = "linux")]
|
||||
pub use self::linux::{set_cursor, restore_default_cursor, init};
|
||||
|
||||
// Initialize platform-specific cursor handling
|
||||
pub fn initialize() -> Result<()> {
|
||||
#[cfg(target_os = "windows")]
|
||||
{
|
||||
init()
|
||||
}
|
||||
#[cfg(not(target_os = "windows"))]
|
||||
{
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
// Cross-platform implementation for setting cursor
|
||||
pub fn set_system_cursor(path: &str) -> Result<()> {
|
||||
println!("Setting system cursor: {}", path);
|
||||
set_cursor(path)
|
||||
}
|
||||
|
||||
// Cross-platform implementation for restoring default cursor
|
||||
pub fn restore_system_cursor() -> Result<()> {
|
||||
println!("Restoring system cursor");
|
||||
restore_default_cursor()
|
||||
}
|
||||
|
||||
// Default implementations for non-supported platforms
|
||||
#[cfg(not(any(target_os = "windows", target_os = "macos", target_os = "linux")))]
|
||||
pub fn set_cursor(_path: &str) -> Result<()> {
|
||||
Err("Cursor customization not supported on this platform".to_string())
|
||||
}
|
||||
|
||||
#[cfg(not(any(target_os = "windows", target_os = "macos", target_os = "linux")))]
|
||||
pub fn restore_default_cursor() -> Result<()> {
|
||||
Err("Cursor restoration not supported on this platform".to_string())
|
||||
}
|
||||
Reference in New Issue
Block a user