Here you can find the source of growRectByRelativeSize(Rectangle2D rect, double top, double right, double bottom, double left)
public static Rectangle2D growRectByRelativeSize(Rectangle2D rect, double top, double right, double bottom, double left)
//package com.java2s; /*// w w w . j av a 2 s. co m * This file is part of JFlowMap. * * Copyright 2009 Ilya Boyandin * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.awt.geom.Rectangle2D; public class Main { public static Rectangle2D growRectByRelativeSize(Rectangle2D rect, double top, double right, double bottom, double left) { Rectangle2D r = new Rectangle2D.Double(rect.getX(), rect.getY(), rect.getWidth(), rect.getHeight()); growRectInPlaceByRelativeSize(r, top, right, bottom, left); return r; } public static void growRectInPlaceByRelativeSize(Rectangle2D rect, double top, double right, double bottom, double left) { rect.setRect(rect.getX() - rect.getWidth() * left, rect.getY() - rect.getHeight() * top, rect.getWidth() * (1 + left + right), rect.getHeight() * (1 + top + bottom)); } }