/**
 * 
 */
package org.eclipse.epf.diagramming.base.figures;

import org.eclipse.draw2d.RectangleFigure;
import org.eclipse.gmf.runtime.draw2d.ui.mapmode.MapModeUtil;

/**
 * @author Shashidhar Kannoori
 *
 */
public class ForkNodeFigure extends RectangleFigure {
	
	public void setSize(int w, int h) {
		super.setSize(MapModeUtil.getMapMode().DPtoLP(100), 
				MapModeUtil.getMapMode().DPtoLP(8));
	}
}
