-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
63 lines (58 loc) · 2.53 KB
/
app.js
File metadata and controls
63 lines (58 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import { canvasWidth as width, canvasHeight as height, canvasColor as bgColor, setCanvasColor } from './js/config.js';
import DrawingCanvas from './js/dc/dc.js';
import ToolBar from './js/toolbar.js';
import { startDrawingLine, startDrawingLineTouch } from './js/draw-line.js';
import { startDrawingTrapezoid } from './js/draw-trapezoid.js';
import { startDrawingRectangle } from './js/draw-rectangle.js';
import { startDrawingCircle } from './js/draw-circle.js';
import { startDrawingPolygon } from './js/draw-polygon.js';
import { startDrawingCurve } from './js/draw-curve.js';
import { startErasing } from './js/erase.js';
if ('ontouchstart' in window) {
const dc = new DrawingCanvas(width, height, bgColor);
const dcOverlay = new DrawingCanvas(width, height);
const toolBar = new ToolBar({
Line: { handler: startDrawingLineTouch(dc, dcOverlay) },
SaveImage: { handler: () => dc.saveAsPngTouch() },
NewImage: {
handler: () => {
dc.clear();
setCanvasColor('#2a2c35');
},
},
});
toolBar.appendTo('._container');
dc.appendTo('._container');
dcOverlay.appendTo('._container');
dcOverlay.canvas.style.marginTop = -height + 'px';
dcOverlay.fillText('Notice:', 50, 70);
dcOverlay.fillText('The full functionality of the application', 50, 100);
dcOverlay.fillText('is currently only available on devices', 50, 130);
dcOverlay.fillText('without a touch screen', 50, 160);
window.addEventListener('orientationchange', () => {
location.href = location.href;
});
} else {
const dc = new DrawingCanvas(width, height, bgColor);
const dcOverlay = new DrawingCanvas(width, height);
const toolBar = new ToolBar({
Curve: { handler: startDrawingCurve(dc, dcOverlay) },
Line: { handler: startDrawingLine(dc, dcOverlay) },
Circle: { handler: startDrawingCircle(dc, dcOverlay) },
Rectangle: { handler: startDrawingRectangle(dc, dcOverlay) },
Trapezoid: { handler: startDrawingTrapezoid(dc, dcOverlay) },
Poligon: { handler: startDrawingPolygon(dc, dcOverlay) },
Eraser: { handler: startErasing(dc, dcOverlay) },
SaveImage: { handler: () => dc.saveAsPng() },
NewImage: {
handler: () => {
dc.clear();
setCanvasColor('#2a2c35');
},
},
});
toolBar.appendTo('._container');
dc.appendTo('._container');
dcOverlay.appendTo('._container');
dcOverlay.canvas.style.marginTop = -height + 'px';
}