/**
  * Method that returns the target view for the current resize frame
  *
  * @return The target view
  */
 View findTargetFromResizeFrame() {
   int count = getChildCount();
   for (int i = 0; i < count; i++) {
     View v = getChildAt(i);
     if (v.getX() < (mResizeFrame.getX() + (mResizeFrame.getWidth() / 2))
         && (v.getX() + v.getWidth()) > (mResizeFrame.getX() + (mResizeFrame.getWidth() / 2))
         && v.getY() < (mResizeFrame.getY() + (mResizeFrame.getHeight() / 2))
         && (v.getY() + v.getHeight()) > (mResizeFrame.getY() + (mResizeFrame.getHeight() / 2))) {
       return v;
     }
   }
   return null;
 }
  /**
   * Method that converts the resize frame to a dispostion reference
   *
   * @return Disposition The disposition reference
   */
  private Disposition resizerToDisposition() {
    int w = getMeasuredWidth() - (getPaddingLeft() + getPaddingRight());
    int h = getMeasuredHeight() - (getPaddingTop() + getPaddingBottom());
    int cw = w / mCols;
    int ch = h / mRows;

    // Remove overlapped areas
    Disposition resizer = new Disposition();
    resizer.x = Math.round(mResizeFrame.getX() / cw);
    resizer.y = Math.round(mResizeFrame.getY() / ch);
    resizer.w = Math.round(mResizeFrame.getWidth() / cw);
    resizer.h = Math.round(mResizeFrame.getHeight() / ch);

    // Fix disposition (limits)
    resizer.x = Math.max(resizer.x, 0);
    resizer.y = Math.max(resizer.y, 0);
    resizer.w = Math.min(resizer.w, mCols - resizer.x);
    resizer.h = Math.min(resizer.h, mRows - resizer.y);

    return resizer;
  }