public static string GetStringFromMeetOrSlice(MeetOrSlice meetOrSlice)
        {
            switch(meetOrSlice)
            {
                case MeetOrSlice.Meet:
                    return Meet;
                case MeetOrSlice.Slice:
                    return Slice;
            }

            return Meet;
        }
Example #2
0
        public static string GetStringFromMeetOrSlice(MeetOrSlice meetOrSlice)
        {
            switch (meetOrSlice)
            {
            case MeetOrSlice.Meet:
                return(Meet);

            case MeetOrSlice.Slice:
                return(Slice);
            }

            return(Meet);
        }
Example #3
0
        public static Rect GetViewport(Rect viewport, Rect content, Align viewportAlign = Align.xMidYMid, MeetOrSlice viewportMeetOrSlice = MeetOrSlice.Meet)
        {
            viewport.x -= content.x;
            viewport.y -= content.y;

            if (viewportAlign != Align.None)
            {
                Vector2 sizeRatio = new Vector2(viewport.width / content.width, viewport.height / content.height);
                Vector2 size;
                Vector2 align;
                float   scale;

                switch (viewportMeetOrSlice)
                {
                case MeetOrSlice.Meet:
                    scale  = Mathf.Min(sizeRatio.x, sizeRatio.y);
                    size.x = content.width * scale;
                    size.y = content.height * scale;
                    align  = Getalign(viewport, size, viewportAlign);
                    return(new Rect(align.x, align.y, size.x, size.y));

                case MeetOrSlice.Slice:
                    scale  = Mathf.Max(sizeRatio.x, sizeRatio.y);
                    size.x = content.width * scale;
                    size.y = content.height * scale;
                    align  = Getalign(viewport, size, viewportAlign);
                    return(new Rect(align.x, align.y, size.x, size.y));
                }
            }

            return(viewport);
        }
        public static Rect GetViewport(Rect viewport, Rect content, Align viewportAlign = Align.xMidYMid, MeetOrSlice viewportMeetOrSlice = MeetOrSlice.Meet)
        {
            viewport.x -= content.x;
            viewport.y -= content.y;

            if(viewportAlign != Align.None)
            {
                Vector2 sizeRatio = new Vector2(viewport.width / content.width, viewport.height / content.height);
                Vector2 size;
                Vector2 align;
                float scale;

                switch(viewportMeetOrSlice)
                {
                    case MeetOrSlice.Meet:
                        scale = Mathf.Min(sizeRatio.x, sizeRatio.y);
                        size.x = content.width * scale;
                        size.y = content.height * scale;
                        align = Getalign(viewport, size, viewportAlign);
                        return new Rect(align.x, align.y, size.x, size.y);
                    case MeetOrSlice.Slice:
                        scale = Mathf.Max(sizeRatio.x, sizeRatio.y);
                        size.x = content.width * scale;
                        size.y = content.height * scale;
                        align = Getalign(viewport, size, viewportAlign);
                        return new Rect(align.x, align.y, size.x, size.y);
                }
            }
            
            return viewport;
        }