pencil.js
Version:
Nice modular interactive 2D drawing library.
43 lines (42 loc) • 1.26 kB
TypeScript
/**
* @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";