Skip to main content

Graphic

Enum Graphic 

Source
pub enum Graphic {
    Table(Table),
    Chart(Chart),
    OleObject(OleObject),
    SmartArt(SmartArtRef),
}

Variants§

§

Table(Table)

§

Chart(Chart)

图表(<c:chart> 引用 chart part)。TODO-004 基础图表支持。

与 Table 不同,Chart 数据直接嵌在 <a:graphicData> 中, 而是通过 r:id="..." 引用独立的 chartN.xml part。 序列化时只写出 <c:chart xmlns:c=... xmlns:r=... r:id="..."/> 自闭合元素。

§

OleObject(OleObject)

OLE 对象嵌入(<p:oleObj> 引用 oleObjectN.bin)。TODO-043。

与 Chart 类似,OLE 数据直接嵌在 <a:graphicData> 中, 而是通过 r:id="..." 引用独立的 /ppt/embeddings/oleObjectN.bin part。 序列化时写出 <p:oleObj ...> 完整元素(含 <p:embed/> 与可选 <p:pic> 图标)。

§

SmartArt(SmartArtRef)

SmartArt 图形(<dgm:relIds> 引用 4 个 diagram parts)。TODO-037 最小保留。

SmartArt 是 PowerPoint 的“智能图形“(流程图/层次结构/循环/矩阵等), 由 4 个独立 part 组成:

  • diagramDataN.xml(数据模型,r:dm);
  • diagramLayoutN.xml(布局定义,r:lo);
  • diagramQuickStyleN.xml(样式,r:qs);
  • diagramColorsN.xml(颜色,r:cs)。

当前实现(最小保留)

  • 读路径:识别 <a:graphicData uri=".../diagram">,保留完整 XML(含 graphicData 外壳);
  • 写路径:按原样输出 raw_xml,保证 slide XML 中的 SmartArt 引用 byte-exact 保留;
  • 限制:不解析也不保留 4 个 diagram parts,read→save 后 SmartArt 会因为 diagram parts 丢失而无法渲染。完整 round-trip 需要 OPC 层保留未识别关系, 计划在 0.2.x 实现。

Trait Implementations§

Source§

impl Clone for Graphic

Source§

fn clone(&self) -> Graphic

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Graphic

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Graphic

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V