Beispiel #1
0
        public void SetPosition(BodyOperationPart part, System.Drawing.Point pPosOrBodyOffset)
        {
            switch (part)
            {
            case BodyOperationPart.Body:
            {
                if (m_iFocusJointIndex >= 0)
                {
                    MoveJoint(m_iFocusJointIndex, pPosOrBodyOffset);
                }
            } break;

            case BodyOperationPart.AddJoint:
            {
                var pos = pPosOrBodyOffset;
                //pos.X -= Location.X;
                //pos.Y -= Location.Y;
                AddJoint(pos);
            } break;

            case BodyOperationPart.DelJoint:
            {
                if (m_iFocusJointIndex >= 0)
                {
                    RemoveJoint(m_iFocusJointIndex);
                }
            } break;
            }
        }
Beispiel #2
0
        public void SetPosition(BodyOperationPart part, System.Drawing.Point pPosOrBodyOffset)
        {
            System.Drawing.PointF p = pPosOrBodyOffset;
            p = ParentViewport.GetLocationRate(IsBasedOnBackImageElement, pPosOrBodyOffset, part == BodyOperationPart.Body);
            if (part != BodyOperationPart.Body)
            {
                p.X -= m_BaseTrans.Xr;
                p.Y -= m_BaseTrans.Yr;
            }
            switch (part)
            {
            case BodyOperationPart.CornerLU:
                m_CornerVectorR[0].X = p.X; m_CornerVectorR[0].Y = p.Y; break;

            case BodyOperationPart.CornerRU:
                m_CornerVectorR[1].X = p.X; m_CornerVectorR[1].Y = p.Y; break;

            case BodyOperationPart.CornerRD:
                m_CornerVectorR[2].X = p.X; m_CornerVectorR[2].Y = p.Y; break;

            case BodyOperationPart.CornerLD:
                m_CornerVectorR[3].X = p.X; m_CornerVectorR[3].Y = p.Y; break;

            case BodyOperationPart.Body:
            {
                m_BaseTrans.Xr = p.X;
                m_BaseTrans.Yr = p.Y;
            } break;
            }
        }
 public BodyOperationPart OnMouseMove(System.Drawing.Point pos)
 {
     CurFocusRangeOptPart = BodyOperationPart.Nothing;
     if (pos.X >= 0 && pos.X < Region.Width && pos.Y >= 0 && pos.Y < Region.Height)
     {
         if (pos.X < 4)
             CurFocusRangeOptPart = BodyOperationPart.BorderL;
         else if (pos.X >= Region.Width - 4)
             CurFocusRangeOptPart = BodyOperationPart.BorderR;
         else
             CurFocusRangeOptPart = BodyOperationPart.Body;
     }
     return CurFocusRangeOptPart;
 }
 public TransitionRange OnMouseMove(System.Drawing.Point pos)
 {
     if (pos.X >= 0 && pos.X < Region.Width && pos.Y >= 0 && pos.Y < Region.Height)
     {
         foreach (var tr in Ranges.Values)
         {
             System.Drawing.Point posRel = new System.Drawing.Point((int)(pos.X - tr.Region.X), pos.Y);
             BodyOperationPart    part   = tr.OnMouseMove(posRel);
             if (part != BodyOperationPart.Nothing)
             {
                 return(tr);
             }
         }
     }
     return(null);
 }
 public ElementInfo GetElementInfo(System.Drawing.Point pt, ref BodyOperationPart part)
 {
     for (int i = Elements.Count - 1; i > 0; --i)
     {
         var elm = Elements[i];
         if (!elm.CanSelect)
         {
             continue;
         }
         part = elm.GetPointBodyOprPart(pt);
         if (part != BodyOperationPart.Nothing)
         {
             return(elm);
         }
     }
     part = BodyOperationPart.Nothing;
     return(null);
 }