presenter 0.5.5 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/README.md +0 -54
  2. package/dist/constructors/Grid.d.ts +36 -0
  3. package/dist/export/image-renderer/ImageRenderer.d.ts +9 -0
  4. package/dist/export/image-renderer/types/ImageRendererProps.d.ts +26 -0
  5. package/dist/export/image-renderer/types/ImageRendererState.d.ts +8 -0
  6. package/dist/export/index.d.ts +3 -0
  7. package/dist/export/pdf-renderer/PDFRenderer.d.ts +10 -0
  8. package/dist/export/pdf-renderer/types/PDFRendererProps.d.ts +8 -0
  9. package/dist/export/pdf-renderer/types/PDFRendererState.d.ts +5 -0
  10. package/dist/export/powerpoint-renderer/PowerPointRenderer.d.ts +11 -0
  11. package/dist/export/powerpoint-renderer/objects/renderArrow.d.ts +3 -0
  12. package/dist/export/powerpoint-renderer/objects/renderCircle.d.ts +3 -0
  13. package/dist/export/powerpoint-renderer/objects/renderGroup.d.ts +3 -0
  14. package/dist/export/powerpoint-renderer/objects/renderImage.d.ts +3 -0
  15. package/dist/export/powerpoint-renderer/objects/renderLine.d.ts +3 -0
  16. package/dist/export/powerpoint-renderer/objects/renderPath.d.ts +3 -0
  17. package/dist/export/powerpoint-renderer/objects/renderPolygon.d.ts +3 -0
  18. package/dist/export/powerpoint-renderer/objects/renderRectangle.d.ts +3 -0
  19. package/dist/export/powerpoint-renderer/objects/renderText.d.ts +3 -0
  20. package/dist/export/powerpoint-renderer/types/ObjectTransform.d.ts +7 -0
  21. package/dist/export/powerpoint-renderer/types/PowerPointObjectRenderer.d.ts +16 -0
  22. package/dist/export/powerpoint-renderer/types/PowerPointRendererProps.d.ts +9 -0
  23. package/dist/export/powerpoint-renderer/types/PowerPointRendererState.d.ts +4 -0
  24. package/dist/export/powerpoint-renderer/utils/defaultObjectRenderers.d.ts +10 -0
  25. package/dist/export/powerpoint-renderer/utils/getImagePathById.d.ts +1 -0
  26. package/dist/export/powerpoint-renderer/utils/getPptxFillColor.d.ts +9 -0
  27. package/dist/export/powerpoint-renderer/utils/getPptxText.d.ts +13 -0
  28. package/dist/export/powerpoint-renderer/utils/getTransformedBoundingBox.d.ts +6 -0
  29. package/dist/export/powerpoint-renderer/utils/getUnitsFromPixels.d.ts +9 -0
  30. package/dist/export/utils/createCanvasElement.d.ts +3 -0
  31. package/dist/export/utils/createPath2D.d.ts +2 -0
  32. package/dist/export/utils/loadPresentationImages.d.ts +2 -0
  33. package/dist/export.js +1 -0
  34. package/dist/index.d.ts +43 -0
  35. package/dist/navigator/openNavigator.d.ts +8 -0
  36. package/dist/objects/Arrow.d.ts +18 -0
  37. package/dist/objects/Circle.d.ts +16 -0
  38. package/dist/objects/Group.d.ts +17 -0
  39. package/dist/objects/Image.d.ts +15 -0
  40. package/dist/objects/Line.d.ts +15 -0
  41. package/dist/objects/Mask.d.ts +15 -0
  42. package/dist/objects/Path.d.ts +19 -0
  43. package/dist/objects/Polygon.d.ts +13 -0
  44. package/dist/objects/Rectangle.d.ts +18 -0
  45. package/dist/objects/Text.d.ts +25 -0
  46. package/dist/presenter.js +1 -1
  47. package/dist/renderer/browser-canvas/BrowserCanvasRenderer.d.ts +12 -0
  48. package/dist/renderer/browser-canvas/objects/renderArrow.d.ts +3 -0
  49. package/dist/renderer/browser-canvas/objects/renderCircle.d.ts +3 -0
  50. package/dist/renderer/browser-canvas/objects/renderGroup.d.ts +3 -0
  51. package/dist/renderer/browser-canvas/objects/renderImage.d.ts +3 -0
  52. package/dist/renderer/browser-canvas/objects/renderLine.d.ts +3 -0
  53. package/dist/renderer/browser-canvas/objects/renderMask.d.ts +3 -0
  54. package/dist/renderer/browser-canvas/objects/renderPath.d.ts +3 -0
  55. package/dist/renderer/browser-canvas/objects/renderPolygon.d.ts +3 -0
  56. package/dist/renderer/browser-canvas/objects/renderRectangle.d.ts +3 -0
  57. package/dist/renderer/browser-canvas/objects/renderText.d.ts +3 -0
  58. package/dist/renderer/browser-canvas/types/BrowserCanvasObjectRenderer.d.ts +13 -0
  59. package/dist/renderer/browser-canvas/types/BrowserCanvasRendererProps.d.ts +9 -0
  60. package/dist/renderer/browser-canvas/types/BrowserCanvasRendererState.d.ts +16 -0
  61. package/dist/renderer/browser-canvas/types/UnifiedCanvasContext.d.ts +18 -0
  62. package/dist/renderer/browser-canvas/types/UnifiedImage.d.ts +18 -0
  63. package/dist/renderer/browser-canvas/types/UnifiedPath2D.d.ts +18 -0
  64. package/dist/renderer/browser-canvas/utils/clearCanvas.d.ts +2 -0
  65. package/dist/renderer/browser-canvas/utils/createCanvasElement.d.ts +2 -0
  66. package/dist/renderer/browser-canvas/utils/createPath2D.d.ts +2 -0
  67. package/dist/renderer/browser-canvas/utils/defaultObjectRenderers.d.ts +10 -0
  68. package/dist/renderer/browser-canvas/utils/drawStroke.d.ts +15 -0
  69. package/dist/renderer/browser-canvas/utils/fillPath.d.ts +11 -0
  70. package/dist/renderer/browser-canvas/utils/getPathFromPoints.d.ts +4 -0
  71. package/dist/renderer/browser-canvas/utils/getSizeFromTextMetrics.d.ts +2 -0
  72. package/dist/renderer/browser-canvas/utils/loadPresentationImages.d.ts +2 -0
  73. package/dist/renderer/browser-canvas/utils/text/getTextUnitMeasurements.d.ts +5 -0
  74. package/dist/renderer/browser-canvas/utils/text/setContextWithTextStyle.d.ts +3 -0
  75. package/dist/types/Alignment.d.ts +7 -0
  76. package/dist/types/Anchor.d.ts +13 -0
  77. package/dist/types/Animate.d.ts +18 -0
  78. package/dist/types/AnimationType.d.ts +9 -0
  79. package/dist/types/BaseUnitSlideAnimation.d.ts +7 -0
  80. package/dist/types/BoundingBox.d.ts +10 -0
  81. package/dist/types/Color.d.ts +23 -0
  82. package/dist/types/Easing.d.ts +10 -0
  83. package/dist/types/EasingFunction.d.ts +2 -0
  84. package/dist/types/FontStyle.d.ts +8 -0
  85. package/dist/types/FontWeight.d.ts +13 -0
  86. package/dist/types/Interpolator.d.ts +7 -0
  87. package/dist/types/ObjectType.d.ts +14 -0
  88. package/dist/types/PathWithLength.d.ts +5 -0
  89. package/dist/types/Pause.d.ts +7 -0
  90. package/dist/types/Position.d.ts +6 -0
  91. package/dist/types/Presentation.d.ts +17 -0
  92. package/dist/types/Resources.d.ts +5 -0
  93. package/dist/types/ShortcutState.d.ts +13 -0
  94. package/dist/types/Size.d.ts +6 -0
  95. package/dist/types/Slide.d.ts +12 -0
  96. package/dist/types/SlideAnimation.d.ts +6 -0
  97. package/dist/types/SlideObject.d.ts +5 -0
  98. package/dist/types/TextContent.d.ts +2 -0
  99. package/dist/types/TextStyle.d.ts +12 -0
  100. package/dist/types/TextUnit.d.ts +6 -0
  101. package/dist/types/Update.d.ts +9 -0
  102. package/dist/utils/animate/getSlideAnimationDuration.d.ts +2 -0
  103. package/dist/utils/animate/updateObjectStateWithAnimation.d.ts +13 -0
  104. package/dist/utils/color/Opaque.d.ts +2 -0
  105. package/dist/utils/color/Transparent.d.ts +2 -0
  106. package/dist/utils/color/getAlphaForColor.d.ts +6 -0
  107. package/dist/utils/color/getHexStringForColor.d.ts +2 -0
  108. package/dist/utils/color/getRgbStringForColor.d.ts +2 -0
  109. package/dist/utils/core/assertNever.d.ts +1 -0
  110. package/dist/utils/interpolate/defaultInterpolators.d.ts +2 -0
  111. package/dist/utils/interpolate/getSmoothPathInterpolator.d.ts +2 -0
  112. package/dist/utils/interpolate/interpolate.d.ts +3 -0
  113. package/dist/utils/interpolate/interpolateColor.d.ts +3 -0
  114. package/dist/utils/interpolate/interpolateFallback.d.ts +3 -0
  115. package/dist/utils/interpolate/interpolateNumber.d.ts +2 -0
  116. package/dist/utils/layout/getBoundingBox.d.ts +5 -0
  117. package/dist/utils/layout/getLineBoundingBox.d.ts +2 -0
  118. package/dist/utils/layout/getSizingFunctions.d.ts +10 -0
  119. package/dist/utils/objects/arrow/getArrowPoints.d.ts +9 -0
  120. package/dist/utils/objects/circle/getCirclePath.d.ts +4 -0
  121. package/dist/utils/objects/line/getLinePath.d.ts +4 -0
  122. package/dist/utils/objects/polygon/getPolygonPath.d.ts +4 -0
  123. package/dist/utils/objects/rectangle/getRectanglePath.d.ts +4 -0
  124. package/dist/utils/objects/rectangle/getRoundedRectanglePath.d.ts +5 -0
  125. package/dist/utils/objects/text/getTextContentLength.d.ts +2 -0
  126. package/dist/utils/objects/text/getTextStyleFromText.d.ts +3 -0
  127. package/dist/utils/objects/text/getTextUnitsFromTextContent.d.ts +3 -0
  128. package/dist/utils/presentation/createPresentationContainer.d.ts +2 -0
  129. package/dist/utils/presentation/getObjectChildren.d.ts +5 -0
  130. package/dist/utils/presentation/getObjectState.d.ts +12 -0
  131. package/dist/utils/presentation/getPresentationShortcuts.d.ts +3 -0
  132. package/dist/utils/presentation/isFullBodyPresentation.d.ts +1 -0
  133. package/dist/utils/presentation/setupKeyEventListeners.d.ts +10 -0
  134. package/dist/utils/size/getCombinedSizes2D.d.ts +7 -0
  135. package/dist/utils/slide/getKeySlideBuildIndices.d.ts +5 -0
  136. package/dist/utils/storage/StorageState.d.ts +5 -0
  137. package/dist/utils/storage/loadPresentationState.d.ts +3 -0
  138. package/dist/utils/storage/storageConsts.d.ts +1 -0
  139. package/dist/utils/storage/storePresentationState.d.ts +2 -0
  140. package/package.json +25 -28
  141. package/dist/354.js +0 -2
  142. package/dist/354.js.LICENSE.txt +0 -20
  143. package/dist/418.js +0 -2
  144. package/dist/418.js.LICENSE.txt +0 -1
  145. package/dist/661.js +0 -1
  146. package/dist/jest.config.d.ts +0 -13
  147. package/dist/presenter-code.js +0 -1
  148. package/dist/presenter-export.js +0 -2
  149. package/dist/presenter-export.js.LICENSE.txt +0 -313
  150. package/dist/presenter-morph.js +0 -1
  151. package/dist/src/code/codeBlock.d.ts +0 -108
  152. package/dist/src/code/index.d.ts +0 -1
  153. package/dist/src/export/index.d.ts +0 -24
  154. package/dist/src/export/util.d.ts +0 -4
  155. package/dist/src/index.d.ts +0 -26
  156. package/dist/src/library/bullets.d.ts +0 -15
  157. package/dist/src/library/mainTitle.d.ts +0 -4
  158. package/dist/src/library/slideTitle.d.ts +0 -4
  159. package/dist/src/morph/index.d.ts +0 -34
  160. package/dist/src/objects/arrow.d.ts +0 -62
  161. package/dist/src/objects/circle.d.ts +0 -24
  162. package/dist/src/objects/grid.d.ts +0 -17
  163. package/dist/src/objects/group.d.ts +0 -29
  164. package/dist/src/objects/iframe.d.ts +0 -16
  165. package/dist/src/objects/image.d.ts +0 -21
  166. package/dist/src/objects/line.d.ts +0 -21
  167. package/dist/src/objects/mask.d.ts +0 -13
  168. package/dist/src/objects/paragraph.d.ts +0 -21
  169. package/dist/src/objects/path.d.ts +0 -29
  170. package/dist/src/objects/polygon.d.ts +0 -13
  171. package/dist/src/objects/rectangle.d.ts +0 -26
  172. package/dist/src/objects/rotator.d.ts +0 -21
  173. package/dist/src/objects/screenCapture.d.ts +0 -17
  174. package/dist/src/objects/text.d.ts +0 -67
  175. package/dist/src/objects/vectorGraphic.d.ts +0 -48
  176. package/dist/src/presentation/object.d.ts +0 -132
  177. package/dist/src/presentation/presentation.d.ts +0 -153
  178. package/dist/src/presentation/presentation.test.d.ts +0 -1
  179. package/dist/src/presentation/slide.d.ts +0 -43
  180. package/dist/src/presentation/storage.d.ts +0 -9
  181. package/dist/src/util/animation.d.ts +0 -60
  182. package/dist/src/util/easing.d.ts +0 -12
  183. package/dist/src/util/easing.test.d.ts +0 -1
  184. package/dist/src/util/position.d.ts +0 -11
  185. package/dist/src/util/richText.d.ts +0 -19
  186. package/dist/webpack.config.d.ts +0 -70
  187. /package/dist/{src/objects/text.test.d.ts → utils/size/getCombinedSizes2D.test.d.ts} +0 -0
