| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import { ExcalidrawTextElement } from "../element/types";
- import { AppClassProperties, AppState } from "../types";
- export type RenderConfig = {
- // AppState values
- // ---------------------------------------------------------------------------
- scrollX: AppState["scrollX"];
- scrollY: AppState["scrollY"];
- /** null indicates transparent bg */
- viewBackgroundColor: AppState["viewBackgroundColor"] | null;
- zoom: AppState["zoom"];
- shouldCacheIgnoreZoom: AppState["shouldCacheIgnoreZoom"];
- theme: AppState["theme"];
- // collab-related state
- // ---------------------------------------------------------------------------
- remotePointerViewportCoords: { [id: string]: { x: number; y: number } };
- remotePointerButton?: { [id: string]: string | undefined };
- remoteSelectedElementIds: { [elementId: string]: string[] };
- remotePointerUsernames: { [id: string]: string };
- remotePointerUserStates: { [id: string]: string };
- // extra options passed to the renderer
- // ---------------------------------------------------------------------------
- imageCache: AppClassProperties["imageCache"];
- renderScrollbars?: boolean;
- renderSelection?: boolean;
- renderGrid?: boolean;
- /** when exporting the behavior is slightly different (e.g. we can't use
- CSS filters), and we disable render optimizations for best output */
- isExporting: boolean;
- };
- export type SceneScroll = {
- scrollX: number;
- scrollY: number;
- };
- export interface Scene {
- elements: ExcalidrawTextElement[];
- }
- export type ExportType =
- | "png"
- | "clipboard"
- | "clipboard-svg"
- | "backend"
- | "svg";
- export type ScrollBars = {
- horizontal: {
- x: number;
- y: number;
- width: number;
- height: number;
- } | null;
- vertical: {
- x: number;
- y: number;
- width: number;
- height: number;
- } | null;
- };
|