Files
pihkaal-me/app/composables/useRender.ts
2025-11-09 16:20:30 +01:00

19 lines
528 B
TypeScript

export type RenderCallback = (ctx: CanvasRenderingContext2D) => void;
export const useRender = (callback: RenderCallback) => {
const registerRenderCallback = inject<
(callback: RenderCallback) => () => void
>("registerRenderCallback");
onMounted(() => {
if (!registerRenderCallback) {
throw new Error(
"Missing registerRenderCallback - useRender must be used within a Screen component",
);
}
const unregister = registerRenderCallback(callback);
onUnmounted(unregister);
});
};