public double [ ] getDerivedDimensions ( ) { Double width = getWidth ( ) ; Double height = getHeight ( ) ; if ( width == null || height == null ) { int dataWidth ; int dataHeight ; try { BufferedImage image = getDataImage ( ) ; dataWidth = image . getWidth ( ) ; dataHeight = image . getHeight ( ) ; } catch ( IOException e ) { throw new GeoPackageException ( "Failed to read the data image" , e ) ; } if ( width == null ) { width = ( double ) dataWidth ; if ( height != null ) { width *= ( height / dataHeight ) ; } } if ( height == null ) { height = ( double ) dataHeight ; if ( width != null ) { height *= ( width / dataWidth ) ; } } } return new double [ ] { width , height } ; }
Get the derived width and height from the values and icon data scaled as needed