Skip to content

Commit ba90dce

Browse files
committed
feat: canavs linestroke
1 parent 74fc71b commit ba90dce

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed

drawing-app/script.js

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,35 @@ const colorElement = document.getElementById('color')
1111
let size = 20;
1212
let isCurrentlyPressed = false;
1313
let color = 'black';
14+
let x = undefined;
15+
let y = undefined
1416

1517

1618
canvas.addEventListener('mousemove', (event) => {
1719

1820
if(isCurrentlyPressed){
19-
const x = event.offsetX;
20-
const y = event.offsetY;
21+
const x2 = event.offsetX;
22+
const y2 = event.offsetY;
2123

22-
drawCircle(x,y)
24+
drawCircle(x2, y2)
25+
drawLine(x, y, x2, y2);
26+
x = x2;
27+
y = y2;
2328
}
2429
})
2530

2631
canvas.addEventListener('mouseup', (event) => {
2732
isCurrentlyPressed = false
33+
34+
x = undefined
35+
y = undefined
2836
})
2937

3038
canvas.addEventListener('mousedown', (event) => {
3139
isCurrentlyPressed = true
40+
41+
x = event.offsetX;
42+
y = event.offsetY;
3243
})
3344

3445

@@ -63,6 +74,16 @@ function drawCircle(x,y) {
6374
ctx.fillStyle = color;
6475
}
6576

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+
6687
function updateSizeOnScreen() {
6788
sizeElement.innerText = size
6889
}

drawing-app/style.css

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,17 @@ canvas {
2626
padding: 1rem;
2727
width: 800px;
2828
background-color: whitesmoke;
29+
display: flex;
2930
}
3031

3132
.toolbox > * {
3233
background-color: rgb(238, 214, 186);
3334
padding: 0.25rem;
3435
border: none;
35-
font-size: 3rem;
36+
font-size: 2rem;
3637
width: 50px;
3738
height: 50px;
39+
margin: .2rem;
3840
display: inline-flex;
3941
align-items: center;
4042
justify-content: center;

0 commit comments

Comments
 (0)