UNPKG

dps_canvas

Version:

Html canvas üzerinde şekiller oluşturmanızı sağlar

67 lines (58 loc) 1.93 kB
import Base from "../parent" import { resize } from "./events"; /** * ! HATALI * * TODO * * text 'ede aynı işlemler uygulancak * * Daire resize yapılacak * * Şimdilik 4 tane olan köşe değiştirlebilecek en fazla 6 olabilir üst-orta, sol-orta vb... */ export function resizable(offsetX, offsetY) { if (!Base.isResizeable) return if(!Base.activeShape.height) { Base.activeShape.height = Base.activeShape.width } /** * trigger resize event */ Base.context.canvas.dispatchEvent(resize(Base.activeShape)) switch (Base.direction) { case "top-left": Base.activeShape.width += Base.activeShape.x - offsetX; Base.activeShape.height += Base.activeShape.y - offsetY; Base.activeShape.x = offsetX; Base.activeShape.y = offsetY; break; case 'top-right': Base.activeShape.width = offsetX - Base.activeShape.x; Base.activeShape.height += Base.activeShape.y - offsetY; Base.activeShape.y = offsetY; break; case 'bottom-left': Base.activeShape.width += Base.activeShape.x - offsetX; Base.activeShape.x = offsetX; Base.activeShape.height = offsetY - Base.activeShape.y; break; case 'bottom-right': Base.activeShape.width = offsetX - Base.activeShape.x; Base.activeShape.height = offsetY - Base.activeShape.y; break; case 'top': Base.activeShape.height += Base.activeShape.y - offsetY; Base.activeShape.y = offsetY; break; case 'left': Base.activeShape.width += Base.activeShape.x - offsetX; Base.activeShape.x = offsetX; break; case 'bottom': Base.activeShape.height = offsetY - Base.activeShape.y; break; case 'right': Base.activeShape.width = offsetX - Base.activeShape.x; break; } Base.drawAll() Base.setActiveShape(Base.activeShape) }