//生成变形对象 public void generateTransform() { if (currentUnits.Count == 1) { TransformNew = currentUnits[0].getOpreTransForm(); } else { List<RectangleF> rects = new List<RectangleF>(); for (int i = 0; i < currentUnits.Count; i++) { rects.Add(currentUnits[i].getTransformBox()); } RectangleF rectAll = MathUtil.getRectsBox(rects); TransformNew = new Operation_Transform(); TransformNew.posX = rectAll.X + rectAll.Width / 2; TransformNew.posY = rectAll.Y + rectAll.Height / 2; TransformNew.size.Width = rectAll.Width; TransformNew.size.Height = rectAll.Height; TransformOld = (Operation_Transform)(TransformNew.Clone()); } }
public void releaseTransform() { TransformNew = null; }
private void rememberCurrentUnitsCoor(bool updateTransform) { currentUnitsPositions.Clear(); if (currentUnits.Count == 0) { return; } MFrameUnit clip = null; for (int i = 0; i < currentUnits.Count; i++) { if (currentUnits[i] != null) { clip = currentUnits[i]; currentUnitsPositions.Add(new PointF(clip.posX, clip.posY)); } else { Console.WriteLine("error"); } } if (updateTransform) { if (TransformNew != null) { TransformOld = (Operation_Transform)(TransformNew.Clone()); } } }
//更新单一元素的变形对象 public void checkSingleTransform() { if (TransformNew != null) { if (currentUnits.Count == 1) { TransformNew = currentUnits[0].getOpreTransForm(); } } }