This has to be a daft question given that no-one has asked it before, but is there a reason why drawRectangle() doesn’t have a float overload?
fillRect() and most other draw methods will take co-ords in both int and float, but drawRect only takes ints, which seems a little inconsistent, at best. :?