Пример #1
0
 private BorderState getMapBorderState(BorderState borderState, Vector2 viewRelativeOrigin, float xLimit, float yLimit)
 {
     return(new BorderState
     {
         LeftBorderReached = borderState.LeftBorderReached && viewRelativeOrigin.x <= 0,
         RightBorderReached = borderState.RightBorderReached && viewRelativeOrigin.x >= xLimit,
         BottomBorderReached = borderState.BottomBorderReached && viewRelativeOrigin.y <= 0,
         TopBorderReached = borderState.TopBorderReached && viewRelativeOrigin.y >= yLimit
     });
 }
Пример #2
0
        public void InsertCss_SpacingPctTest()
        {
            var expected = new CssData();

            expected.AddAttribute(".test", "margin-left", "2%");
            _instance = new BorderState
            {
                Spacing     = 2f,
                SpacingType = WUV.Pct
            };

            _instance.InsertCss(_prefix, 3, _cssData);

            Assert.AreEqual(expected, _cssData);
        }
Пример #3
0
        public AdvancedButton()
        {
            __ENCAddToList(this);
            _currentState       = MouseState.None;
            _currentBorderState = BorderState.None;

            DrawBorders = true;
            ColorScheme = new MainColorScheme();
            Size        = new Size(105, 27);
            ForeColor   = Color.Black;
            Font        = new Font("Segoe UI", 9f);
            SetStyle(ControlStyles.UserPaint | ControlStyles.ResizeRedraw | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true);
            UpdateStyles();
            FixBug();
        }
Пример #4
0
        public void InsertCss_MarginPctTest()
        {
            var expected = new CssData();

            expected.AddAttribute(".test", "padding-right", "5%");
            _instance = new BorderState
            {
                Margin     = 5f,
                MarginType = WUV.Pct
            };

            _instance.InsertCss(_prefix, 1, _cssData);

            Assert.AreEqual(expected, _cssData);
        }
Пример #5
0
        public void InsertCss_SpacingDxaTest()
        {
            var expected = new CssData();

            expected.AddAttribute(".test", "margin-bottom", "0.2pt");
            _instance = new BorderState
            {
                Spacing     = 0.2f,
                SpacingType = WUV.Dxa
            };

            _instance.InsertCss(_prefix, 2, _cssData);

            Assert.AreEqual(expected, _cssData);
        }
Пример #6
0
        public void InsertCss_MarginDxaTest()
        {
            var expected = new CssData();

            expected.AddAttribute(".test", "padding-top", "10.5pt");
            _instance = new BorderState
            {
                Margin     = 10.5f,
                MarginType = WUV.Dxa
            };

            _instance.InsertCss(_prefix, 0, _cssData);

            Assert.AreEqual(expected, _cssData);
        }
Пример #7
0
        public void InsertCss_BorderTest()
        {
            var expected = new CssData();

            expected.AddAttribute(".test", "border-top", "1pt solid #000000");
            _instance = new BorderState
            {
                Thickness = 1,
                Color     = "000000"
            };

            _instance.InsertCss(_prefix, 0, _cssData);

            Assert.AreEqual(expected, _cssData);
        }
Пример #8
0
 public void Start(IWindowsFormsEditorService edSvc, object value)
 {
     this.edSvc = edSvc;
     this.value = value;
     if (value is BorderState)
     {
         this.left.Checked   = ((BorderState)value & BorderState.Left) == BorderState.Left;
         this.top.Checked    = ((BorderState)value & BorderState.Top) == BorderState.Top;
         this.bottom.Checked = ((BorderState)value & BorderState.Bottom) == BorderState.Bottom;
         this.right.Checked  = ((BorderState)value & BorderState.Right) == BorderState.Right;
         this.oldState       = (BorderState)value;
         return;
     }
     this.oldState = (BorderState.Top | BorderState.Left | BorderState.Bottom | BorderState.Right);
 }
