From 6278cd9366ff3468c1c7f7adf78ccb21fb8a861f Mon Sep 17 00:00:00 2001 From: Christopher Chedeau Date: Wed, 1 Jan 2020 17:04:47 -0800 Subject: [PATCH] Initial commit --- README.md | 2 - package.json | 28 +++++++ public/FG_Virgil.ttf | Bin 0 -> 122844 bytes public/index.html | 43 ++++++++++ src/index.js | 187 +++++++++++++++++++++++++++++++++++++++++++ src/styles.css | 5 ++ 6 files changed, 263 insertions(+), 2 deletions(-) delete mode 100644 README.md create mode 100644 package.json create mode 100644 public/FG_Virgil.ttf create mode 100644 public/index.html create mode 100644 src/index.js create mode 100644 src/styles.css diff --git a/README.md b/README.md deleted file mode 100644 index a9e9d4fc..00000000 --- a/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# excalibur -Created with CodeSandbox diff --git a/package.json b/package.json new file mode 100644 index 00000000..d60ce44c --- /dev/null +++ b/package.json @@ -0,0 +1,28 @@ +{ + "name": "react", + "version": "1.0.0", + "description": "", + "keywords": [], + "main": "src/index.js", + "dependencies": { + "react": "16.12.0", + "react-dom": "16.12.0", + "react-scripts": "3.0.1", + "roughjs": "3.1.0" + }, + "devDependencies": { + "typescript": "3.3.3" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test --env=jsdom", + "eject": "react-scripts eject" + }, + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] +} \ No newline at end of file diff --git a/public/FG_Virgil.ttf b/public/FG_Virgil.ttf new file mode 100644 index 0000000000000000000000000000000000000000..80001666cd223f7df1d23e2cb66de158a40913f5 GIT binary patch literal 122844 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 C2fEk* literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 00000000..42ae2d2d --- /dev/null +++ b/public/index.html @@ -0,0 +1,43 @@ + + + + + + + + + + + + React App + + + + +
+ + + + \ No newline at end of file diff --git a/src/index.js b/src/index.js new file mode 100644 index 00000000..1444e77a --- /dev/null +++ b/src/index.js @@ -0,0 +1,187 @@ +import React from "react"; +import ReactDOM from "react-dom"; +import rough from "roughjs/dist/rough.umd.js"; + +import "./styles.css"; + +var elements = []; + +function newElement(type, x, y) { + const element = { + type: type, + x: x, + y: y, + width: 0, + height: 0 + }; + generateShape(element); + return element; +} + +function rotate(x1, y1, x2, y2, angle) { + // π‘Žβ€²π‘₯=(π‘Žπ‘₯βˆ’π‘π‘₯)cosπœƒβˆ’(π‘Žπ‘¦βˆ’π‘π‘¦)sinπœƒ+𝑐π‘₯ + // π‘Žβ€²π‘¦=(π‘Žπ‘₯βˆ’π‘π‘₯)sinπœƒ+(π‘Žπ‘¦βˆ’π‘π‘¦)cosπœƒ+𝑐𝑦. + // https://math.stackexchange.com/questions/2204520/how-do-i-rotate-a-line-segment-in-a-specific-point-on-the-line + return [ + (x1 - x2) * Math.cos(angle) - (y1 - y2) * Math.sin(angle) + x2, + (x1 - x2) * Math.sin(angle) + (y1 - y2) * Math.cos(angle) + y2 + ]; +} + +var generator = rough.generator(); + +function generateShape(element) { + if (element.type === "selection") { + element.draw = (rc, context) => { + context.fillStyle = "rgba(0, 0, 255, 0.10)"; + context.fillRect(element.x, element.y, element.width, element.height); + }; + } else if (element.type === "rectangle") { + const shape = generator.rectangle( + element.x, + element.y, + element.width, + element.height + ); + element.draw = (rc, context) => { + rc.draw(shape); + }; + } else if (element.type === "ellipse") { + const shape = generator.ellipse( + element.x + element.width / 2, + element.y + element.height / 2, + element.width, + element.height + ); + element.draw = (rc, context) => { + rc.draw(shape); + }; + } else if (element.type === "arrow") { + const x1 = element.x; + const y1 = element.y; + const x2 = element.x + element.width; + const y2 = element.y + element.height; + + const size = 30; // pixels + const distance = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)); + // Scale down the arrow until we hit a certain size so that it doesn't look weird + const minSize = Math.min(size, distance / 2); + const xs = x2 - ((x2 - x1) / distance) * minSize; + const ys = y2 - ((y2 - y1) / distance) * minSize; + + const angle = 20; // degrees + const [x3, y3] = rotate(xs, ys, x2, y2, (-angle * Math.PI) / 180); + const [x4, y4] = rotate(xs, ys, x2, y2, (angle * Math.PI) / 180); + + const shapes = [ + generator.line(x1, y1, x2, y2), + generator.line(x3, y3, x2, y2), + generator.line(x4, y4, x2, y2) + ]; + + element.draw = (rc, context) => { + shapes.forEach(shape => rc.draw(shape)); + }; + return; + } else if (element.type === "text") { + if (element.text === undefined) { + element.text = prompt("What text do you want?"); + } + element.draw = (rc, context) => { + context.font = "20px Virgil"; + const measure = context.measureText(element.text); + const height = + measure.actualBoundingBoxAscent + measure.actualBoundingBoxDescent; + context.fillText( + element.text, + element.x - measure.width / 2, + element.y + measure.actualBoundingBoxAscent - height / 2 + ); + }; + } else { + throw new Error("Unimplemented type " + element.type); + } +} + +function App() { + const [draggingElement, setDraggingElement] = React.useState(null); + const [elementType, setElementType] = React.useState("selection"); + const [selectedElements, setSelectedElements] = React.useState([]); + function ElementOption({ type, children }) { + return ( + + ); + } + return ( +
+ Rectangle + Ellipse + Arrow + Text + Selection + { + const element = newElement( + elementType, + e.clientX - e.target.offsetLeft, + e.clientY - e.target.offsetTop + ); + elements.push(element); + setDraggingElement(element); + drawScene(); + }} + onMouseUp={e => { + setDraggingElement(null); + drawScene(); + }} + onMouseMove={e => { + if (!draggingElement) return; + let width = e.clientX - e.target.offsetLeft - draggingElement.x; + let height = e.clientY - e.target.offsetTop - draggingElement.y; + draggingElement.width = width; + // Make a perfect square or circle when shift is enabled + draggingElement.height = e.shiftKey ? width : height; + generateShape(draggingElement); + drawScene(); + }} + /> +
+ ); +} +const rootElement = document.getElementById("root"); + +function drawScene() { + ReactDOM.render(, rootElement); + + const canvas = document.getElementById("canvas"); + const rc = rough.canvas(canvas); + const context = canvas.getContext("2d"); + context.clearRect(0, 0, canvas.width, canvas.height); + + elements.forEach(element => { + element.draw(rc, context); + if (true || element.isSelected) { + const margin = 4; + context.setLineDash([8, 4]); + context.strokeRect( + element.x - margin, + element.y - margin, + element.width + margin * 2, + element.height + margin * 2 + ); + context.setLineDash([]); + } + }); +} + +drawScene(); diff --git a/src/styles.css b/src/styles.css new file mode 100644 index 00000000..f96dc647 --- /dev/null +++ b/src/styles.css @@ -0,0 +1,5 @@ +/* http://www.eaglefonts.com/fg-virgil-ttf-131249.htm */ +@font-face { + font-family: "Virgil"; + src: url("https://uploads.codesandbox.io/uploads/user/ed077012-e728-4a42-8395-cbd299149d62/AflB-FG_Virgil.ttf"); +}