package/README.md CHANGED
@@ -3,57 +3,3 @@
3
3
  Presenter.js is a presentation tool for programmatically building animated visual slides.
4
4
 
5
5
  This library is still in development and its API may change at any time.
6
-
7
- ## Getting Started
8
-
9
- ### Quick Start
10
-
11
- The simplest way to get started with a Presenter.js presentation is via
12
- `npm create presenter`.
13
-
14
- ```bash
15
- $ npm create presenter
16
- ```
17
-
18
- Running `npm create presenter` will prompt you to enter a project name and will
19
- then create a new presentation with Presenter.js, written in TypeScript and
20
- built with Webpack.
21
-
22
- After creating the new presentation, `cd` into the directory and run
23
- `npm run serve` to run the presentation. Edit `src/index.ts` to make changes
24
- to your presentation.
25
-
26
- ### Installing Presenter.js Manually
27
-
28
- Presenter.js can also be installed manually via `npm`.
29
-
30
- ```bash
31
- $ npm install presenter
32
- ```
33
-
34
- ### Sample Usage
35
-
36
- Create a presentation by specifying a list of slides, where each slide may
37
- contain objects and animations.
38
-
39
- ```javascript
40
- import { Presentation, Slide, Text } from "presenter";
41
-
42
- const slide = new Slide([
43
- new Text("Welcome to Presenter.js!", {
44
- position: { x: 0.5, y: 0.5 },
45
- anchor: "center",
46
- fontSize: 150,
47
- }),
48
- ]);
49
-
50
- document.addEventListener("DOMContentLoaded", () => {
51
- const presentation = new Presentation(
52
- "My Presentation",
53
- [slide],
54
- document.body,
55
- );
56
-
57
- presentation.present();
58
- });
59
- ```
@@ -0,0 +1,36 @@
1
+ import { Group } from "../objects/Group";
2
+ import { Anchor } from "../types/Anchor";
3
+ import { SlideObject } from "../types/SlideObject";
4
+ export interface GridProps {
5
+ readonly anchor: Anchor;
6
+ /** Number of columns in the grid. */
7
+ readonly cols: number;
8
+ /** Pixels of horizontal space between objects in the grid. */
9
+ readonly gapX: number;
10
+ /** Pixels of vertical space between objects in the grid. */
11
+ readonly gapY: number;
12
+ /**
13
+ * Height, in pixels, of each object in the grid.
14
+ *
15
+ * If height is variable, a function can be provided that maps the row/col indices to a height.
16
+ */
17
+ readonly height: number | ((row: number, col: number) => number);
18
+ /** Function mapping row/col indices to the object in the grid at that index. */
19
+ readonly objects: (row: number, col: number) => SlideObject | null;
20
+ /** Number of rows in the grid. */
21
+ readonly rows: number;
22
+ /**
23
+ * Width, in pixels, of each object in the grid.
24
+ *
25
+ * If width is variable, a function can be provided that maps the row/col indices to a width.
26
+ */
27
+ readonly width: number | ((row: number, col: number) => number);
28
+ readonly x: number;
29
+ readonly y: number;
30
+ }
31
+ interface Return {
32
+ readonly grid: Group;
33
+ readonly objects: (SlideObject | null)[][];
34
+ }
35
+ export declare function Grid(props: Partial<GridProps>): Return;
36
+ export {};
@@ -0,0 +1,9 @@
1
+ import { ImageRendererProps } from "./types/ImageRendererProps";
2
+ import { ImageRendererState } from "./types/ImageRendererState";
3
+ export declare class ImageRenderer {
4
+ props: ImageRendererProps;
5
+ state: ImageRendererState;
6
+ constructor(props: Partial<ImageRendererProps>);
7
+ save(directoryName: string, startImageIndex?: number): Promise<void>;
8
+ renderImage(slideIndex: number, buildIndex: number, buildTime?: number | null): Promise<void>;
9
+ }
@@ -0,0 +1,26 @@
1
+ import { BrowserCanvasObjectRenderer } from "../../../renderer/browser-canvas/types/BrowserCanvasObjectRenderer";
2
+ import { Presentation } from "../../../types/Presentation";
3
+ import { SlideObject } from "../../../types/SlideObject";
4
+ export interface ImageRendererProps {
5
+ readonly presentation: Presentation;
6
+ /**
7
+ * An animated export includes all frames of animation in the entire presentation.
8
+ * Non-animated exports only include key builds.
9
+ */
10
+ readonly isAnimatedExport: boolean;
11
+ /**
12
+ * The number of frames to hold for each animation step.
13
+ * Applies only to animated exports.
14
+ */
15
+ readonly animationHoldFrames: number;
16
+ /**
17
+ * The number of frames per second for animated exports.
18
+ */
19
+ readonly framesPerSecond: number;
20
+ readonly getFilenameForImage: (imageIndex: number) => string;
21
+ readonly imageFormat: "png" | "jpeg" | "webp" | "svg";
22
+ /** How frequently to log progress frame. */
23
+ readonly logFrequency: number;
24
+ readonly objectRenderers: Record<string, BrowserCanvasObjectRenderer<SlideObject>>;
25
+ readonly resourcePathPrefix: string;
26
+ }
@@ -0,0 +1,8 @@
1
+ import { UnifiedImage } from "../../../renderer/browser-canvas/types/UnifiedImage";
2
+ export interface ImageRendererState {
3
+ directoryName: string;
4
+ imageIndex: number;
5
+ imageById: Record<string, UnifiedImage>;
6
+ startImageIndex: number;
7
+ }
8
+ export declare const IMAGE_RENDERER_DEFAULT_STATE: ImageRendererState;
@@ -0,0 +1,3 @@
1
+ export { ImageRenderer } from "./image-renderer/ImageRenderer";
2
+ export { PDFRenderer } from "./pdf-renderer/PDFRenderer";
3
+ export { PowerPointRenderer } from "./powerpoint-renderer/PowerPointRenderer";
@@ -0,0 +1,10 @@
1
+ import { Canvas } from "skia-canvas";
2
+ import { PDFRendererProps } from "./types/PDFRendererProps";
3
+ import { PDFRendererState } from "./types/PDFRendererState";
4
+ export declare class PDFRenderer {
5
+ props: PDFRendererProps;
6
+ state: PDFRendererState;
7
+ constructor(props: Partial<PDFRendererProps>);
8
+ save(filename: string): Promise<void>;
9
+ addPage(canvas: Canvas, slideIndex: number, buildIndex: number): void;
10
+ }
@@ -0,0 +1,8 @@
1
+ import { BrowserCanvasObjectRenderer } from "../../../renderer/browser-canvas/types/BrowserCanvasObjectRenderer";
2
+ import { Presentation } from "../../../types/Presentation";
3
+ import { SlideObject } from "../../../types/SlideObject";
4
+ export interface PDFRendererProps {
5
+ readonly presentation: Presentation;
6
+ readonly objectRenderers: Record<string, BrowserCanvasObjectRenderer<SlideObject>>;
7
+ readonly resourcePathPrefix: string;
8
+ }
@@ -0,0 +1,5 @@
1
+ import { UnifiedImage } from "../../../renderer/browser-canvas/types/UnifiedImage";
2
+ export interface PDFRendererState {
3
+ imageById: Record<string, UnifiedImage>;
4
+ }
5
+ export declare const PDF_RENDERER_DEFAULT_STATE: PDFRendererState;
@@ -0,0 +1,11 @@
1
+ import pptxgen from "pptxgenjs";
2
+ import { UnifiedCanvasContext } from "../../renderer/browser-canvas/types/UnifiedCanvasContext";
3
+ import { PowerPointRendererProps } from "./types/PowerPointRendererProps";
4
+ import { PowerPointRendererState } from "./types/PowerPointRendererState";
5
+ export declare class PowerPointRenderer {
6
+ props: PowerPointRendererProps;
7
+ state: PowerPointRendererState;
8
+ constructor(props: Partial<PowerPointRendererProps>);
9
+ save(filename: string): void;
10
+ addSlide(powerpoint: pptxgen, context: UnifiedCanvasContext, slideIndex: number, buildIndex: number): void;
11
+ }
@@ -0,0 +1,3 @@
1
+ import { Arrow } from "../../../objects/Arrow";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderArrow: PowerPointObjectRenderer<Arrow>;
@@ -0,0 +1,3 @@
1
+ import { Circle } from "../../../objects/Circle";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderCircle: PowerPointObjectRenderer<Circle>;
@@ -0,0 +1,3 @@
1
+ import { Group } from "../../../objects/Group";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderGroup: PowerPointObjectRenderer<Group>;
@@ -0,0 +1,3 @@
1
+ import { Image } from "../../../objects/Image";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderImage: PowerPointObjectRenderer<Image>;
@@ -0,0 +1,3 @@
1
+ import { Line } from "../../../objects/Line";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderLine: PowerPointObjectRenderer<Line>;
@@ -0,0 +1,3 @@
1
+ import { Path } from "../../../objects/Path";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderPath: PowerPointObjectRenderer<Path>;
@@ -0,0 +1,3 @@
1
+ import { Polygon } from "../../../objects/Polygon";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderPolygon: PowerPointObjectRenderer<Polygon>;
@@ -0,0 +1,3 @@
1
+ import { Rectangle } from "../../../objects/Rectangle";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderRectangle: PowerPointObjectRenderer<Rectangle>;
@@ -0,0 +1,3 @@
1
+ import { Text } from "../../../objects/Text";
2
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
3
+ export declare const renderText: PowerPointObjectRenderer<Text>;
@@ -0,0 +1,7 @@
1
+ export interface ObjectTransform {
2
+ readonly translateX: number;
3
+ readonly translateY: number;
4
+ readonly scale: number;
5
+ readonly rotation: number;
6
+ }
7
+ export declare const DEFAULT_OBJECT_TRANSFORM: ObjectTransform;
@@ -0,0 +1,16 @@
1
+ import pptxgenjs from "pptxgenjs";
2
+ import { UnifiedCanvasContext } from "../../../renderer/browser-canvas/types/UnifiedCanvasContext";
3
+ import { SlideObject } from "../../../types/SlideObject";
4
+ import { ObjectTransform } from "./ObjectTransform";
5
+ export interface PowerPointObjectRendererArgs<T extends SlideObject> {
6
+ readonly ctx: UnifiedCanvasContext;
7
+ readonly imagePathById: Record<string, string>;
8
+ readonly powerpoint: pptxgenjs;
9
+ readonly slide: pptxgenjs.Slide;
10
+ readonly object: T;
11
+ readonly opacity: number;
12
+ readonly pixelsPerInch: number;
13
+ readonly transform: ObjectTransform;
14
+ readonly renderObject: (object: SlideObject, transform: ObjectTransform, overallOpacity: number) => void;
15
+ }
16
+ export type PowerPointObjectRenderer<T extends SlideObject> = (args: PowerPointObjectRendererArgs<T>) => void;
@@ -0,0 +1,9 @@
1
+ import { Presentation } from "../../../types/Presentation";
2
+ import { SlideObject } from "../../../types/SlideObject";
3
+ import { PowerPointObjectRenderer } from "./PowerPointObjectRenderer";
4
+ export interface PowerPointRendererProps {
5
+ readonly presentation: Presentation;
6
+ readonly objectRenderers: Record<string, PowerPointObjectRenderer<SlideObject>>;
7
+ readonly pixelsPerInch: number;
8
+ readonly resourcePathPrefix: string;
9
+ }
@@ -0,0 +1,4 @@
1
+ export interface PowerPointRendererState {
2
+ readonly imagePathById: Record<string, string>;
3
+ }
4
+ export declare const POWERPOINT_RENDERER_DEFAULT_STATE: PowerPointRendererState;
@@ -0,0 +1,10 @@
1
+ import { ObjectType } from "../../../types/ObjectType";
2
+ import { SlideObject } from "../../../types/SlideObject";
3
+ import { PowerPointObjectRenderer } from "../types/PowerPointObjectRenderer";
4
+ type ObjectRendererMap = {
5
+ [T in ObjectType]: PowerPointObjectRenderer<SlideObject & {
6
+ objectType: T;
7
+ }>;
8
+ };
9
+ export declare const DEFAULT_OBJECT_RENDERERS: ObjectRendererMap;
10
+ export {};
@@ -0,0 +1 @@
1
+ export declare function getImagePathById(relativeImagePathById: Record<string, string>, pathPrefix: string): Record<string, string>;
@@ -0,0 +1,9 @@
1
+ import { Color } from "../../../types/Color";
2
+ interface Return {
3
+ /** RGB hex string for color, of length 6 */
4
+ readonly color: string;
5
+ /** Color opacity in [0, 100] */
6
+ readonly transparency: number;
7
+ }
8
+ export declare function getPptxFillColor(color: Color, opacity?: number): Return;
9
+ export {};
@@ -0,0 +1,13 @@
1
+ import pptxgen from "pptxgenjs";
2
+ import { TextStyle } from "../../../types/TextStyle";
3
+ import { TextUnit } from "../../../types/TextUnit";
4
+ interface Args {
5
+ readonly length: number | null;
6
+ readonly opacity: number;
7
+ readonly pixelsPerInch: number;
8
+ readonly scale: number;
9
+ readonly style: TextStyle;
10
+ readonly textUnits: readonly TextUnit[][];
11
+ }
12
+ export declare function getPptxText({ length, opacity, pixelsPerInch, scale, style, textUnits, }: Args): pptxgen.TextProps[];
13
+ export {};
@@ -0,0 +1,6 @@
1
+ import { Anchor } from "../../../types/Anchor";
2
+ import { BoundingBox } from "../../../types/BoundingBox";
3
+ import { Position } from "../../../types/Position";
4
+ import { Size } from "../../../types/Size";
5
+ import { ObjectTransform } from "../types/ObjectTransform";
6
+ export declare function getTransformedBoundingBox(position: Position, anchor: Anchor, size: Size, transform: ObjectTransform): BoundingBox;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Gets inches from pixels.
3
+ */
4
+ export declare function getInchesFromPixels(pixels: number, pixelsPerInch: number): number;
5
+ /**
6
+ * Gets PowerPoint pixels from Presenter.js pixels.
7
+ */
8
+ export declare function getPptxPixelsFromPixels(pixels: number, pixelsPerInch: number): number;
9
+ export declare function getPptxFontSizeFromPixels(pixels: number, pixelsPerInch: number): number;
@@ -0,0 +1,3 @@
1
+ import { Canvas } from "skia-canvas";
2
+ import { Size } from "../../types/Size";
3
+ export declare function createCanvasElement(size: Size): Canvas;
@@ -0,0 +1,2 @@
1
+ import { UnifiedPath2D } from "../../renderer/browser-canvas/types/UnifiedPath2D";
2
+ export declare function createPath2D(pathData?: string | undefined): UnifiedPath2D;
@@ -0,0 +1,2 @@
1
+ import { UnifiedImage } from "../../renderer/browser-canvas/types/UnifiedImage";
2
+ export declare function loadPresentationImages(imagePathById: Record<string, string>, pathPrefix: string): Promise<Record<string, UnifiedImage>>;