File tree Expand file tree Collapse file tree 2 files changed +27
-4
lines changed Expand file tree Collapse file tree 2 files changed +27
-4
lines changed Original file line number Diff line number Diff line change @@ -11,24 +11,35 @@ const colorElement = document.getElementById('color')
11
11
let size = 20 ;
12
12
let isCurrentlyPressed = false ;
13
13
let color = 'black' ;
14
+ let x = undefined ;
15
+ let y = undefined
14
16
15
17
16
18
canvas . addEventListener ( 'mousemove' , ( event ) => {
17
19
18
20
if ( isCurrentlyPressed ) {
19
- const x = event . offsetX ;
20
- const y = event . offsetY ;
21
+ const x2 = event . offsetX ;
22
+ const y2 = event . offsetY ;
21
23
22
- drawCircle ( x , y )
24
+ drawCircle ( x2 , y2 )
25
+ drawLine ( x , y , x2 , y2 ) ;
26
+ x = x2 ;
27
+ y = y2 ;
23
28
}
24
29
} )
25
30
26
31
canvas . addEventListener ( 'mouseup' , ( event ) => {
27
32
isCurrentlyPressed = false
33
+
34
+ x = undefined
35
+ y = undefined
28
36
} )
29
37
30
38
canvas . addEventListener ( 'mousedown' , ( event ) => {
31
39
isCurrentlyPressed = true
40
+
41
+ x = event . offsetX ;
42
+ y = event . offsetY ;
32
43
} )
33
44
34
45
@@ -63,6 +74,16 @@ function drawCircle(x,y) {
63
74
ctx . fillStyle = color ;
64
75
}
65
76
77
+
78
+ function drawLine ( x1 , y1 , x2 , y2 ) {
79
+ ctx . beginPath ( ) ;
80
+ ctx . moveTo ( x1 , y1 )
81
+ ctx . lineTo ( x2 , y2 )
82
+ ctx . strokeStyle = color ;
83
+ ctx . lineWidth = size ;
84
+ ctx . stroke ( )
85
+ }
86
+
66
87
function updateSizeOnScreen ( ) {
67
88
sizeElement . innerText = size
68
89
}
Original file line number Diff line number Diff line change @@ -26,15 +26,17 @@ canvas {
26
26
padding : 1rem ;
27
27
width : 800px ;
28
28
background-color : whitesmoke;
29
+ display : flex;
29
30
}
30
31
31
32
.toolbox > * {
32
33
background-color : rgb (238 , 214 , 186 );
33
34
padding : 0.25rem ;
34
35
border : none;
35
- font-size : 3 rem ;
36
+ font-size : 2 rem ;
36
37
width : 50px ;
37
38
height : 50px ;
39
+ margin : .2rem ;
38
40
display : inline-flex;
39
41
align-items : center;
40
42
justify-content : center;
You can’t perform that action at this time.
0 commit comments