Skip to content

Commit 118779d

Browse files
nested hud surface under event target
1 parent 8627ff1 commit 118779d

2 files changed

Lines changed: 33 additions & 28 deletions

File tree

editor-packages/editor-canvas/canvas-event-target/canvas-event-target.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ export function CanvasEventTarget({
3333
onPointerMoveStart,
3434
onPointerMoveEnd,
3535
onPointerDown,
36+
children,
3637
}: {
3738
onPanning: OnPanningHandler;
3839
onPanningStart: OnPanningHandler;
@@ -44,6 +45,7 @@ export function CanvasEventTarget({
4445
onPointerMoveStart: OnPointerMoveHandler;
4546
onPointerMoveEnd: OnPointerMoveHandler;
4647
onPointerDown: OnPointerDownHandler;
48+
children?: React.ReactNode;
4749
}) {
4850
const interactionEventTargetRef = useRef();
4951

@@ -139,7 +141,9 @@ export function CanvasEventTarget({
139141
}}
140142
id="gesture-event-listener"
141143
ref={interactionEventTargetRef}
142-
/>
144+
>
145+
{children}
146+
</EventTargetContainer>
143147
);
144148
}
145149

editor-packages/editor-canvas/canvas/canvas.tsx

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,34 @@ export function Canvas({
188188
onPointerMoveStart={() => {}}
189189
onPointerMoveEnd={() => {}}
190190
onPointerDown={onPointerDown}
191-
/>
191+
>
192+
<HudSurface
193+
offset={xy}
194+
zoom={zoom}
195+
hide={is_canvas_transforming}
196+
readonly={readonly}
197+
labelDisplayNodes={nodes}
198+
selectedNodes={selected_nodes}
199+
highlights={
200+
hoveringLayer?.node
201+
? (config.can_highlight_selected_layer
202+
? [hoveringLayer.node]
203+
: noduplicates([hoveringLayer.node], selected_nodes)
204+
).map((h) => ({
205+
id: h.id,
206+
xywh: [h.absoluteX, h.absoluteY, h.width, h.height],
207+
}))
208+
: []
209+
}
210+
onHoverNode={(id) => {
211+
setHoveringLayer({ node: node(id), reason: "frame-title" });
212+
}}
213+
onSelectNode={(id) => {
214+
onSelectNode(node(id));
215+
}}
216+
renderFrameTitle={props.renderFrameTitle}
217+
/>
218+
</CanvasEventTarget>
192219
<CanvasTransformRoot scale={zoom} xy={xy}>
193220
<DisableBackdropFilter>
194221
{nodes?.map((node) => {
@@ -206,32 +233,6 @@ export function Canvas({
206233
})}
207234
</DisableBackdropFilter>
208235
</CanvasTransformRoot>
209-
<HudSurface
210-
offset={xy}
211-
zoom={zoom}
212-
hide={is_canvas_transforming}
213-
readonly={readonly}
214-
labelDisplayNodes={nodes}
215-
selectedNodes={selected_nodes}
216-
highlights={
217-
hoveringLayer?.node
218-
? (config.can_highlight_selected_layer
219-
? [hoveringLayer.node]
220-
: noduplicates([hoveringLayer.node], selected_nodes)
221-
).map((h) => ({
222-
id: h.id,
223-
xywh: [h.absoluteX, h.absoluteY, h.width, h.height],
224-
}))
225-
: []
226-
}
227-
onHoverNode={(id) => {
228-
setHoveringLayer({ node: node(id), reason: "frame-title" });
229-
}}
230-
onSelectNode={(id) => {
231-
onSelectNode(node(id));
232-
}}
233-
renderFrameTitle={props.renderFrameTitle}
234-
/>
235236
</>
236237
);
237238
}

0 commit comments

Comments
 (0)