use crate::{IntoFFI, WuiStr, WuiTypeId};
impl<T: IntoFFI + waterui_core::NativeView> IntoFFI for waterui_core::Native<T> {
type FFI = T::FFI;
fn into_ffi(self) -> Self::FFI {
IntoFFI::into_ffi(self.into_inner())
}
}
ffi_view!(waterui::Str, WuiStr, plain);
pub mod controls;
pub mod data;
mod layouting;
pub mod media;
mod nav;
pub mod platform;
pub mod typography;
mod visual;
pub use controls::{button, form, progress};
#[cfg(feature = "map")]
pub use data::map;
#[cfg(feature = "map")]
pub use data::map::{WuiAnnotation, WuiCoordinate, WuiRegion};
#[cfg(feature = "c-api")]
pub use layouting::table;
pub use layouting::{layout, lazy, list};
pub use media::video;
pub use nav::navigation;
pub use platform::{dynamic, icon, webview};
pub use typography::text;
#[cfg(all(feature = "android-jni", feature = "gpu"))]
pub(crate) use visual::gpu_runtime;
#[cfg(feature = "gpu")]
pub use visual::gpu_surface;
pub use visual::view_renderer;
#[cfg(all(feature = "c-api", feature = "gpu"))]
pub use visual::{applied_filter, view_effect};
#[unsafe(no_mangle)]
pub extern "C" fn waterui_empty_id() -> WuiTypeId {
WuiTypeId::of::<()>()
}