presenter 0.8.7 → 0.9.0

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.
@@ -8,6 +8,7 @@ export declare class BrowserCanvasRenderer {
8
8
  constructor(props: Partial<BrowserCanvasRendererProps>);
9
9
  /** Starts the presentation. */
10
10
  present(): Promise<void>;
11
+ private reloadAfterVariableChange;
11
12
  renderSlide(slideIndex: number, buildIndex?: number, buildTime?: number | null): void;
12
13
  renderCanvas(canvas: HTMLCanvasElement, slideIndex: number, buildIndex?: number, buildTime?: number | null, scale?: number): void;
13
14
  updateNavigator(): void;
@@ -0,0 +1,3 @@
1
+ import { Spotlight } from '../../../objects/Spotlight';
2
+ import { BrowserCanvasObjectRenderer } from '../types/BrowserCanvasObjectRenderer';
3
+ export declare const renderSpotlight: BrowserCanvasObjectRenderer<Spotlight>;
@@ -1,3 +1,4 @@
1
+ import { Size } from '../../../types/Size';
1
2
  import { SlideObject } from '../../../types/SlideObject';
2
3
  import { UnifiedCanvasContext } from './UnifiedCanvasContext';
3
4
  import { UnifiedImage } from './UnifiedImage';
@@ -6,6 +7,8 @@ export interface BrowserCanvasObjectRendererArgs<T extends SlideObject> {
6
7
  readonly ctx: UnifiedCanvasContext;
7
8
  readonly object: T;
8
9
  readonly opacity: number;
10
+ readonly renderScale: number;
11
+ readonly slideSize: Size;
9
12
  readonly imageById: Record<string, UnifiedImage>;
10
13
  readonly createPath2D: (path?: string) => UnifiedPath2D;
11
14
  readonly renderObject: (object: SlideObject, overallOpacity: number) => void;
@@ -1,2 +1,6 @@
1
1
  import { Size } from '../../../types/Size';
2
- export declare function getSizeFromTextMetrics(textMetrics: TextMetrics): Size;
2
+ export interface TextMetricsSize extends Size {
3
+ readonly bottom: number;
4
+ readonly top: number;
5
+ }
6
+ export declare function getSizeFromTextMetrics(textMetrics: TextMetrics): TextMetricsSize;
@@ -0,0 +1,6 @@
1
+ interface Args {
2
+ readonly onCommit: () => void;
3
+ readonly onPreview: (id: string, value: number) => number;
4
+ }
5
+ export declare function createVariableControlsElement({ onCommit, onPreview, }: Args): HTMLDivElement | null;
6
+ export {};
@@ -0,0 +1,6 @@
1
+ interface Args {
2
+ readonly container: HTMLElement;
3
+ readonly onCommit: () => void;
4
+ }
5
+ export declare function mountVariableControls({ container, onCommit }: Args): void;
6
+ export {};
@@ -9,6 +9,7 @@ export declare const ObjectType: {
9
9
  readonly POLYGON: "Polygon";
10
10
  readonly RECTANGLE: "Rectangle";
11
11
  readonly SLIDE_OBJECT: "SlideObject";
12
+ readonly SPOTLIGHT: "Spotlight";
12
13
  readonly SVG: "SVG";
13
14
  readonly TEXT: "Text";
14
15
  };
@@ -0,0 +1,19 @@
1
+ export interface VariableProps {
2
+ readonly name?: string;
3
+ readonly min?: number;
4
+ readonly max?: number;
5
+ readonly default?: number;
6
+ readonly increment?: number;
7
+ }
8
+ export interface VariableDefinition {
9
+ readonly id: string;
10
+ readonly name: string;
11
+ readonly min: number;
12
+ readonly max: number;
13
+ readonly default: number;
14
+ readonly increment: number;
15
+ }
16
+ export declare function Variable(props?: VariableProps | null): number;
17
+ export declare function getRegisteredVariables(): VariableDefinition[];
18
+ export declare function getVariableValue(id: string): number;
19
+ export declare function setVariableValue(id: string, value: number): number;
@@ -0,0 +1,8 @@
1
+ import { Spotlight } from '../../../objects/Spotlight';
2
+ import { Position } from '../../../types/Position';
3
+ import { Size } from '../../../types/Size';
4
+ export declare function getSpotlightCutout(spotlight: Spotlight): {
5
+ origin: Position;
6
+ size: Size;
7
+ cornerRadius: number;
8
+ };
@@ -0,0 +1,10 @@
1
+ import { Spotlight } from '../../../objects/Spotlight';
2
+ import { UnifiedPath2D } from '../../../renderer/browser-canvas/types/UnifiedPath2D';
3
+ import { Position } from '../../../types/Position';
4
+ import { Size } from '../../../types/Size';
5
+ interface SpotlightPathBounds {
6
+ readonly origin: Position;
7
+ readonly size: Size;
8
+ }
9
+ export declare function getSpotlightPath(spotlight: Spotlight, slideSize: Size, createPath: () => UnifiedPath2D, bounds?: SpotlightPathBounds): UnifiedPath2D;
10
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare function loadPendingVariableValues(): Record<string, number>;
2
+ export declare function storePendingVariableValues(values: Record<string, number>): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "presenter",
3
- "version": "0.8.7",
3
+ "version": "0.9.0",
4
4
  "description": "A JavaScript presentation library",
5
5
  "main": "dist/presenter.js",
6
6
  "types": "dist/index.d.ts",