Expand description
Shape:所有形状的“基类“包装。
本文件定义高阶形状的统一接口 Shape,由 AutoShape / TextBox /
Picture / Group / Connector / TableShape 各自实现。
§设计要点
- 位置 / 尺寸 / 旋转 等通用属性被提到 trait 层,避免在每个形状上重复定义;
- 类型相关的属性(如
Picture::set_stretch、Connector::cxn)保留在 具体类型的impl块中; - trait 方法均只读 / 可变访问
self,不返回额外句柄, 避免破坏“借用 oxml 模型“的不变式。
§与 python-pptx 的对应
pptx.shapes.base.BaseShape←→Shapetrait;- python-pptx 把通用属性都挂在
BaseShape上,python 端可以直接调用; 本库因 Rust trait 限制需要在每个 impl 上“转发“方法。
Traits§
- Shape
- 高阶形状的抽象接口。