void (@NotNull Rectangle bounds, @NotNull Rectangle deviceBounds, float scale) { // On Windows, JB SDK transforms the screen bounds to the user space as follows: // [x, y, width, height] -> [x, y, width / scale, height / scale] // xy are not transformed in order to avoid overlapping of the screen bounds in multi-dpi env. // scale the delta b/w xy and deviceBounds.xy int x = (int)Math.floor(deviceBounds.x + (bounds.x - deviceBounds.x) * scale); int y = (int)Math.floor(deviceBounds.y + (bounds.y - deviceBounds.y) * scale); bounds.setBounds(x, y, (int)Math.ceil(bounds.width * scale), (int)Math.ceil(bounds.height * scale)); }