Пример #9
0
        public static void RenderBorder(Graphics g, Rectangle r, BorderState state, Color TransparencyKey)
        {
            VisualStyleRenderer captionRenderer;
            VisualStyleRenderer rightFrameRenderer;
            VisualStyleRenderer leftFrameRenderer;
            VisualStyleRenderer bottomFrameRenderer;

            if (state == BorderState.Active)
            {
                captionRenderer     = new VisualStyleRenderer(VisualStyleElement.Window.Caption.Active);
                rightFrameRenderer  = new VisualStyleRenderer(VisualStyleElement.Window.FrameRight.Active);
                leftFrameRenderer   = new VisualStyleRenderer(VisualStyleElement.Window.FrameLeft.Active);
                bottomFrameRenderer = new VisualStyleRenderer(VisualStyleElement.Window.FrameBottom.Active);
            }
            else
            if (state == BorderState.Disabled)
            {
                captionRenderer     = new VisualStyleRenderer(VisualStyleElement.Window.Caption.Inactive);
                rightFrameRenderer  = new VisualStyleRenderer(VisualStyleElement.Window.FrameRight.Inactive);
                leftFrameRenderer   = new VisualStyleRenderer(VisualStyleElement.Window.FrameLeft.Inactive);
                bottomFrameRenderer = new VisualStyleRenderer(VisualStyleElement.Window.FrameBottom.Inactive);
            }
            else
            {
                captionRenderer     = new VisualStyleRenderer(VisualStyleElement.Window.Caption.Inactive);
                rightFrameRenderer  = new VisualStyleRenderer(VisualStyleElement.Window.FrameRight.Inactive);
                leftFrameRenderer   = new VisualStyleRenderer(VisualStyleElement.Window.FrameLeft.Inactive);
                bottomFrameRenderer = new VisualStyleRenderer(VisualStyleElement.Window.FrameBottom.Inactive);
            }

            leftFrameRenderer.DrawBackground(g, new Rectangle(new Point(0, 0), new Size(6, r.Height)));
            rightFrameRenderer.DrawBackground(g, new Rectangle(new Point(r.Width - 6, 0), new Size(6, r.Height)));
            bottomFrameRenderer.DrawBackground(g, new Rectangle(new Point(0, r.Height - 7), new Size(r.Width, 7)));
            captionRenderer.DrawBackground(g, new Rectangle(new Point(0, 0), new Size(r.Width, 30)));

            g.DrawLine(new Pen(TransparencyKey, 1F), new Point(0, 0), new Point(3, 0));
            g.DrawLine(new Pen(TransparencyKey, 1F), new Point(0, 1), new Point(1, 1));
            g.DrawLine(new Pen(TransparencyKey, 1F), new Point(0, 2), new Point(0, 3));

            g.DrawLine(new Pen(TransparencyKey, 1F), new Point(r.Width - 4, 0), new Point(r.Width, 0));
            g.DrawLine(new Pen(TransparencyKey, 1F), new Point(r.Width - 2, 1), new Point(r.Width, 1));
            g.DrawLine(new Pen(TransparencyKey, 1F), new Point(r.Width - 1, 2), new Point(r.Width - 1, 3));
        }
Пример #10
0
        public bool IsActiveState(TerrainType type, ref IState successorState)
        {
            switch (type)
            {
            case TerrainType.Standard:
                return(true);

            case TerrainType.Convex:
                throw new Exception("Illegal Terrain");

            case TerrainType.Wall:
                successorState = new PrimaryState();
                return(true);

            case TerrainType.Concave:
                successorState = new BorderState();
                return(true);
            }
            return(false);
        }
