Skip to content

Commit aabd612

Browse files
update bitmap renderer interface
1 parent a46a59d commit aabd612

4 files changed

Lines changed: 17 additions & 8 deletions

File tree

editor-packages/editor-canvas-renderer-bitmap/figma-node-bitmap-preview.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, { useState, useEffect } from "react";
2-
import { ReflectSceneNode } from "@design-sdk/figma-node";
2+
import type { ReflectSceneNode } from "@design-sdk/figma-node";
33
import type { FrameOptimizationFactors } from "@code-editor/canvas/frame";
44
import { blurred_bg_fill } from "@code-editor/canvas-renderer-core";
55
import { CircularProgress } from "@mui/material";
@@ -32,6 +32,14 @@ export function FigmaNodeBitmapPreviewServiceProvider({
3232
return <Context.Provider value={service}>{children}</Context.Provider>;
3333
}
3434

35+
type TargetSceneMeta = {
36+
id: string;
37+
filekey: ReflectSceneNode["filekey"];
38+
name: string;
39+
width: number;
40+
height: number;
41+
};
42+
3543
/**
3644
* 1 = 1 scale
3745
* s = 0.2 scale
@@ -44,7 +52,7 @@ export function FigmaNodeBitmapView({
4452
inViewport,
4553
background,
4654
}: {
47-
target: ReflectSceneNode;
55+
target: TargetSceneMeta;
4856
} & FrameOptimizationFactors & {
4957
background?: React.CSSProperties["background"];
5058
}) {
@@ -80,7 +88,8 @@ export function FigmaNodeBitmapView({
8088
}
8189
}, [filekey, id, service, inViewport]);
8290

83-
const bg_color_str = blurred_bg_fill(target);
91+
const bg_color_str =
92+
"fills" in target ? blurred_bg_fill(target["fills"] as any) : "white";
8493

8594
return (
8695
<div
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { colorFromFills } from "@design-sdk/core/utils";
2-
import type { ReflectSceneNode } from "@design-sdk/figma-node";
2+
import type { Paint } from "@design-sdk/figma";
33

4-
export const blurred_bg_fill = (target: ReflectSceneNode) => {
5-
const __bg = colorFromFills(target.fills);
4+
export const blurred_bg_fill = (fills: ReadonlyArray<Paint>) => {
5+
const __bg = colorFromFills(fills);
66
const bg_color_str = __bg ? "#" + __bg.hex : "transparent";
77
return bg_color_str;
88
};

editor/scaffolds/preview-canvas/vanilla-preview-async.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ export function D2CVanillaPreview({
140140
}
141141
}, [target?.id, isZooming, isPanning]);
142142

143-
const bg_color_str = blurred_bg_fill(target);
143+
const bg_color_str = blurred_bg_fill(target.fills);
144144

145145
return (
146146
<PreviewContent

editor/scaffolds/preview-canvas/vanilla-preview-webworker.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { preview as wwpreview } from "../code/code-worker-messenger";
88

99
export function WebWorkerD2CVanillaPreview({ target }: VanillaPreviewProps) {
1010
const [preview, setPreview] = useState<Result>();
11-
const bg_color_str = blurred_bg_fill(target);
11+
const bg_color_str = blurred_bg_fill(target.fills);
1212

1313
useEffect(() => {
1414
if (preview) {

0 commit comments

Comments
 (0)