UNPKG

pencil.js

Version:

Nice modular interactive 2D drawing library.

43 lines (42 loc) 1.26 kB
/** * @module Instruction */ /** * Instruction class * @class */ export default class Instruction { /** * Unimplemented * FIXME */ static from(): void; /** * @callback InstructionCallback * @param {CanvasRenderingContext2D} ctx * @param {Position} target * @param {Position} previousPosition */ /** * Instruction constructor * @param {InstructionCallback} action - Function to execute * @param {PositionDefinition} target - Position to go to */ constructor(action: InstructionCallback, target: any); action: InstructionCallback; target: Position; /** * Follow the instruction * @param {Path2D} path - Current drawing path * @param {Position} previousPosition - Position from where the instruction start * @return {Position} The position reached */ execute(path: Path2D, previousPosition: Position): Position; /** * Unimplemented * FIXME: How to serialize a wrapper of a function ? */ toJSON(): void; } export type InstructionCallback = (ctx: CanvasRenderingContext2D, target: Position, previousPosition: Position) => any; import Position from "@pencil.js/position";