Add back scale functionality
This commit is contained in:
@ -28,6 +28,8 @@ const defaultDrawingOptions: DrawingOptions = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export class Drawing extends XmlComponent {
|
export class Drawing extends XmlComponent {
|
||||||
|
private inline: Inline;
|
||||||
|
|
||||||
constructor(imageData: IMediaData, drawingOptions?: DrawingOptions) {
|
constructor(imageData: IMediaData, drawingOptions?: DrawingOptions) {
|
||||||
super("w:drawing");
|
super("w:drawing");
|
||||||
|
|
||||||
@ -40,10 +42,16 @@ export class Drawing extends XmlComponent {
|
|||||||
...drawingOptions,
|
...drawingOptions,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
if (mergedOptions.position === PlacementPosition.INLINE) {
|
if (mergedOptions.position === PlacementPosition.INLINE) {
|
||||||
this.root.push(new Inline(imageData.referenceId, imageData.dimensions));
|
this.inline = new Inline(imageData.referenceId, imageData.dimensions);
|
||||||
|
this.root.push(this.inline);
|
||||||
} else if (mergedOptions.position === PlacementPosition.FLOATING) {
|
} else if (mergedOptions.position === PlacementPosition.FLOATING) {
|
||||||
this.root.push(new Anchor(imageData.referenceId, imageData.dimensions, mergedOptions));
|
this.root.push(new Anchor(imageData.referenceId, imageData.dimensions, mergedOptions));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public scale(factorX: number, factorY: number): void {
|
||||||
|
this.inline.scale(factorX, factorY);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
import { Drawing } from "../../drawing";
|
import { Drawing } from "../../drawing";
|
||||||
|
import { DrawingOptions } from "../../drawing/drawing";
|
||||||
import { IMediaData } from "../../media/data";
|
import { IMediaData } from "../../media/data";
|
||||||
import { Run } from "../run";
|
import { Run } from "../run";
|
||||||
import { DrawingOptions } from "../../drawing/drawing";
|
|
||||||
|
|
||||||
export class PictureRun extends Run {
|
export class PictureRun extends Run {
|
||||||
|
private drawing: Drawing;
|
||||||
|
|
||||||
constructor(imageData: IMediaData, drawingOptions?: DrawingOptions) {
|
constructor(imageData: IMediaData, drawingOptions?: DrawingOptions) {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
@ -11,6 +13,20 @@ export class PictureRun extends Run {
|
|||||||
throw new Error("imageData cannot be undefined");
|
throw new Error("imageData cannot be undefined");
|
||||||
}
|
}
|
||||||
|
|
||||||
this.root.push(new Drawing(imageData, drawingOptions));
|
this.drawing = new Drawing(imageData, drawingOptions);
|
||||||
|
|
||||||
|
this.root.push(this.drawing);
|
||||||
|
}
|
||||||
|
|
||||||
|
public scale(factorX: number, factorY?: number): void {
|
||||||
|
if (!factorX) {
|
||||||
|
factorX = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!factorY) {
|
||||||
|
factorY = factorX;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.drawing.scale(factorX, factorY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user