private void pResizeControl(float x, float y) {
float height = 0;
float width = 0;
float left = 0;
float top = 0;
if (m_vSelectedKeys.Length == 0) { return; }
m_dataHasChanged = true;
// first we need to modify the control which has its size changed
//
cReportPaintObject w_getPaintObject = m_paint.getPaintObject(m_keySizing);
cReportAspect w_aspect = w_getPaintObject.getAspect();
// orginal size to know how much it has changed
//
height = w_aspect.getHeight();
width = w_aspect.getWidth();
left = w_aspect.getLeft();
top = w_aspect.getTop();
switch (m_moveType) {
case csRptEditorMoveType.CSRPTEDMOVDOWN:
w_aspect.setHeight(y - (w_aspect.getTop() - w_aspect.getOffset()));
break;
case csRptEditorMoveType.CSRPTEDMOVLEFT:
w_aspect.setWidth(w_aspect.getWidth() + w_aspect.getLeft() - x);
w_aspect.setLeft(x);
break;
case csRptEditorMoveType.CSRPTEDMOVRIGHT:
w_aspect.setWidth(x - w_aspect.getLeft());
break;
case csRptEditorMoveType.CSRPTEDMOVUP:
w_aspect.setHeight(w_aspect.getHeight() + (w_aspect.getTop() - w_aspect.getOffset()) - y);
w_aspect.setTop(y + w_aspect.getOffset());
break;
case csRptEditorMoveType.CSRPTEDMOVLEFTDOWN:
w_aspect.setHeight(y - (w_aspect.getTop() - w_aspect.getOffset()));
w_aspect.setWidth(w_aspect.getWidth() + w_aspect.getLeft() - x);
w_aspect.setLeft(x);
break;
case csRptEditorMoveType.CSRPTEDMOVLEFTUP:
w_aspect.setHeight(w_aspect.getHeight() + (w_aspect.getTop() - w_aspect.getOffset()) - y);
w_aspect.setTop(y + w_aspect.getOffset());
w_aspect.setWidth(w_aspect.getWidth() + w_aspect.getLeft() - x);
w_aspect.setLeft(x);
break;
case csRptEditorMoveType.CSRPTEDMOVRIGHTDOWN:
w_aspect.setWidth(x - w_aspect.getLeft());
w_aspect.setHeight(y - (w_aspect.getTop() - w_aspect.getOffset()));
break;
case csRptEditorMoveType.CSRPTEDMOVRIGHTUP:
w_aspect.setHeight(w_aspect.getHeight() + (w_aspect.getTop() - w_aspect.getOffset()) - y);
w_aspect.setTop(y + w_aspect.getOffset());
w_aspect.setWidth(x - w_aspect.getLeft());
break;
}
top = w_aspect.getTop() - top;
left = w_aspect.getLeft() - left;
width = w_aspect.getWidth() - width;
height = w_aspect.getHeight() - height;
pMoveControlAfterResize(w_getPaintObject.getAspect(), true);
for (int i = 0; i < m_vSelectedKeys.Length; i++) {
if (m_keySizing != m_vSelectedKeys[i]) {
w_getPaintObject = m_paint.getPaintObject(m_vSelectedKeys[i]);
w_aspect = w_getPaintObject.getAspect();
w_aspect.setHeight(w_aspect.getHeight() + height);
w_aspect.setTop(w_aspect.getTop() + top);
w_aspect.setWidth(w_aspect.getWidth() + width);
w_aspect.setLeft(w_aspect.getLeft() + left);
pMoveControlAfterResize(w_getPaintObject.getAspect(), false);
}
}
}