roundedRect {berryFunctions} | R Documentation |

## Rectangles with rounded corners

### Description

Draw rectangles with rounded corners via `polygon`

### Usage

```
roundedRect(
xleft,
ybottom,
xright,
ytop,
rounding = 0.25,
bothsame = TRUE,
aspcorrect = bothsame,
devcorrect = bothsame,
corfactor = 1.3,
factorpoints = FALSE,
corners = 1:4,
npoints = 200,
plot = TRUE,
...
)
```

### Arguments

`xleft` , `ybottom` , `xright` , `ytop` |
Single numbers with the outer end locations of the rectangle. |

`rounding` |
Proportion of the box to round. Recommended to be between 0 and 1. DEFAULT: 0.25 |

`bothsame` |
Set the visual amount of rounding to the same in
both x and y direction? If TRUE (the default),
the proportion relates to the shortest rectangle side.
This is visually correct only if |

`aspcorrect` |
Correct for graph aspect ratio? DEFAULT: |

`devcorrect` |
Correct for device aspect ratio? DEFAULT: |

`corfactor` |
Aspect correction factor. I found this by trial and error. More elegant solutions are welcome! DEFAULT 1.3, works well for 7x5 (width x height) graphs |

`factorpoints` |
Logical: plot points at inset locations to determine the
exact value for |

`corners` |
Vector with integers indicating which corners to round. Starting bottom left, going clockwise. Zero to suppress rounding. DEFAULT: 1:4 |

`npoints` |
Total number of vertices for the corners. DEFAULT: 200 |

`plot` |
Logical. Plot the polygon? FALSE to only compute coordinates. DEFAULT: TRUE |

`...` |
Further arguments passed to |

### Value

Final coordinates, invisible

### Author(s)

Berry Boessenkool, berry-b@gmx.de, Dec 2017

### See Also

### Examples

```
plot(1:10) ; rect(4,2,7,8, border=8)
roundedRect(4,2,7,8, rounding=0.1)
roundedRect(4,2,7,8, rounding=0.25) # default
roundedRect(4,2,7,8, rounding=0.5)
roundedRect(4,2,7,8, rounding=-0.1, border="red")
roundedRect(4,2,7,8, rounding=1.1, border="blue")
roundedRect(2,2,8,4, rounding=0.5) # in long boxes, 0.5 is max
roundedRect(2,2,8,4, rounding=0.5, bothsame=FALSE, corfactor=1, border=3)
plot(1:10) ; rect(4,2,7,8, border=8)
roundedRect(4,2,7,8, corners=c(2,4))
plot(1:10, asp=1) ; rect(4,2,7,8, border=8)
roundedRect(4,2,7,8)
roundedRect(4,2,7,8, aspcorrect=FALSE, border="red") # results depend on asp
plot(1:10, asp=1.5) ; rect(4,2,7,8, border=8)
roundedRect(4,2,7,8)
roundedRect(4,2,7,8, aspcorrect=FALSE, border="red") # results depend on asp
plot(1:10, asp=1) ; rect(4,2,7,8, border=8)
roundedRect(4,2,7,8) # difference only visible if rect is clearly not a square:
roundedRect(4,2,7,8, bothsame=FALSE, border="red")
roundedRect(4,2,7,8, bothsame=FALSE, aspcorrect=TRUE, border="blue")
## Not run: # aspect correction factor determination
rrtest <- function(...) roundedRect(10,0.5, 35,15, border=2, factorpoints=TRUE)
pdfpng({plot(1:40 ); rrtest();
plot(1:40, ylim=c(0,15) ); rrtest();
plot(1:40, ylim=c(0,15), asp=1); rrtest();
roundedRect(2,0, 8,15, factorpoints=TRUE);
roundedRect(15,10, 25,16, npoints=200)},
file="dummytest", png=F, overwrite=T)
## End(Not run)
```

*berryFunctions*version 1.22.5 Index]