Пример #11
0
        private float getViewModifications(KeyCode key, BorderState viewState, BorderState mapState, float moveValue, float relativeOriginCoordinate, float maxValue)
        {
            //If the camera reached a side of the view and if the end of the map of the same side isn't reached
            if (Input.GetKey(key) && viewState.BorderStateFromKey(key) && !mapState.BorderStateFromKey(key))
            {
                //The origin has to be updated
                _updateView = true;

                int direction = (moveValue < 0) ? -1 : 1;

                //Adjust the modification if we are reaching the an end of the map
                if (relativeOriginCoordinate * direction + moveValue * direction > maxValue)
                {
                    moveValue = (maxValue - relativeOriginCoordinate * direction) * direction;
                }

                return(moveValue);
            }

            return(0);
        }
Пример #12
0
            public void SetValue()
            {
                BorderState borderState = BorderState.None;

                if (left.Checked)
                {
                    borderState |= BorderState.Left;
                }
                if (top.Checked)
                {
                    borderState |= BorderState.Top;
                }
                if (right.Checked)
                {
                    borderState |= BorderState.Right;
                }
                if (bottom.Checked)
                {
                    borderState |= BorderState.Bottom;
                }
                this.value = borderState;
            }
Пример #13
0
        public void DrawBorder(Graphics g, Rectangle rect, BorderStyle style, BorderState state)
        {
            var darkColor  = ColorDarkBackground;
            var lightColor = ColorLightBackground;

            if (style == BorderStyle.Simple || style == BorderStyle.Focus)
            {
                darkColor = ColorVeryDarkBackground;
            }
            else if (style == BorderStyle.Sunken)
            {
                darkColor  = Color.FromArgb(128, ColorDarkBackground);
                lightColor = ColorLightBackground;
            }

            var darkPen  = new Pen(state == BorderState.Disabled ? Color.FromArgb(darkColor.A / 2, darkColor) : darkColor);
            var lightPen = new Pen(state == BorderState.Disabled ? Color.FromArgb(lightColor.A / 2, lightColor) : lightColor);

            if (style == BorderStyle.ContentBox)
            {
                g.DrawRectangle(lightPen, rect.X + 1, rect.Y + 1, rect.Width - 3, rect.Height - 3);
                g.DrawRectangle(darkPen, rect.X, rect.Y, rect.Width - 1, rect.Height - 1);
            }
            else if (style == BorderStyle.Simple)
            {
                g.DrawRectangle(darkPen, rect.X, rect.Y, rect.Width - 1, rect.Height - 1);
            }
            else if (style == BorderStyle.Focus)
            {
                darkPen.DashStyle = DashStyle.Dot;
                g.DrawRectangle(darkPen, rect.X, rect.Y, rect.Width - 1, rect.Height - 1);
            }
            else if (style == BorderStyle.Sunken)
            {
                g.DrawRectangle(lightPen, rect.X + 1, rect.Y + 1, rect.Width - 1, rect.Height - 1);
                g.DrawRectangle(darkPen, rect.X, rect.Y, rect.Width - 1, rect.Height - 1);
            }
        }
