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 }); }
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); }
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(); }
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); }
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); }
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); }
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); }
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); }
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)); }
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); }
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); }
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; }
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); } }
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); } }
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); } }
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); }