odox_ui/lib.rs
1//! The window the three odox applications are each a thin shell over.
2//!
3//! Everything a person sees belongs here: the chrome, the document renderer, the
4//! mapping from ODF styles to what egui draws with, the font resolution and the
5//! messages. An application crate contributes its name, the format it opens, and
6//! the one view that is particular to its body — a flow, a grid, a slide.
7//!
8//! Drawing lives here rather than in `odox-core` so that the library that reads
9//! `OpenDocument` has no window in it: it is testable headlessly, it compiles for
10//! a target with no display, and nothing about the format is decided by what egui
11//! can draw.
12//
13// Author: David M. Anderson
14// Built with AI assistance (Claude, Anthropic)
15
16#![forbid(unsafe_code)]
17#![warn(missing_docs, clippy::pedantic)]
18#![allow(clippy::must_use_candidate)]
19
20pub mod flow;
21pub mod fonts;
22pub mod format;
23pub mod i18n;
24pub mod shapes;
25pub mod shell;
26pub mod system_theme;
27
28pub use flow::{Flow, Pictures};
29pub use i18n::mark;
30pub use shapes::Canvas;
31pub use shell::{Product, Shell, Viewer, run};