Skip to content

Instantly share code, notes, and snippets.

@MaBecker
Created January 16, 2025 02:39
Show Gist options
  • Save MaBecker/7cc714f4205b1bb419383bb9881ed271 to your computer and use it in GitHub Desktop.
Save MaBecker/7cc714f4205b1bb419383bb9881ed271 to your computer and use it in GitHub Desktop.
How to draw a rectangle with rounded corners in Espruino
g.clear();
function RectRnd(x1,y1,x2,y2,r) {
pp = [];
pp.push.apply(pp,g.quadraticBezier([x2-r,y1, x2,y1,x2,y1+r]));
pp.push.apply(pp,g.quadraticBezier([x2,y2-r,x2,y2,x2-r,y2]));
pp.push.apply(pp,g.quadraticBezier([x1+r,y2,x1,y2,x1,y2-r]));
pp.push.apply(pp,g.quadraticBezier([x1,y1+r,x1,y1,x1+r,y1]));
return pp;
}
function fillRectRnd(x1,y1,x2,y2,r) {
g.fillPoly(RectRnd(x1,y1,x2,y2,r),1);
}
function drawRectRnd(x1,y1,x2,y2,r) {
g.drawPoly(RectRnd(x1,y1,x2,y2,r),1);
}
drawRectRnd(10,10,150,50,5);
fillRectRnd(10,60,150,120,5);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment