q5-react
Version:
> Minimal React wrapper for [q5.js](https://github.com/q5js/q5.js)
24 lines (23 loc) • 900 B
TypeScript
import { CreateCanvasProps } from "../types/q5-canvas";
export declare const useCreateCanvas: <T>(initialState: T | (() => T), draw: CreateCanvasProps<T>["draw"], events?: CreateCanvasProps<T>["events"]) => {
draw: import("../types/q5-canvas").DrawFn<T>;
state: {
get: () => T;
set: (partialOrUpdater: Partial<T> | ((prevState: T) => Partial<T>)) => void;
subscribe: (cb: (state: T) => void) => () => boolean;
};
events: {
keyPressed?: (key: string) => void;
keyReleased?: (key: string) => void;
mousePressed?: (button: number, position: {
x: number;
y: number;
}) => void;
mouseReleased?: (button: number, position: {
x: number;
y: number;
}) => void;
mouseWheel?: (x: number, y: number) => void;
windowResized?: () => void;
} | undefined;
};