#![forbid(unsafe_code)]
pub(crate) mod xml_util;
pub mod animation;
pub mod chart;
pub mod comment;
pub mod core_properties;
pub mod dml;
pub mod embedded_font;
pub mod enums;
pub mod error;
pub mod export;
pub mod media;
pub mod opc;
pub(crate) mod oxml;
pub mod presentation;
pub mod print_settings;
pub mod repair;
pub mod section;
pub mod shapes;
pub mod signature;
pub mod slide;
pub mod smartart;
pub mod table;
pub mod text;
pub mod theme;
pub mod transition;
pub mod units;
pub use error::{PackageError, PartNotFoundExt, PptxError, PptxResult, SlideError};
pub use presentation::Presentation;
pub use units::{
Centipoints, Cm, ConnectionPointIndex, DurationMs, Emu, Inches, Mm, PlaceholderIndex, Pt,
ShapeId, SlideId, Twips,
};
pub use xml_util::WriteXml;
pub use shapes::{
AutoShape, Connector, GraphicFrame, GroupShape, OleObject, Picture, PlaceholderFormat, Shape,
ShapeProperties, ShapeTree,
};
pub use text::font::RgbColor;
pub use text::{BulletFormat, Font, Paragraph, Run, TextFrame};
pub use table::{Cell, CellBorder, Column, Row, Table};
pub use dml::{
ColorFormat, FillFormat, GradientFill, GradientStop, HslColor, LineFormat, PatternFill,
PictureFill, PresetColor, SolidFill, SystemColor, ThemeColor,
};
pub use chart::{
AxisTitle, BubbleChartData, Categories, Category, CategoryAxis, CategoryChartData,
CategoryLevel, Chart, ChartFormat, ChartTitle, ChartXmlWriter, ComboChartData, ComboSeriesData,
ComboSeriesType, DataLabel, DataLabels, DateAxis, DateAxisChartData, Legend, LegendEntry,
Marker, MarkerFormat, Plot, PlotProperties, Point, Series, SeriesCollection, SeriesFormat,
TickLabels, ValueAxis, XyChartData,
};
pub use media::{Audio, Image, Video};
pub use core_properties::CoreProperties;
pub use shapes::action::{ActionSetting, Hyperlink};
pub use shapes::freeform::FreeformBuilder;
pub use dml::effect::{ShadowFormat, ShadowType};
pub use dml::effect3d::{Bevel, Camera, LightRig, Rotation3D, Scene3D, Shape3D};
pub use transition::{SlideTransition, TransitionType};
pub use animation::{
AnimationEffect, AnimationSequence, AnimationTrigger, EmphasisType, EntranceType, ExitType,
SlideAnimation,
};
pub use section::Section;
pub use comment::Comment;
pub use enums::action::PpActionType;
pub use enums::chart::{
XlAxisCrosses, XlCategoryType, XlChartType, XlDataLabelPosition, XlLegendPosition,
XlMarkerStyle, XlTickLabelPosition, XlTickMark,
};
pub use enums::dml::{
BevelType, CameraPreset, LightDirection, LightRigType, MaterialPreset, MsoColorType,
MsoFillType, PresetColorVal, SystemColorVal,
};
pub use enums::misc::{
ExcelNumFormat, HandoutLayout, PpMediaType, PrintColorMode, PrintOrientation, PrintWhat,
};
pub use enums::shapes::{PlaceholderOrientation, PlaceholderSize, PresetGeometry};
pub use enums::text::TextDirection;
pub use theme::{parse_theme_color_scheme, update_theme_color_scheme, ThemeColorScheme};
pub use smartart::{SmartArt, SmartArtNode};
pub use embedded_font::EmbeddedFont;
pub use print_settings::PrintSettings;
pub use repair::{
IssueCategory, PptxRepairer, PptxValidator, RepairReport, Severity, ValidationIssue,
};
pub use signature::{DigitalSignature, HashAlgorithm, SignatureCommitment, SignerInfo};
pub use export::HtmlExporter;
#[cfg(test)]
mod thread_safety {
fn assert_send_sync<T: Send + Sync>() {}
#[test]
fn key_types_are_send_and_sync() {
assert_send_sync::<crate::presentation::Presentation>();
assert_send_sync::<crate::shapes::Shape>();
assert_send_sync::<crate::chart::Chart>();
assert_send_sync::<crate::text::paragraph::Paragraph>();
assert_send_sync::<crate::text::run::Run>();
assert_send_sync::<crate::dml::color::ColorFormat>();
assert_send_sync::<crate::text::font::Font>();
assert_send_sync::<crate::text::font::RgbColor>();
assert_send_sync::<crate::table::Table>();
assert_send_sync::<crate::error::PptxError>();
}
}