Files
docx-js/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/shape-properties.ts

33 lines
1.1 KiB
TypeScript
Raw Normal View History

2018-01-12 00:12:39 +00:00
// http://officeopenxml.com/drwSp-SpPr.php
import { IMediaDataTransformation } from "@file/media";
import { XmlComponent } from "@file/xml-components";
2018-01-12 00:12:39 +00:00
import { Form } from "./form";
import { OutlineOptions, createOutline } from "./outline/outline";
2018-01-12 00:12:39 +00:00
import { PresetGeometry } from "./preset-geometry/preset-geometry";
import { ShapePropertiesAttributes } from "./shape-properties-attributes";
import { createNoFill } from "./outline/no-fill";
2018-01-12 00:12:39 +00:00
export class ShapeProperties extends XmlComponent {
2018-08-07 01:38:15 +01:00
private readonly form: Form;
2018-03-24 19:06:10 +00:00
public constructor({ outline, transform }: { readonly outline?: OutlineOptions; readonly transform: IMediaDataTransformation }) {
2018-01-12 00:12:39 +00:00
super("pic:spPr");
2018-01-23 01:33:12 +00:00
this.root.push(
new ShapePropertiesAttributes({
bwMode: "auto",
}),
);
2018-01-12 00:12:39 +00:00
2021-03-15 02:41:37 +00:00
this.form = new Form(transform);
2018-03-24 19:06:10 +00:00
this.root.push(this.form);
2018-01-12 00:12:39 +00:00
this.root.push(new PresetGeometry());
if (outline) {
this.root.push(createNoFill());
this.root.push(createOutline(outline));
}
2018-01-12 00:12:39 +00:00
}
}