Exemple #1
0
        //************************************************************************************************
        //
        //************************************************************************************************

        public static Vector2 Resize(float dim, Vector2 src, PRESERVE_ASPECT preserve)
        {
            if (src.x <= 0.0f)
            {
                return(Vector2.zero);
            }

            if (src.y <= 0.0f)
            {
                return(Vector2.zero);
            }

            if (preserve == PRESERVE_ASPECT.DEFAULT)
            {
                return(Vector2.zero);
            }


            float scale = (preserve == PRESERVE_ASPECT.H) ? dim / src.x : dim / src.y;

            float ratio = (preserve == PRESERVE_ASPECT.H) ? src.y / src.x : src.x / src.y;

            float x = (preserve == PRESERVE_ASPECT.H) ? src.x * scale : src.y * scale * ratio;

            float y = (preserve == PRESERVE_ASPECT.W) ? src.y * scale : src.x * scale * ratio;

            return(new Vector2(x, y));
        }
Exemple #2
0
        //************************************************************************************************
        //
        //************************************************************************************************

        public static Vector2 Constrain(Vector2 dst, Vector2 src, PRESERVE_ASPECT preserve = PRESERVE_ASPECT.DEFAULT)
        {
            if (preserve == PRESERVE_ASPECT.DEFAULT)
            {
                if (src.x >= src.y)
                {
                    return(Resize(dst.x, src, PRESERVE_ASPECT.H));
                }

                else
                {
                    return(Resize(dst.y, src, PRESERVE_ASPECT.W));
                }
            }

            return(Resize(dst.y, src, preserve));
        }
Exemple #3
0
        //************************************************************************************************
        //
        //************************************************************************************************

        public static void Constrain(RectTransform dst, Texture src, PRESERVE_ASPECT preserve = PRESERVE_ASPECT.DEFAULT)
        {
            if (dst == null)
            {
                return;
            }

            if (src == null)
            {
                return;
            }

            Vector2 size = CORE.UI.Constrain(new Vector2(dst.rect.width, dst.rect.height), new Vector2(src.width, src.height), preserve);

            Vector2 scale = new Vector2(size.x / dst.rect.width, size.y / dst.rect.height);

            dst.localScale = new Vector3(scale.x, scale.y, 1.0f);
        }