Exemplo n.º 1
0
        /// <summary>
        /// pointing here
        /// </summary>
        /// <param name="dst"></param>
        /// <param name="src"></param>
        /// <returns></returns>
        static public /*float*/ FloatPoint GetRatio(FloatPoint dst, FloatPoint src)
        {
            return(ScaleUtility.pRatio(dst, src, scaleFlags.autoScale));

                        #if nono
            FloatPoint refpoint = src.Clone();
            float      ratio    = 1;
            int        cpr;
start:
            refpoint.X *= ratio;
            refpoint.Y *= ratio;

            cpr = check(refpoint, dst);
            Globe.stat("ref={0},rat={1},ck={2},d={3}", refpoint, ratio, (Comp)cpr, bit.Check(cpr, WIDE));
            System.Threading.Thread.Sleep(1000);
            if (cpr == 0)
            {
                return(ratio);
            }
            if (bit.Check(cpr, WIDE))
            {
                ratio = ratio * (dst.X / refpoint.X);
                Globe.stat("for X: {0}", ratio);
                goto start;
            }
            if (bit.Check(cpr, TALL))
            {
                ratio = ratio * (dst.Y / refpoint.Y);
                Globe.stat("for Y: {0}", ratio);
            }
            goto start;
                        #endif
        }
Exemplo n.º 2
0
        static public FloatPoint Limit(this FloatPoint input, FloatPoint min, FloatPoint max)
        {
            var result = input.Clone();

            result.X = result.X.MinMax(min.X, max.X).ToSingle();
            result.Y = result.Y.MinMax(min.Y, max.Y).ToSingle();
            return(result);
        }
Exemplo n.º 3
0
 public DragNode Clone()
 {
     return(new DragNode()
     {
         anchor = anchor.Clone(),
         controlLeft = controlLeft.Clone(),
         controlRight = controlRight.Clone()
     });
 }