public void cellsResized(Object[] cells,mxRectangle[] bounds){
  if (cells != null && bounds != null && cells.length == bounds.length) {
    model.beginUpdate();
    try {
      for (int i=0; i < cells.length; i++) {
        mxRectangle tmp=bounds[i];
        mxGeometry geo=model.getGeometry(cells[i]);
        if (geo != null && (geo.getX() != tmp.getX() || geo.getY() != tmp.getY() || geo.getWidth() != tmp.getWidth() || geo.getHeight() != tmp.getHeight())) {
          geo=(mxGeometry)geo.clone();
          if (geo.isRelative()) {
            mxPoint offset=geo.getOffset();
            if (offset != null) {
              offset.setX(offset.getX() + tmp.getX() - geo.getX());
              offset.setY(offset.getY() + tmp.getY() - geo.getY());
            }
          }
 else {
            geo.setX(tmp.getX());
            geo.setY(tmp.getY());
          }
          geo.setWidth(tmp.getWidth());
          geo.setHeight(tmp.getHeight());
          if (!geo.isRelative() && model.isVertex(cells[i]) && !isAllowNegativeCoordinates()) {
            geo.setX(Math.max(0,geo.getX()));
            geo.setY(Math.max(0,geo.getY()));
          }
          model.setGeometry(cells[i],geo);
          if (isExtendParent(cells[i])) {
            extendParent(cells[i]);
          }
        }
      }
      if (isResetEdgesOnResize()) {
        resetEdges(cells);
      }
      fireEvent(new mxEventObject(mxEvent.CELLS_RESIZED,"cells",cells,"bounds",bounds));
    }
  finally {
      model.endUpdate();
    }
  }
}

public void cellsResized ( Object [ ] cells , mxRectangle [ ] bounds ) { if ( cells != null && bounds != null && cells . length == bounds . length ) { model . beginUpdate ( ) ; try { for ( int i = 0 ; i < cells . length ; i ++ ) { mxRectangle tmp = bounds [ i ] ; mxGeometry geo = model . getGeometry ( cells [ i ] ) ; if ( geo != null && ( geo . getX ( ) != tmp . getX ( ) || geo . getY ( ) != tmp . getY ( ) || geo . getWidth ( ) != tmp . getWidth ( ) || geo . getHeight ( ) != tmp . getHeight ( ) ) ) { geo = ( mxGeometry ) geo . clone ( ) ; if ( geo . isRelative ( ) ) { mxPoint offset = geo . getOffset ( ) ; if ( offset != null ) { offset . setX ( offset . getX ( ) + tmp . getX ( ) - geo . getX ( ) ) ; offset . setY ( offset . getY ( ) + tmp . getY ( ) - geo . getY ( ) ) ; } } else { geo . setX ( tmp . getX ( ) ) ; geo . setY ( tmp . getY ( ) ) ; } geo . setWidth ( tmp . getWidth ( ) ) ; geo . setHeight ( tmp . getHeight ( ) ) ; if ( ! geo . isRelative ( ) && model . isVertex ( cells [ i ] ) && ! isAllowNegativeCoordinates ( ) ) { geo . setX ( Math . max ( 0 , geo . getX ( ) ) ) ; geo . setY ( Math . max ( 0 , geo . getY ( ) ) ) ; } model . setGeometry ( cells [ i ] , geo ) ; if ( isExtendParent ( cells [ i ] ) ) { extendParent ( cells [ i ] ) ; } } } if ( isResetEdgesOnResize ( ) ) { resetEdges ( cells ) ; } fireEvent ( new mxEventObject ( mxEvent . CELLS_RESIZED , "cells" , cells , "bounds" , bounds ) ) ; } finally { model . endUpdate ( ) ; } } }
sets the bounds of the given cells and fires a < mxevent . cells_resized > event . if extendparents is true , then the parent is extended if a child size is changed so that it overlaps with the parent .
