Skip to main content

ppt_rs/core/
mod.rs

1//! Core traits and types for pptx-rs
2//!
3//! This module provides the foundational traits that enable trait-based
4//! XML generation and consistent behavior across all PPTX elements.
5
6mod dimension;
7mod package_validation;
8mod placement;
9mod powerpoint_compat;
10mod traits;
11mod validation;
12mod xml_utils;
13
14pub use dimension::{Dimension, FlexPosition, FlexSize, SLIDE_HEIGHT_EMU, SLIDE_WIDTH_EMU};
15pub use package_validation::{
16    validate_package, validate_package_bytes, PackageValidationIssue, PackageValidationReport,
17    REQUIRED_PACKAGE_PARTS, ValidationCategory, ValidationSeverity,
18};
19pub use placement::ElementPlacement;
20pub use powerpoint_compat::{validate_powerpoint_structure, CompatReport};
21pub use traits::{Positioned, Sized as ElementSized, ToXml};
22pub use validation::{
23    check_required_parts, check_required_parts_with_descriptions, clamp_ratio,
24    clamp_unit_interval, validate_index, validate_non_empty, validate_non_empty_str,
25    validate_positive, validate_well_formed_xml, RequiredPart, ValidationIssue,
26    REQUIRED_PARTS_MINIMAL, REQUIRED_PARTS_REPAIR,
27};
28pub use xml_utils::{append_i32, append_usize, escape_xml, XmlWriter};