Skip to content

Commit

Permalink
Update tools.js's TOOL_RECTANGLE so that rectangles have sharp edges,…
Browse files Browse the repository at this point in the history
… working around weirdness in latest Firefox

As discussed in #326,
the drawing of rectangles show a blurred/anti-aliased edge in the recent versions of Firefox.  This change restores sharp edges in Firefox.  The change is modeled after how the existing code  handles the degenerate case of drawing the rectangle (when the rectangle is either not as tall or not as wide as double the rectangle line width), but this version just draws four rectangles, one for each side.
  • Loading branch information
milksteakjellybeans authored and 1j01 committed Nov 10, 2023
1 parent 894c0b1 commit c5cf784
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions src/tools.js
Original file line number Diff line number Diff line change
Expand Up @@ -842,8 +842,13 @@
ctx.fillRect(x, y, w, h);
ctx.restore();
} else {
// @TODO: shouldn't that be ~~(stroke_size / 2)?
ctx.strokeRect(x + stroke_size / 2, y + stroke_size / 2, w - stroke_size, h - stroke_size);
ctx.save();
ctx.fillStyle = ctx.strokeStyle;
ctx.fillRect(x, y, stroke_size, h);
ctx.fillRect(x+w-stroke_size, y, stroke_size, h);
ctx.fillRect(x, y, w, stroke_size);
ctx.fillRect(x, y+h-stroke_size, w, stroke_size);
ctx.restore();
}
}
},
Expand Down

0 comments on commit c5cf784

Please sign in to comment.