UNPKG

free-draw

Version:
65 lines (46 loc) 1.81 kB
English | [简体中文](README-zh_CN.md) # Free-Draw [![Progress](http://progressed.io/bar/60?title=Progress)](https://github.com/shibaobao/free-draw) [![Build Status](https://travis-ci.org/shibaobao/free-draw.svg?branch=master)](https://travis-ci.org/shibaobao/free-draw) [![npm](https://img.shields.io/npm/v/free-draw.svg)](https://www.npmjs.com/package/free-draw) [![npm](https://img.shields.io/npm/dt/free-draw.svg)](https://www.npmjs.com/package/free-draw) [![npm](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/shibaobao/free-draw/blob/master/LICENSE) Free draw with canvas! Rectangle, circle, ellipse and polygon. Support zoom and offset! # Installation Using npm: ```shell $ npm i -g npm $ npm i free-draw ``` # Usage HTML: ```html <canvas id="canvas" width="800" height="600"></canvas> ``` JS: ```html <script> import FreeDraw from 'free-draw' const freeDraw = new FreeDraw({ canvas: document.getElementById('canvas') }) const rect = freeDraw.addShape({ id: 'rect-1', type: 'rect', startPoint: [50, 50], width: 100, height: 200 }); </script> ``` # API Document ## Class - FreeDraw(options) - options {Object}: - canvas: DOM Element `required` - eventsCallBack: {Function} Events hook function - eventsReceive: {Array} <`mouseenter`|`mouseleave`|`mousemove`|`keydown`|`drag`> - Returns: FreeDraw {Object} - Usage: ```js const freeDraw = new FreeDraw({ canvas: document.getElementById('canvas') }) ``` ## Object - freeDraw - Attributes - canvas: DOM Element `required` - eventsCallBack: {Function} Events hook function - eventsReceive: {Array} <`mouseenter`|`mouseleave`|`mousemove`|`keydown`|`drag`> - model: {String} Current model <`view`|`edit`> - editingId: {String} Current editing shape id - shapeInCanvas: {Object} Shapes in cavas