@@ -222,15 +222,27 @@ public void scaleUpRectangle() {
222222
223223 @ Test
224224 public void scaleDownscaleUpRectangleInvertible () {
225+ int [] zooms = new int [] {25 , 50 , 75 , 100 , 125 , 150 , 175 , 200 , 225 , 250 , 275 , 300 , 325 , 350 , 375 , 400 };
226+ for (int zoom : zooms ) {
227+ for (int i = 1 ; i <= 10000 ; i ++) {
228+ Rectangle rect = new Rectangle .OfFloat (0 , 0 , i , i );
229+ Rectangle scaleDown = Win32DPIUtils .pixelToPoint (rect , zoom );
230+ Rectangle scaleUp = Win32DPIUtils .pointToPixel (scaleDown , zoom );
231+ assertEquals (rect .width , scaleUp .width );
232+ assertEquals (rect .height , scaleUp .height );
233+ }
234+ }
235+ }
236+
237+ @ Test
238+ public void scaleBoundsRectangleInvertible () {
225239 int [] zooms = new int [] {25 , 50 , 75 , 100 , 125 , 150 , 175 , 200 , 225 , 250 , 275 , 300 , 325 , 350 , 375 , 400 };
226240 for (int zoom1 : zooms ) {
227241 for (int zoom2 : zooms ) {
228242 for (int i = 1 ; i <= 10000 ; i ++) {
229243 Rectangle rect = new Rectangle .OfFloat (0 , 0 , i , i );
230- Rectangle scaleDown = Win32DPIUtils .pixelToPoint (rect , zoom1 );
231- Rectangle scaleUp = Win32DPIUtils .pointToPixel (scaleDown , zoom2 );
232- scaleDown = Win32DPIUtils .pixelToPoint (scaleUp , zoom2 );
233- scaleUp = Win32DPIUtils .pointToPixel (scaleDown , zoom1 );
244+ Rectangle scaleDown = Win32DPIUtils .scaleBounds (rect , zoom1 , zoom2 );
245+ Rectangle scaleUp = Win32DPIUtils .scaleBounds (scaleDown , zoom2 , zoom1 );
234246 assertEquals (rect .width , scaleUp .width );
235247 assertEquals (rect .height , scaleUp .height );
236248 }
@@ -240,18 +252,14 @@ public void scaleDownscaleUpRectangleInvertible() {
240252
241253 @ Test
242254 public void scaleDownscaleUpPointInvertible () {
243- int [] zooms = new int [] {25 , 50 , 75 , 100 , 125 , 150 , 175 , 200 , 225 , 250 , 275 , 300 , 325 , 350 , 375 , 400 };
244- for (int zoom1 : zooms ) {
245- for (int zoom2 : zooms ) {
246- for (int i = 1 ; i <= 10000 ; i ++) {
247- Point pt = new Point (i , i );
248- Point scaleDown = Win32DPIUtils .pixelToPoint (pt , zoom1 );
249- Point scaleUp = Win32DPIUtils .pointToPixel (scaleDown , zoom2 );
250- scaleDown = Win32DPIUtils .pixelToPoint (scaleUp , zoom2 );
251- scaleUp = Win32DPIUtils .pointToPixel (scaleDown , zoom1 );
252- assertEquals (pt .x , scaleUp .x );
253- assertEquals (pt .y , scaleUp .y );
254- }
255+ int [] zooms = new int [] {100 , 125 , 150 , 175 , 200 , 225 , 250 , 275 , 300 , 325 , 350 , 375 , 400 };
256+ for (int zoom : zooms ) {
257+ for (int i = 1 ; i <= 10000 ; i ++) {
258+ Point pt = new Point (i , i );
259+ Point scaleDown = Win32DPIUtils .pixelToPoint (pt , zoom );
260+ Point scaleUp = Win32DPIUtils .pointToPixel (scaleDown , zoom );
261+ assertEquals (pt .x , scaleUp .x );
262+ assertEquals (pt .y , scaleUp .y );
255263 }
256264 }
257265 }
0 commit comments