#![deny(unsafe_code)]
#![deny(missing_docs)]
#[cfg(all(feature = "android", target_os = "android"))]
mod android_file_picker;
#[cfg(all(feature = "android", target_os = "android"))]
pub use android_file_picker::open_content_uri;
#[cfg(any(
test,
feature = "desktop-shell",
all(feature = "android", target_os = "android"),
all(feature = "ios", target_os = "ios"),
all(feature = "web", target_arch = "wasm32")
))]
mod accessibility;
#[cfg(all(feature = "android", feature = "renderer-wgpu", target_os = "android"))]
mod android_accessibility;
#[cfg(any(
test,
all(feature = "android", feature = "renderer-wgpu", target_os = "android")
))]
mod android_accessibility_wire;
#[cfg(all(feature = "android", target_os = "android"))]
mod android_app_info;
#[cfg(all(feature = "android", target_os = "android"))]
mod android_finish;
#[cfg(all(feature = "android", target_os = "android"))]
mod android_font_scale;
#[cfg(all(feature = "android", target_os = "android"))]
mod android_frame_rate;
#[cfg(all(feature = "android", target_os = "android"))]
mod android_frame_telemetry;
#[cfg(any(
test,
all(feature = "android", feature = "renderer-wgpu", target_os = "android")
))]
mod android_haptics_queue;
#[cfg_attr(not(all(feature = "android", target_os = "android")), allow(dead_code))]
mod android_host_window;
mod android_input;
#[cfg(all(feature = "android", target_os = "android"))]
mod android_jni;
#[cfg(all(feature = "android", feature = "renderer-wgpu", target_os = "android"))]
mod android_keyboard;
#[cfg(any(test, all(feature = "android", target_os = "android")))]
mod android_launch_args;
#[cfg(all(feature = "android", feature = "renderer-wgpu", target_os = "android"))]
mod android_overlay_window;
#[cfg(any(
test,
all(feature = "android", feature = "playbilling", target_os = "android")
))]
mod android_purchase_wire;
#[cfg(all(
feature = "android",
feature = "playbilling",
feature = "renderer-wgpu",
target_os = "android"
))]
mod android_purchases;
#[cfg(all(feature = "android", feature = "renderer-wgpu", target_os = "android"))]
mod android_services;
#[cfg(all(feature = "android", feature = "renderer-wgpu", target_os = "android"))]
mod android_surface;
#[cfg(all(feature = "android", feature = "renderer-wgpu", target_os = "android"))]
mod android_text_input;
#[cfg(all(feature = "android", target_os = "android"))]
mod android_vsync;
#[cfg(all(feature = "android", target_os = "android"))]
mod android_writable_folder;
mod launcher;
mod native_window;
#[cfg(all(feature = "android", feature = "renderer-wgpu", target_os = "android"))]
pub use android_host_window::{
rememberAndroidHostWindowState, AndroidHostWindowPositionError, AndroidHostWindowSizeError,
AndroidHostWindowSizeStatus, AndroidHostWindowState,
};
pub use cranpose_render_common::font_source::{
FontLoadError, SoftwareTextFontRegistry, ANDROID_SYSTEM_FONT_DIR, DEFAULT_SYSTEM_FAMILY_WEIGHTS,
};
#[cfg(all(
feature = "renderer-wgpu",
any(feature = "desktop-shell", all(feature = "ios", target_os = "ios"))
))]
pub use launcher::LaunchError;
pub use launcher::{AndroidOverlayWindowOptions, AppLauncher, AppSettings};
pub use native_window::{
current_native_window_surface_origin, rememberWindowState, Window, WindowAttachPolicy,
WindowConfig, WindowGroup, WindowId, WindowModifierExt, WindowMoveMode, WindowNode,
WindowResizeDirection, WindowState,
};
#[cfg(all(
feature = "renderer-wgpu",
any(
feature = "desktop-shell",
all(feature = "android", target_os = "android"),
all(feature = "ios", target_os = "ios"),
all(feature = "web", target_arch = "wasm32")
)
))]
mod present_mode;
#[cfg(all(
feature = "renderer-wgpu",
any(
feature = "desktop-shell",
all(feature = "android", target_os = "android"),
all(feature = "ios", target_os = "ios"),
all(feature = "web", target_arch = "wasm32")
)
))]
mod surface_format;
#[cfg(all(
feature = "renderer-wgpu",
any(
feature = "desktop-shell",
all(feature = "android", target_os = "android"),
all(feature = "ios", target_os = "ios"),
all(feature = "web", target_arch = "wasm32")
)
))]
mod wgpu_surface;
pub use cranpose_services::*;
pub use cranpose_ui::*;
pub use cranpose_liquid as liquid;
#[cfg(feature = "audio")]
pub use cranpose_audio::{install as install_audio, AudioEngine};
pub use cranpose_core::{mutableStateOf, remember, rememberUpdatedState, useState, useStateRaw};
#[doc(hidden)]
pub use cranpose_core::{
debug_label_current_scope, location_key, with_current_composer, CallbackHolder, Composer,
ParamState, ReturnSlot,
};
#[cfg(all(
feature = "desktop-shell",
feature = "robot",
feature = "renderer-wgpu"
))]
#[doc(hidden)]
pub type RobotAppHook = dyn FnMut(String, String) -> Result<Option<String>, String>;
pub mod prelude {
#[cfg(all(feature = "android", feature = "renderer-wgpu", target_os = "android"))]
pub use crate::{
rememberAndroidHostWindowState, AndroidHostWindowPositionError, AndroidHostWindowSizeError,
AndroidHostWindowSizeStatus, AndroidHostWindowState,
};
pub use crate::{
rememberWindowState, AndroidOverlayWindowOptions, AppLauncher, AppSettings, Window,
WindowAttachPolicy, WindowConfig, WindowGroup, WindowId, WindowModifierExt, WindowMoveMode,
WindowNode, WindowResizeDirection, WindowState,
};
pub use cranpose_core::{
mutableStateOf, remember, rememberUpdatedState, useState, useStateRaw,
};
pub use cranpose_services::*;
pub use cranpose_ui::*;
}
#[cfg(any(
all(feature = "desktop-shell", feature = "renderer-wgpu"),
all(feature = "android", feature = "renderer-wgpu", target_os = "android"),
all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"),
all(feature = "web", feature = "renderer-wgpu", target_arch = "wasm32")
))]
pub(crate) mod platform_env;
#[cfg(all(feature = "android", feature = "renderer-wgpu", target_os = "android"))]
pub mod android;
#[cfg(feature = "renderer-wgpu")]
#[cfg_attr(
not(any(
all(feature = "android", target_os = "android"),
all(feature = "ios", target_os = "ios")
)),
allow(dead_code)
)]
pub(crate) mod gpu_limits;
#[cfg(all(feature = "desktop-shell", feature = "renderer-wgpu"))]
pub mod desktop;
#[cfg(all(feature = "desktop-shell", feature = "renderer-wgpu"))]
mod desktop_accessibility;
#[cfg(all(feature = "desktop-shell", feature = "renderer-wgpu"))]
mod desktop_input;
#[cfg(any(feature = "desktop-shell", all(feature = "ios", target_os = "ios")))]
mod winit_pointer;
#[cfg(any(feature = "desktop-shell", all(feature = "ios", target_os = "ios")))]
#[cfg_attr(not(all(feature = "ios", target_os = "ios")), allow(dead_code))]
mod winit_touch;
#[cfg(feature = "desktop-shell")]
mod winit_wheel;
#[cfg(all(
feature = "robot",
feature = "desktop-shell",
feature = "renderer-wgpu"
))]
mod robot;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
pub mod ios;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_accessibility;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_file_picker;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_uri_handler;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_clipboard;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_share_sheet;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_image_picker;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_notifier;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_haptics;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_app_info;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_device_info;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_writable_folder;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_camera;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_keyboard;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_back_gesture;
#[cfg(all(feature = "ios", feature = "renderer-wgpu", target_os = "ios"))]
mod ios_background;
#[cfg(all(feature = "desktop-shell", feature = "renderer-wgpu"))]
pub mod recorder;
#[cfg(all(feature = "web", feature = "renderer-wgpu", target_arch = "wasm32"))]
pub mod web;
#[cfg(any(
all(feature = "web", feature = "renderer-wgpu", target_arch = "wasm32"),
test
))]
mod web_surface_scale;
#[cfg(any(
all(feature = "web", feature = "renderer-wgpu", target_arch = "wasm32"),
test
))]
mod web_wheel;
#[cfg(all(feature = "web", feature = "renderer-wgpu", target_arch = "wasm32"))]
mod web_accessibility;
#[cfg(all(feature = "web", feature = "renderer-wgpu", target_arch = "wasm32"))]
mod web_clipboard;
#[cfg(all(feature = "web", feature = "renderer-wgpu", target_arch = "wasm32"))]
mod web_services;
#[cfg(all(
feature = "desktop-shell",
feature = "robot",
feature = "renderer-wgpu"
))]
pub use robot::{
Robot, RobotScreenshot, RobotTimelineAction, RobotTimelineStep, SemanticElement, SemanticRect,
};
#[cfg(all(feature = "desktop-shell", feature = "renderer-wgpu"))]
pub use cranpose_app_shell::{DevOptions, FpsStats, FramePacingMode};