aura-gui 0.2.2

UI nativa acelerada por GPU para escritorio, Android e iOS, en un solo crate: estilo tipo Tailwind, componentes, sombras, animaciones y agentes de IA. Reposo a cero. Licencia AGPL-3.0 o comercial.
//! Portapapeles como servicio: la app instala el del sistema y las pruebas usan memoria.

pub trait ClipboardProvider {
    fn read(&mut self) -> Option<String>;
    fn write(&mut self, text: String) -> Result<(), String>;
    /// PNG del sistema, solo bajo petición; los proveedores de texto no necesitan implementarlo.
    fn read_image(&mut self) -> Result<Option<Vec<u8>>, String> {
        Ok(None)
    }
}

#[derive(Default)]
pub struct MemoryClipboard {
    content: Option<String>,
}

impl ClipboardProvider for MemoryClipboard {
    fn read(&mut self) -> Option<String> {
        self.content.clone()
    }

    fn write(&mut self, text: String) -> Result<(), String> {
        self.content = Some(text);
        Ok(())
    }
}