Пример #14
0
        void Update()
        {
            //Check if the user tries to move
            if (!Input.anyKey)
            {
                return;
            }

            //Get the camera state
            Camera  mainCamera     = Camera.main;
            Vector3 cameraPosition = mainCamera.transform.position;
            float   cameraSize     = mainCamera.orthographicSize;

            //Get the borders of the camera
            BorderState viewState = getViewBorderState(cameraPosition, cameraSize);

            //Check if the view could have to change
            if (viewState.AnyBorderReached())
            {
                //Assume that the view don't need to change
                _updateView = false;

                //Scale the map limits according to the view mode
                int viewModeScale = (_game.GetViewMode() == View.ViewMode.MAP) ? 1 : 10;

                Vector2 viewRelativeOrigin = _game.GetViewOrigin();
                Vector3 cameraMove         = Vector3.zero;

                //Define the view's origin coordinates max values
                float originXLimit = _mapWidth * viewModeScale - View.VIEW_WIDTH;
                float originYLimit = _mapHeight * viewModeScale - View.VIEW_HEIGHT;

                //Check if any map border is reached
                BorderState mapState = getMapBorderState(viewState, viewRelativeOrigin, originXLimit, originYLimit);

                //Set the camera position modification in X
                float jumpSize  = View.VIEW_WIDTH - 1 - cameraSize * 4;
                float jumpValue = getViewModifications(KeyCode.A, viewState, mapState, -jumpSize, viewRelativeOrigin.x, 0);

                if (jumpValue == 0)
                {
                    jumpValue = getViewModifications(KeyCode.D, viewState, mapState, jumpSize, viewRelativeOrigin.x, originXLimit);
                }

                if (jumpValue != 0)
                {
                    cameraMove.x          = -jumpValue;
                    viewRelativeOrigin.x += jumpValue;
                }

                jumpSize  = View.VIEW_HEIGHT - 1 - cameraSize * 2;
                jumpValue = getViewModifications(KeyCode.S, viewState, mapState, -jumpSize, viewRelativeOrigin.y, 0);

                if (jumpValue == 0)
                {
                    jumpValue = getViewModifications(KeyCode.W, viewState, mapState, jumpSize, viewRelativeOrigin.y, originYLimit);
                }

                if (jumpValue != 0)
                {
                    cameraMove.y          = -jumpValue;
                    viewRelativeOrigin.y += jumpValue;
                }

                if (!_updateView)
                {
                    return;
                }

                mainCamera.transform.position += cameraMove;
                _game.SetViewOrigin(viewRelativeOrigin);

                updateEntities(cameraMove);
            }
        }
Пример #15
0
        public void BorderState_Test()
        {
            var b = new BorderState();

            Assert.AreEqual(BorderValues.Single, b.Style);
        }
		public void DrawBorder(Graphics g, Rectangle rect, BorderStyle style, BorderState state)
		{
			Color darkColor = this.ColorDarkBackground;
			Color lightColor = this.ColorLightBackground;
			
			if (style == BorderStyle.Simple || style == BorderStyle.Focus)
				darkColor = this.ColorVeryDarkBackground;
			else if (style == BorderStyle.Sunken)
			{
				darkColor = Color.FromArgb(128, this.ColorDarkBackground);
				lightColor = this.ColorLightBackground;
			}

			Pen darkPen = new Pen(state == BorderState.Disabled ? Color.FromArgb(darkColor.A / 2, darkColor) : darkColor);
			Pen lightPen = new Pen(state == BorderState.Disabled ? Color.FromArgb(lightColor.A / 2, lightColor) : lightColor);

			if (style == BorderStyle.ContentBox)
			{
				g.DrawRectangle(lightPen, rect.X + 1, rect.Y + 1, rect.Width - 3, rect.Height - 3);
				g.DrawRectangle(darkPen, rect.X, rect.Y, rect.Width - 1, rect.Height - 1);
			}
			else if (style == BorderStyle.Simple)
			{
				g.DrawRectangle(darkPen, rect.X, rect.Y, rect.Width - 1, rect.Height - 1);
			}
			else if (style == BorderStyle.Focus)
			{
				darkPen.DashStyle = DashStyle.Dot;
				g.DrawRectangle(darkPen, rect.X, rect.Y, rect.Width - 1, rect.Height - 1);
			}
			else if (style == BorderStyle.Sunken)
			{
				g.DrawRectangle(lightPen, rect.X + 1, rect.Y + 1, rect.Width - 1, rect.Height - 1);
				g.DrawRectangle(darkPen, rect.X, rect.Y, rect.Width - 1, rect.Height - 1);
			}
		}
Пример #17
0
 public static void AssertBorder(BorderType border, BorderState b, BorderValues style = BorderValues.Single)
 {
     Assert.AreEqual((int)border.Size.Value / 8f, b.Thickness);
     Assert.AreEqual(border.Color.Value, b.Color);
     Assert.AreEqual(style, b.Style);
 }