aura-gui 0.3.0

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.
//! Entidades de widgets que la fachada `Ui` crea una sola vez (campos de texto, listas, selectores).
//!
//! `State` guarda valores; esto guarda las entidades que tienen estado interno propio y deben conservar foco,
//! cursor, scroll y suscripciones entre frames.

use crate::core::Handle;
use crate::widgets::TextInput;
use std::collections::HashMap;

#[derive(Default)]
pub(crate) struct WidgetStore {
    text_inputs: HashMap<&'static str, Handle<TextInput>>,
}

impl WidgetStore {
    pub(crate) fn text_input(&self, key: &'static str) -> Option<Handle<TextInput>> {
        self.text_inputs.get(key).copied()
    }

    pub(crate) fn insert_text_input(&mut self, key: &'static str, input: Handle<TextInput>) {
        self.text_inputs.insert(key, input);
    }
}