コード例 #1
0
 /// <summary>
 /// 边框移动,参数均是偏移量
 /// </summary>
 /// <param name="xOff"></param>
 /// <param name="yOff"></param>
 /// <param name="wOff"></param>
 /// <param name="hOff"></param>
 protected override void FrameMove(float xOff, float yOff, float wOff, float hOff)
 {
     DataBk.State   = ControlState.FrameMove;
     DataBk.FixRate = Calculation.GetFixPointRate(xOff, yOff, wOff, hOff);
     NewRect        = Calculation.OffsetRect(DataBk.Rect, xOff, yOff, wOff, hOff);
     SetRect(CalculateOffset());
 }
コード例 #2
0
        public override void BoundMove(float xOff, float yOff, float wOff, float hOff)
        {
            RectangleF rect = IsVector ?
                              BaseBoundMove(xOff, yOff, wOff, hOff) : Calculation.OffsetRect(DataBk.Rect, xOff, yOff, wOff, hOff);

            SetRect(rect);
        }
コード例 #3
0
        /// <summary>
        /// 设置一个固定点,转换矩阵变化后,计算出偏移值,使得固定点的值保持不变
        /// </summary>
        protected RectangleF CalculateOffset()
        {
            bool isBound = (DataBk.State == ControlState.BoundMove);

            PointF oldPoint = Calculation.CalcFixPoint(DataBk, DataBk.FixRate, isBound);
            PointF newPoint = Calculation.CalcFixPoint(this, DataBk.FixRate, isBound);

            float xOff = oldPoint.X - newPoint.X + DataBk.Offset.X;
            float yOff = oldPoint.Y - newPoint.Y + DataBk.Offset.Y;

            return(Calculation.OffsetRect(NewRect, xOff, yOff, 0, 0));
        }
コード例 #4
0
        public override void GroupRotate(float angle, PointF center)
        {
            RectangleF rect = BaseGroupRotate(angle, center);

            float xOff = rect.X - DataBk.Rect.X;
            float yOff = rect.Y - DataBk.Rect.Y;

            _groupInvalidate = true;
            foreach (IDrawObj obj in ObjList)
            {
                ((DrawObj)obj).SetRect(Calculation.OffsetRect(((DrawObj)obj).DataBk.Rect, xOff, yOff, 0, 0));
            }

            LoadGeneratePathEvent();
        }
コード例 #5
0
 /// <summary>
 /// 边框移动
 /// </summary>
 /// <param name="xOff"></param>
 /// <param name="yOff"></param>
 /// <param name="wOff"></param>
 /// <param name="hOff"></param>
 protected virtual void FrameMove(float xOff, float yOff, float wOff, float hOff)
 {
     SetRect(Calculation.OffsetRect(DataBk.Rect, xOff, yOff, wOff, hOff));
 }
コード例 #6
0
 public virtual void MouseMove(PointF point)
 {
     SetRect(Calculation.OffsetRect(DataBk.Rect, point.X - DataBk.MousePos.X, point.Y - DataBk.MousePos.Y, 0, 0));
 }