示例#1
0
        public void Rotate(RotationQuad rotation)
        {
            this.m_Rotation = this.Rotation;
            switch (rotation)
            {
            case RotationQuad.X090:
                this.Graphics.TranslateTransform((float)this.CenterX, (float)this.CenterY);
                this.Graphics.RotateTransform(90f);
                this.Graphics.TranslateTransform((float)(-this.CenterY), (float)(-this.CenterX + 1));
                this.SetRectangle(new Rectangle(this.Left, this.Top, this.Height, this.Width));
                break;

            case RotationQuad.X180:
                this.Graphics.TranslateTransform((float)this.CenterX, (float)this.CenterY);
                this.Graphics.RotateTransform(180f);
                this.Graphics.TranslateTransform((float)(-this.CenterX + 1), (float)(-this.CenterY + 1));
                break;

            case RotationQuad.X270:
                this.Graphics.TranslateTransform((float)this.CenterX, (float)this.CenterY);
                this.Graphics.RotateTransform(270f);
                this.Graphics.TranslateTransform((float)(-this.CenterY + 1), (float)(-this.CenterX));
                this.SetRectangle(new Rectangle(this.Left, this.Top, this.Height, this.Width));
                break;
            }
        }
示例#2
0
        protected virtual bool NeedsSizeSwap(RotationQuad value)
        {
            if (value == this.m_Rotation)
            {
                return(false);
            }
            bool flag  = this.m_Rotation == RotationQuad.X000 || this.m_Rotation == RotationQuad.X180;
            bool flag2 = value == RotationQuad.X000 || value == RotationQuad.X180;

            return(flag != flag2);
        }
示例#3
0
        public static Color ToFaceColor(FaceReference side, RotationQuad rotation, bool invert)
        {
            if (side == FaceReference.Flat)
            {
                return(iColors.FaceColorFlat);
            }
            if (invert)
            {
                switch (side)
                {
                case FaceReference.Left:
                    side = FaceReference.Right;
                    break;

                case FaceReference.Top:
                    side = FaceReference.Bottom;
                    break;

                case FaceReference.Right:
                    side = FaceReference.Left;
                    break;

                case FaceReference.Bottom:
                    side = FaceReference.Top;
                    break;
                }
            }
            switch (rotation)
            {
            case RotationQuad.X000:
                switch (side)
                {
                case FaceReference.Left:
                    return(iColors.FaceColorLight);

                case FaceReference.Top:
                    return(iColors.FaceColorLight);

                case FaceReference.Right:
                    return(iColors.FaceColorDark);

                case FaceReference.Bottom:
                    return(iColors.FaceColorDark);
                }
                break;

            case RotationQuad.X090:
                switch (side)
                {
                case FaceReference.Left:
                    return(iColors.FaceColorLight);

                case FaceReference.Top:
                    return(iColors.FaceColorDark);

                case FaceReference.Right:
                    return(iColors.FaceColorDark);

                case FaceReference.Bottom:
                    return(iColors.FaceColorLight);
                }
                break;

            case RotationQuad.X180:
                switch (side)
                {
                case FaceReference.Left:
                    return(iColors.FaceColorDark);

                case FaceReference.Top:
                    return(iColors.FaceColorDark);

                case FaceReference.Right:
                    return(iColors.FaceColorLight);

                case FaceReference.Bottom:
                    return(iColors.FaceColorLight);
                }
                break;

            default:
                switch (side)
                {
                case FaceReference.Left:
                    return(iColors.FaceColorDark);

                case FaceReference.Top:
                    return(iColors.FaceColorLight);

                case FaceReference.Right:
                    return(iColors.FaceColorLight);

                case FaceReference.Bottom:
                    return(iColors.FaceColorDark);
                }
                break;
            }
            return(Color.Black);
        }